{
  "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/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-bookings.v1.d.ts",
      "content": "/**\n * [Read more](https://www.wix.com/corvid/reference/wix-bookings.v1.html#)\n */\ndeclare module 'wix-bookings.v1' {\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-bookings-v1.html#resources)\n     */\n    const resources: Resources;\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-bookings-v1.Resources.html#)\n     */\n    interface Resources {\n        /**\n         * Creates a resource.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-v1.Resources.html#createResource)\n         */\n        createResource(resource: Resources.Resource, options: Resources.CreateResourceOptions): Promise<Resources.CreateResourceResponse>;\n        /**\n         * Deletes a resource.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-v1.Resources.html#deleteResource)\n         */\n        deleteResource(_id: string): Promise<Resources.DeleteResourceResponse>;\n        /**\n         * Updates a resource.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-v1.Resources.html#updateResource)\n         */\n        updateResource(_id: string, resource: Resources.UpdateResource): Promise<Resources.UpdateResourceResponse>;\n        /**\n         * Updates a resource's schedule.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-v1.Resources.html#updateSchedule)\n         */\n        updateSchedule(resourceId: string, schedule: Resources.Schedule): Promise<Resources.UpdateScheduleResponse>;\n    }\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-bookings-v1.Resources.html#)\n     */\n    namespace Resources {\n        type Address = {\n            /**\n             * Main address line, usually street and number, as free text.\n             */\n            addressLine?: string;\n            /**\n             * Free text providing more detailed address info. Usually contains Apt, Suite, and Floor.\n             */\n            addressLine2?: string;\n            /**\n             * City name.\n             */\n            city?: string;\n            /**\n             * Country code.\n             */\n            country?: string;\n            /**\n             * Country full name.\n             */\n            countryFullname?: string;\n            /**\n             * A string containing the full address of this location.\n             */\n            formattedAddress?: string;\n            /**\n             * Coordinates of the physical address.\n             */\n            geocode?: Resources.AddressLocation;\n            /**\n             * Free text to help find the address.\n             */\n            hint?: string;\n            /**\n             * Zip/postal code.\n             */\n            postalCode?: string;\n            /**\n             * Street name, number and apartment number.\n             */\n            streetAddress?: Resources.StreetAddress;\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             * Multi-level subdivisions from top to bottom.\n             */\n            subdivisions?: Array<Resources.Subdivision>;\n        };\n        type AddressLocation = {\n            /**\n             * Address latitude.\n             */\n            latitude?: number;\n            /**\n             * Address longitude.\n             */\n            longitude?: number;\n        };\n        type AddressStreetOneOf = {\n            /**\n             * Main address line, usually street and number, as free text.\n             */\n            addressLine?: string;\n            /**\n             * Street name, number and apartment number.\n             */\n            streetAddress?: Resources.StreetAddress;\n        };\n        type Availability = {\n            /**\n             * Constraints for calculating the schedule's availability.\n             */\n            constraints?: Resources.AvailabilityConstraints;\n            /**\n             * Date and time the schedule stops being available for booking. No value indicates no end time.\n             */\n            end?: Date;\n            /**\n             * Other schedules that impact the availability calculation. Relevant only when there are availability constraints.\n             */\n            linkedSchedules?: Array<Resources.LinkedSchedule>;\n            /**\n             * Date and time the schedule starts to be available for booking.\n             */\n            start?: Date;\n        };\n        type 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?: Array<number>;\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             */\n            slotsSplitInterval?: Resources.SplitInterval;\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;\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        type BatchCreateOptions = {\n            /**\n             * Optional. If provided, the resources field is ignored.\n             */\n            batchedResources?: Array<Resources.CreateResourceRequest>;\n            /**\n             * List of resource entities to create.\n             */\n            resources?: Array<Resources.Resource>;\n        };\n        type BatchCreateResourceRequest = {\n            /**\n             * Optional. If provided, the resources field is ignored.\n             */\n            batchedResources?: Array<Resources.CreateResourceRequest>;\n            /**\n             * List of resource entities to create.\n             */\n            resources?: Array<Resources.Resource>;\n        };\n        type BatchCreateResourceResponse = {\n            /**\n             * List of the created resources.\n             */\n            resources?: Array<Resources.Resource>;\n        };\n        type BatchDeleteResourceRequest = {\n            /**\n             * List of resource IDs to delete.\n             */\n            ids: Array<string>;\n        };\n        type BatchDeleteResourceResponse = {};\n        type BatchRequest = {\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?: Array<Resources.CancelScheduleRequest>;\n            /**\n             * Create multiple schedules.\n             */\n            createRequests?: Array<Resources.CreateScheduleRequest>;\n            /**\n             * Update multiple schedules. Not Supported yet.\n             */\n            updateRequests?: Array<Resources.UpdateScheduleRequest>;\n        };\n        type BatchResponse = {\n            /**\n             * Cancelled schedules.\n             */\n            cancelled?: Array<Resources.Schedule>;\n            /**\n             * Created schedules.\n             */\n            created?: Array<Resources.Schedule>;\n            /**\n             * Updated schedules.\n             */\n            updated?: Array<Resources.Schedule>;\n        };\n        type BusinessLocation = {\n            /**\n             * The ID of the business location. Has to be non-empty\n             */\n            locationId?: string;\n        };\n        type BusinessSchedule = {\n            /**\n             * Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods.\n             */\n            periods?: Array<Resources.TimePeriod>;\n            /**\n             * Exceptions to the business's regular hours. The business can be open or closed during the exception.\n             */\n            specialHourPeriod?: Array<Resources.SpecialHourPeriod>;\n        };\n        type CalendarConference = {\n            /**\n             * URL used by a guest to join the conference.\n             */\n            guestUrl?: string;\n            /**\n             * URL used by the host to start the conference.\n             */\n            hostUrl?: string;\n        };\n        type CancelScheduleRequest = {\n            /**\n             * Time to cancel the sessions from. Optional. If this field is empty, all of this schedule's sessions will be canceled.\n             */\n            from?: Date;\n            /**\n             * Deprecated, use participant_notification\n             */\n            notifyParticipants?: boolean;\n            /**\n             * Whether to notify participants about the change, and an optional custom message.\n             */\n            participantNotification?: Resources.ParticipantNotification;\n            /**\n             * Whether to preserve future sessions with reservations. Defaults to false.\n             */\n            preserveFutureSessionsWithParticipants?: boolean;\n            /**\n             * Schedule ID.\n             */\n            scheduleId?: string;\n        };\n        type ConferenceProvider = {\n            /**\n             * Conferencing provider ID\n             */\n            providerId?: string;\n        };\n        type 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?: Array<Resources.Schedule>;\n        };\n        type CreateResourceRequest = {\n            /**\n             * Resource to create.\n             */\n            resource: Resources.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?: Array<Resources.Schedule>;\n        };\n        type CreateResourceResponse = {\n            /**\n             * Created resource.\n             */\n            resource?: Resources.Resource;\n        };\n        type CreateScheduleRequest = {\n            /**\n             * Schedule.\n             */\n            schedule?: Resources.Schedule;\n        };\n        type CursorPaging = {\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;\n            /**\n             * Number of items to load.\n             */\n            limit?: number;\n        };\n        type Cursors = {\n            /**\n             * Cursor pointing to next page in the list of results.\n             */\n            next?: string;\n            /**\n             * Cursor pointing to previous page in the list of results.\n             */\n            prev?: string;\n        };\n        type DeleteResourceRequest = {\n            /**\n             * ID of the resource to delete.\n             */\n            _id: string;\n        };\n        type DeleteResourceResponse = {\n            /**\n             * Deleted resource ID.\n             */\n            _id?: string;\n        };\n        type ExternalCalendarOverrides = {\n            /**\n             * Synced description of the external calendar event.\n             */\n            description?: string;\n            /**\n             * Synced title of the external calendar event.\n             */\n            title?: string;\n        };\n        type Frequency = {\n            /**\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             */\n            repetition?: number;\n        };\n        type Interval = {\n            /**\n             * The day the interval accrue. Optional. The default is the day of the recurring interval's start time.\n             */\n            daysOfWeek?: string;\n            /**\n             * The duration of the interval in minutes. Required. Part of the session end time calculation. minimum: 1, maximum: 86400.\n             */\n            duration?: number;\n            /**\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             */\n            hourOfDay?: number;\n            /**\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             */\n            minuteOfHour?: number;\n        };\n        type LinkResourceToUserRequest = {\n            /**\n             * The id of the resource to link.\n             */\n            resourceId: string;\n            /**\n             * The id of Wix user to link.\n             */\n            userId: string;\n        };\n        type LinkResourceToUserResponse = {\n            /**\n             * The updated resource.\n             */\n            resource?: Resources.Resource;\n        };\n        type LinkedSchedule = {\n            /**\n             * Schedule ID.\n             */\n            scheduleId?: string;\n            /**\n             * Owner ID, of the linked schedule.\n             */\n            scheduleOwnerId?: string;\n            /**\n             * Sets this schedule's availability for the duration of the linked schedule's sessions.  Default is `\"BUSY\"`.\n             *\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             *\n             *\n             */\n            transparency?: string;\n        };\n        type ListOptions = {\n            query?: Resources.Query;\n        };\n        type ListResourcesRequest = {\n            query?: Resources.Query;\n        };\n        type ListResourcesResponse = {\n            metadata?: Resources.QueryMetaData;\n            pagingMetadata?: Resources.PagingMetadataV2;\n            /**\n             * List of resources matching the query object.\n             */\n            resources?: Array<Resources.Resource>;\n        };\n        type Location = {\n            /**\n             * Free text address used when locationType is `OWNER_CUSTOM`.\n             */\n            address?: string;\n            /**\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             */\n            customAddress?: Resources.Address;\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?: string;\n        };\n        type LocationsAddress = {\n            /**\n             * City name.\n             */\n            city?: 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             * Full address of the location.\n             */\n            formatted?: string;\n            /**\n             * Geographic coordinates of location.\n             */\n            location?: Resources.LocationsAddressLocation;\n            /**\n             * Postal or zip code.\n             */\n            postalCode?: string;\n            /**\n             * Street address. Includes street name, number, and apartment number in separate fields.\n             */\n            streetAddress?: Resources.LocationsStreetAddress;\n            /**\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             */\n            subdivision?: string;\n        };\n        type LocationsAddressLocation = {\n            /**\n             * Latitude of the location. Must be between -90 and 90.\n             */\n            latitude?: number;\n            /**\n             * Longitude of the location. Must be between -180 and 180.\n             */\n            longitude?: number;\n        };\n        type LocationsLocation = {\n            /**\n             * Location ID.\n             */\n            _id?: string;\n            /**\n             * Address.\n             */\n            address?: Resources.LocationsAddress;\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             */\n            archived?: boolean;\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?: Resources.BusinessSchedule;\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             */\n            default?: boolean;\n            /**\n             * Location description.\n             */\n            description?: string;\n            /**\n             * Email address.\n             */\n            email?: string;\n            /**\n             * Fax number.\n             */\n            fax?: string;\n            /**\n             * Location type.\n             *\n             * **Note:** Currently not supported.\n             */\n            locationType?: string;\n            /**\n             * Location name.\n             */\n            name?: string;\n            /**\n             * Phone number.\n             */\n            phone?: string;\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;\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?: string;\n            /**\n             * Timezone in `America/New_York` format.\n             */\n            timeZone?: string;\n        };\n        type LocationsStreetAddress = {\n            /**\n             * Apartment number.\n             */\n            apt?: string;\n            /**\n             * Street name.\n             */\n            name?: string;\n            /**\n             * Street number.\n             */\n            number?: string;\n        };\n        type Paging = {\n            /**\n             * Number of items to load.\n             */\n            limit?: number;\n            /**\n             * Number of items to skip in the current sort order.\n             */\n            offset?: number;\n        };\n        type PagingMetadataV2 = {\n            /**\n             * Number of items returned in the response.\n             */\n            count?: number;\n            /**\n             * Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used.\n             */\n            cursors?: Resources.Cursors;\n            /**\n             * Offset that was requested.\n             */\n            offset?: number;\n            /**\n             * Flag that indicates the server failed to calculate the `total` field.\n             */\n            tooManyToCount?: boolean;\n            /**\n             * Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set.\n             */\n            total?: number;\n        };\n        type Participant = {\n            /**\n             * Participant ID. Currently represents the booking.id.\n             */\n            _id?: string;\n            /**\n             * Approval status for the participant.\n             *\n             *\n             */\n            approvalStatus?: string;\n            /**\n             * Contact ID.\n             */\n            contactId?: string;\n            /**\n             * Participant's email address.\n             */\n            email?: string;\n            /**\n             * Whether the participant was inherited from the schedule, as opposed to being booked directly to the session.\n             */\n            inherited?: boolean;\n            /**\n             * Participant's name.\n             */\n            name?: string;\n            /**\n             * Group or party size. The number of people attending. Defaults to 0. Maximum is 250.\n             */\n            partySize?: number;\n            /**\n             * Participant's phone number.\n             */\n            phone?: string;\n        };\n        type ParticipantNotification = {\n            /**\n             * Custom message to send to the participants about the changes to the booking.\n             */\n            message?: string;\n            /**\n             * Whether to send the message about the changes to the customer.\n             *\n             * Default: `false`\n             */\n            notifyParticipants?: boolean;\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        type Query = {\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             */\n            fields?: Array<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             */\n            fieldsets?: Array<string>;\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             * Paging options to limit and skip the number of items.\n             */\n            paging?: Resources.Paging;\n            /**\n             * Sort object in the following format:\n             * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n             */\n            sort?: Array<Resources.Sorting>;\n        };\n        type QueryMetaData = {\n            items?: number;\n            offset?: number;\n            totalCount?: number;\n        };\n        type QueryResourcesOptions = {\n            query?: Resources.QueryV2;\n        };\n        type QueryResourcesRequest = {\n            query?: Resources.QueryV2;\n        };\n        type QueryResourcesResponse = {\n            pagingMetadata?: Resources.PagingMetadataV2;\n            /**\n             * List of resources matching the query object.\n             */\n            resources?: Array<Resources.Resource>;\n        };\n        type QueryV2 = {\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             */\n            cursorPaging?: Resources.CursorPaging;\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             */\n            fields?: Array<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             */\n            fieldsets?: Array<string>;\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?: Object;\n            /**\n             * Paging options to limit and skip the number of items.\n             */\n            paging?: Resources.Paging;\n            /**\n             * Sort object in the following format:\n             * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n             */\n            sort?: Array<Resources.Sorting>;\n        };\n        type QueryV2PagingMethodOneOf = {\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             */\n            cursorPaging?: Resources.CursorPaging;\n            /**\n             * Paging options to limit and skip the number of items.\n             */\n            paging?: Resources.Paging;\n        };\n        type 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, Resources.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;\n        };\n        type RecurringInterval = {\n            /**\n             * The recurring interval identifier.\n             */\n            _id?: string;\n            /**\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             */\n            affectedSchedules?: Array<Resources.LinkedSchedule>;\n            /**\n             * The end time of the recurring interval. Optional. Empty value indicates that there is no end time.\n             */\n            end?: Date;\n            /**\n             * The frequency of the interval. Optional. The default is frequency with the default repetition.\n             */\n            frequency?: Resources.Frequency;\n            /**\n             * The interval rules. The day, hour and minutes the interval is recurring.\n             */\n            interval?: Resources.Interval;\n            /**\n             * The type of recurring interval.\n             *\n             */\n            intervalType?: string;\n            /**\n             * The start time of the recurring interval. Required.\n             */\n            start?: Date;\n        };\n        type Resource = {\n            /**\n             * Resource ID.\n             */\n            _id?: string;\n            /**\n             * Resource description.\n             */\n            description?: string;\n            /**\n             * Resource email address.\n             */\n            email?: string;\n            /**\n             * Resource images.\n             */\n            images?: Array<string>;\n            /**\n             * Resource name.\n             */\n            name?: string;\n            /**\n             * Resource phone number.\n             */\n            phone?: string;\n            /**\n             * List of IDs of schedules owned by this resource.\n             */\n            scheduleIds?: Array<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            status?: 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?: Array<string>;\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             *\n             */\n            wixUserId?: string;\n        };\n        type ResourceNotification = {\n            /**\n             * Event type.\n             */\n            event?: string;\n            /**\n             * Updated resource entity.\n             * 'resource.schedules' is deprecated and will not be returned. Please use 'resource.scheduleIds' instead.\n             */\n            resource?: Resources.Resource;\n        };\n        type ResourceUpdateScheduleRequest = {\n            /**\n             * Fieldmask for schedule\n             */\n            fieldmask?: Array<string>;\n            /**\n             * Resource ID to update.\n             */\n            resourceId: string;\n            /**\n             * Schedule to update.\n             */\n            schedule?: Resources.Schedule;\n        };\n        type Schedule = {\n            /**\n             * Schedule ID.\n             */\n            _id?: string;\n            /**\n             * A conference created for the schedule. This is used when a participant is added to a schedule.\n             */\n            calendarConference?: Resources.CalendarConference;\n            /**\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             */\n            capacity?: number;\n            /**\n             * Schedule creation date.\n             */\n            created?: Date;\n            /**\n             * Fields which were inherited from the Business Info page under Settings in the Dashboard.\n             */\n            inheritedFields?: Array<string>;\n            /**\n             * Default location for the schedule's sessions.\n             */\n            location?: Resources.Location;\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             */\n            participants?: Array<Resources.Participant>;\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             * Schedule status.\n             *\n             * One of:\n             * - `\"CREATED\"`\n             * - `\"CANCELLED\"`\n             *\n             * Default: `\"CREATED\"`\n             */\n            status?: string;\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?: Array<string>;\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             */\n            timeZone?: string;\n            /**\n             * Default title for the schedule's sessions. Maximum length: 6000 characters.\n             */\n            title?: string;\n            /**\n             * Number of participants registered to sessions in this schedule, calculated as the sum of the party sizes.\n             */\n            totalNumberOfParticipants?: number;\n            /**\n             * Schedule last update date.\n             */\n            updated?: Date;\n            /**\n             * Schedule version number, updated each time the schedule is updated.\n             */\n            version?: number;\n        };\n        type Sorting = {\n            /**\n             * Name of the field to sort by.\n             */\n            fieldName?: string;\n            /**\n             * Sort order.\n             */\n            order?: string;\n        };\n        type SpecialHourPeriod = {\n            /**\n             * Additional info about the exception. For example, \"We close earlier on New Year's Eve.\"\n             */\n            comment?: string;\n            /**\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             */\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            /**\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             */\n            startDate?: string;\n        };\n        type 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;\n            /**\n             * Number of minutes between available slots' start times when `same_as_duration` is `false`.\n             */\n            valueInMinutes?: number;\n        };\n        type StreetAddress = {\n            /**\n             * Apartment number.\n             */\n            apt?: string;\n            /**\n             * Street name.\n             */\n            name?: string;\n            /**\n             * Street number.\n             */\n            number?: string;\n        };\n        type Subdivision = {\n            /**\n             * Subdivision code. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2).\n             */\n            code?: string;\n            /**\n             * Subdivision full name.\n             */\n            name?: string;\n        };\n        type TimePeriod = {\n            /**\n             * Day of the week the period ends on.\n             */\n            closeDay?: string;\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             * Day of the week the period starts on.\n             */\n            openDay?: string;\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        };\n        type UnLinkResourceFromOwnerRequest = {\n            /**\n             * The id of the resource to unlink.\n             */\n            resourceId: string;\n        };\n        type UnLinkResourceFromOwnerResponse = {\n            /**\n             * The updated resource.\n             */\n            resource?: Resources.Resource;\n        };\n        type UpdateResource = {\n            /**\n             * Resource ID.\n             */\n            _id?: string;\n            /**\n             * Resource description.\n             */\n            description?: string;\n            /**\n             * Resource email address.\n             */\n            email?: string;\n            /**\n             * Resource images.\n             */\n            images?: Array<string>;\n            /**\n             * Resource name.\n             */\n            name?: string;\n            /**\n             * Resource phone number.\n             */\n            phone?: string;\n            /**\n             * List of IDs of schedules owned by this resource.\n             */\n            scheduleIds?: Array<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            status?: 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?: Array<string>;\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             *\n             */\n            wixUserId?: string;\n        };\n        type UpdateResourceOptions = {};\n        type UpdateResourceRequest = {\n            /**\n             * Field mask of fields to update.\n             */\n            fieldMask?: Array<string>;\n            /**\n             * Resource to update.\n             */\n            resource?: Resources.Resource;\n        };\n        type UpdateResourceResponse = {\n            /**\n             * Updated resource.\n             */\n            resource?: Resources.Resource;\n            /**\n             * Updated schedules.\n             */\n            schedules?: Resources.BatchResponse;\n        };\n        type UpdateScheduleOptions = {};\n        type UpdateScheduleRequest = {\n            /**\n             * Optional. Defaults to false. In case of updated intervals' start time, this field indicates whether to align those interval's time exceptions.\n             */\n            alignTimeExceptions?: boolean;\n            /**\n             * Field mask of fields to update.\n             */\n            fieldMask?: Array<string>;\n            /**\n             * Deprecated, use participant_notification.\n             */\n            notifyParticipants?: boolean;\n            /**\n             * Whether to notify participants about the change, and an optional custom message.\n             */\n            participantNotification?: Resources.ParticipantNotification;\n            /**\n             * Schedule.\n             */\n            schedule?: Resources.Schedule;\n        };\n        type UpdateScheduleResponse = {\n            /**\n             * Updated schedule.\n             */\n            schedule?: Resources.Schedule;\n        };\n        type Version = {\n            /**\n             * Participants version number, updated each time the schedule participants are updated.\n             */\n            participantsVersion?: number;\n            /**\n             * Schedule version number, updated each time the schedule is updated.\n             */\n            scheduleVersion?: number;\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-forum-backend.d.ts",
      "content": "/**\n * The wix-forum-backend module contains functionality for working with\n *  your site's [forum](https://support.wix.com/en/article/wix-forum-about-wix-forum).\n * \t[Read more](https://www.wix.com/corvid/reference/wix-forum-backend.html#)\n */\ndeclare module 'wix-forum-backend' {\n    /**\n     * Events that are fired from a Wix Forum.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-forum-backend.Events.html#)\n     */\n    interface Events {\n        /**\n         * A backend event that fires when a new forum category is created.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-forum-backend.Events.html#onCategoryCreated)\n         */\n        onCategoryCreated(event: Events.CreatedCategory): void;\n        /**\n         * A backend event that fires when a forum category is deleted.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-forum-backend.Events.html#onCategoryDeleted)\n         */\n        onCategoryDeleted(event: Events.DeletedCategory): void;\n        /**\n         * A backend event that fires when a forum category is updated.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-forum-backend.Events.html#onCategoryUpdated)\n         */\n        onCategoryUpdated(event: Events.UpdatedCategory): void;\n        /**\n         * A backend event that fires when a new forum comment is created.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-forum-backend.Events.html#onCommentCreated)\n         */\n        onCommentCreated(event: Events.CreatedComment): void;\n        /**\n         * A backend event that fires when a forum comment is deleted.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-forum-backend.Events.html#onCommentDeleted)\n         */\n        onCommentDeleted(event: Events.DeletedComment): void;\n        /**\n         * A backend event that fires when a forum comment is downvoted.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-forum-backend.Events.html#onCommentDownvoted)\n         */\n        onCommentDownvoted(event: Events.DownvotedComment): void;\n        /**\n         * A backend event that fires when a forum comment is liked.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-forum-backend.Events.html#onCommentLiked)\n         */\n        onCommentLiked(event: Events.LikedComment): void;\n        /**\n         * A backend event that fires when a forum comment is marked as best.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-forum-backend.Events.html#onCommentMarkedAsBest)\n         */\n        onCommentMarkedAsBest(event: Events.MarkedAsBestComment): void;\n        /**\n         * A backend event that fires when a forum comment is reported.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-forum-backend.Events.html#onCommentReported)\n         */\n        onCommentReported(event: Events.ReportedComment): void;\n        /**\n         * A backend event that fires when a forum comment is unliked.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-forum-backend.Events.html#onCommentUnliked)\n         */\n        onCommentUnliked(event: Events.UnlikedComment): void;\n        /**\n         * A backend event that fires when a forum comment is unmarked as best.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-forum-backend.Events.html#onCommentUnmarkedAsBest)\n         */\n        onCommentUnmarkedAsBest(event: Events.UnmarkedAsBestComment): void;\n        /**\n         * A backend event that fires when a vote is removed from a forum comment.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-forum-backend.Events.html#onCommentUnvoted)\n         */\n        onCommentUnvoted(event: Events.UnvotedComment): void;\n        /**\n         * A backend event that fires when a forum comment is updated.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-forum-backend.Events.html#onCommentUpdated)\n         */\n        onCommentUpdated(event: Events.UpdatedComment): void;\n        /**\n         * A backend event that fires when a forum comment is upvoted.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-forum-backend.Events.html#onCommentUpvoted)\n         */\n        onCommentUpvoted(event: Events.UpvotedComment): void;\n        /**\n         * A backend event that fires when a forum post is closed.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-forum-backend.Events.html#onPostClosed)\n         */\n        onPostClosed(event: Events.ClosedPost): void;\n        /**\n         * A backend event that fires when a new forum post is created.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-forum-backend.Events.html#onPostCreated)\n         */\n        onPostCreated(event: Events.CreatedPost): void;\n        /**\n         * A backend event that fires when a forum post is deleted.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-forum-backend.Events.html#onPostDeleted)\n         */\n        onPostDeleted(event: Events.DeletedPost): void;\n        /**\n         * A backend event that fires when a forum post is liked.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-forum-backend.Events.html#onPostLiked)\n         */\n        onPostLiked(event: Events.LikedPost): void;\n        /**\n         * A backend event that fires when a forum post is moved.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-forum-backend.Events.html#onPostMoved)\n         */\n        onPostMoved(event: Events.MovedPost): void;\n        /**\n         * A backend event that fires when a forum post is opened.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-forum-backend.Events.html#onPostOpened)\n         */\n        onPostOpened(event: Events.OpenedPost): void;\n        /**\n         * A backend event that fires when a forum post is pinned.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-forum-backend.Events.html#onPostPinned)\n         */\n        onPostPinned(event: Events.PinnedPost): void;\n        /**\n         * A backend event that fires when a forum post is reported.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-forum-backend.Events.html#onPostReported)\n         */\n        onPostReported(event: Events.ReportedPost): void;\n        /**\n         * A backend event that fires when a forum post is unliked.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-forum-backend.Events.html#onPostUnliked)\n         */\n        onPostUnliked(event: Events.UnlikedPost): void;\n        /**\n         * A backend event that fires when a forum post is unpinned.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-forum-backend.Events.html#onPostUnpinned)\n         */\n        onPostUnpinned(event: Events.UnpinnedPost): void;\n        /**\n         * A backend event that fires when a forum post is updated.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-forum-backend.Events.html#onPostUpdated)\n         */\n        onPostUpdated(event: Events.UpdatedPost): void;\n    }\n    /**\n     * Events that are fired from a Wix Forum.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-forum-backend.Events.html#)\n     */\n    namespace Events {\n        /**\n         * An object representing a forum category.\n         */\n        type Category = {\n            /**\n             * Category ID.\n             */\n            _id: string;\n            /**\n             * Category name. Appears on the forum home page and in the navigation menu.\n             */\n            name: string;\n            /**\n             * Category header title. Appears in the category page header.\n             */\n            headerTitle: string;\n            /**\n             * Short description of the category.\n             */\n            description: string;\n            /**\n             * Type of header background.\n             * One of the following:\n             *\n             *  + `\"IMAGE\"`: Category header background is an image.\n             *  + `\"COLOR\"`: Category header background is a color.\n             *\n             *\n             * The default value is `\"COLOR\"`.\n             */\n            headerType: string;\n            /**\n             * Category header background [image source](https://www.wix.com/velo/reference/$w/image/src). Applicable only if `headerType` is an image.\n             */\n            headerImage: string;\n            /**\n             * Forum category header image overlay color. Applicable only when `headerType` is `\"IMAGE\"`.\n             */\n            headerImageOverlayColor: Events.Color;\n            /**\n             * Forum category header background color.\n             */\n            headerBackgroundColor: Events.Color;\n            /**\n             * Forum category header text color.\n             */\n            headerTextColor: Events.Color;\n            /**\n             * Position in the list of categories on the forum home page. `0` indicates the first category.\n             */\n            rank: number;\n            /**\n             * Relative URL of the category page.\n             */\n            pageUrl: string;\n            /**\n             * URL-friendly name of the category that is unique across the forum.\n             */\n            slug: string;\n            /**\n             * Number of posts in the category.\n             */\n            postCount: number;\n            /**\n             * Total views of all posts in the category.\n             */\n            postViewCount: number;\n            /**\n             * Only admins and moderators can post in this category.\n             */\n            writeProtected: boolean;\n            /**\n             * Date and time the category was created.\n             */\n            _createdDate: Date;\n            /**\n             * Date and time the category was last updated.\n             */\n            _updatedDate: Date;\n            /**\n             * Type of category.\n             * One of the following:\n             *\n             *\n             *  + `\"DISCUSSION\"`: Conversational discussion with other members.\n             *  + `\"QUESTION\"`: Specific question with answers from the community.\n             */\n            categoryType: string;\n        };\n        /**\n         * An object representing a post that was closed.\n         */\n        type ClosedPost = {\n            /**\n             * Post ID.\n             */\n            postId: string;\n        };\n        /**\n         * An object representing a color used in a forum header.\n         */\n        type Color = {\n            /**\n             * Hexadecimal rgb color value.\n             */\n            color: string;\n            /**\n             * Opacity percentage as a decimal between 0 and 1.\n             */\n            opacity: number;\n        };\n        /**\n         * An object representing a forum comment.\n         */\n        type Comment = {\n            /**\n             * Comment ID.\n             */\n            _id: string;\n            /**\n             * ID of the post commented on.\n             */\n            postId: string;\n            /**\n             * ID of the comment author.\n             */\n            _ownerId: string;\n            /**\n             * Plain text of the comment.\n             */\n            plainContent: string;\n            /**\n             * Number of replies to the comment.\n             */\n            replyCount: number;\n            /**\n             * Number of likes the comment received.\n             */\n            likeCount: number;\n            /**\n             * Number of upvotes the comment received. Only applicable to comments on posts with a `postType` value of `\"QUESTION\"`.\n             */\n            upvoteCount: number;\n            /**\n             * Number of downvotes the comment received. Only applicable to comments on posts with a `postType` value of `\"QUESTION\"`.\n             */\n            downvoteCount: number;\n            /**\n             * Number of upvotes subtracted by the number of downvotes. May be a negative number. Only applicable to comments on posts with a `postType` value of `\"QUESTION\"`.\n             */\n            score: number;\n            /**\n             * Date and time the comment was created.\n             */\n            _createdDate: Date;\n            /**\n             * Date and time the comment was last edited.\n             */\n            _editedDate: Date;\n            /**\n             * Date and time of the last activity performed on the comment.\n             */\n            _lastActivityDate: Date;\n            /**\n             * Relative URL of the post page containing the comment.\n             */\n            pageUrl: string;\n        };\n        /**\n         * An object representing a category that was created.\n         */\n        type CreatedCategory = {\n            /**\n             * Category ID.\n             */\n            categoryId: string;\n            /**\n             * Forum category that was created.\n             */\n            category: Events.Category;\n        };\n        /**\n         * An object representing a comment that was created.\n         */\n        type CreatedComment = {\n            /**\n             * Comment ID.\n             */\n            commentId: string;\n            /**\n             * Forum comment that was created.\n             */\n            comment: Events.Comment;\n        };\n        /**\n         * An object representing a post that was created.\n         */\n        type CreatedPost = {\n            /**\n             * Post ID.\n             */\n            postId: string;\n            /**\n             * Forum post that was created.\n             */\n            post: Events.Post;\n        };\n        /**\n         * An object representing a category that was deleted.\n         */\n        type DeletedCategory = {\n            /**\n             * Category ID.\n             */\n            categoryId: string;\n        };\n        /**\n         * An object representing a comment that was deleted.\n         */\n        type DeletedComment = {\n            /**\n             * Comment ID.\n             */\n            commentId: string;\n        };\n        /**\n         * An object representing a post that was deleted.\n         */\n        type DeletedPost = {\n            /**\n             * Post ID.\n             */\n            postId: string;\n        };\n        /**\n         * An object representing a comment that was downvoted.\n         */\n        type DownvotedComment = {\n            /**\n             * Comment ID.\n             */\n            commentId: string;\n        };\n        /**\n         * An object representing a comment that was liked.\n         */\n        type LikedComment = {\n            /**\n             * Comment ID.\n             */\n            commentId: string;\n        };\n        /**\n         * An object representing a post that was liked.\n         */\n        type LikedPost = {\n            /**\n             * Post ID.\n             */\n            postId: string;\n        };\n        /**\n         * An object representing a comment that was marked as best.\n         */\n        type MarkedAsBestComment = {\n            /**\n             * Comment ID.\n             */\n            commentId: string;\n        };\n        /**\n         * An object representing a post that was moved to a different category.\n         */\n        type MovedPost = {\n            /**\n             * Post ID.\n             */\n            postId: string;\n            /**\n             * ID of the category the post moved from.\n             */\n            previousCategoryId: string;\n            /**\n             * ID of the category the post moved to.\n             */\n            currentCategoryId: string;\n        };\n        /**\n         * An object representing a post that was opened.\n         */\n        type OpenedPost = {\n            /**\n             * Post ID.\n             */\n            postId: string;\n        };\n        /**\n         * An object representing a post that was pinned.\n         */\n        type PinnedPost = {\n            /**\n             * Post ID.\n             */\n            postId: string;\n        };\n        /**\n         * An object representing a forum post.\n         */\n        type Post = {\n            /**\n             * Post ID.\n             */\n            _id: string;\n            /**\n             * ID of the post author.\n             */\n            _ownerId: string;\n            /**\n             * ID of the category the post belongs to.\n             */\n            categoryId: string;\n            /**\n             * Post title.\n             */\n            title: string;\n            /**\n             * Plain text of the post.\n             */\n            plainContent: string;\n            /**\n             * Whether the post is pinned. Only forum admins can pin and unpin posts.\n             */\n            pinned: boolean;\n            /**\n             * Whether comments are disabled for the post (the post was closed).\n             */\n            commentingDisabled: boolean;\n            /**\n             * Number of comments on the post.\n             */\n            commentCount: number;\n            /**\n             * Number of likes the post received.\n             */\n            likeCount: number;\n            /**\n             * Number of times the post was viewed.\n             */\n            viewCount: number;\n            /**\n             * Date and time the post was created.\n             */\n            _createdDate: Date;\n            /**\n             * Date and time the post was last edited.\n             */\n            _editedDate: Date;\n            /**\n             * Date and time of the last activity performed on the post.\n             */\n            _lastActivityDate: Date;\n            /**\n             * Relative URL of the post page.\n             */\n            pageUrl: string;\n            /**\n             * URL-friendly name of the post that is unique across the forum.\n             */\n            slug: string;\n            /**\n             * Type of post.\n             * One of the following:\n             *\n             *\n             *  + `\"DISCUSSION\"`: Conversational discussion with other members.\n             *  + `\"QUESTION\"`: Specific question with answers from the community.\n             */\n            postType: string;\n            /**\n             * ID of comment marked as best answer to the post question. Applicable only for posts with a `postType` of `\"QUESTION\"`.\n             */\n            bestAnswerCommentId: string;\n        };\n        /**\n         * An object representing a comment that was reported.\n         */\n        type ReportedComment = {\n            /**\n             * Comment ID.\n             */\n            commentId: string;\n            /**\n             * Type of report.\n             * One of the following:\n             *\n             *\n             *  + `\"OFFENSIVE_CONTENT\"`: Content that is offensive.\n             *  + `\"OFFENSIVE_MEDIA\"`: Media content that is offensive.\n             *  + `\"SPAM\"`: Comments with unrelated or unwanted information.\n             */\n            reportType: string;\n        };\n        /**\n         * An object representing a post that was reported.\n         */\n        type ReportedPost = {\n            /**\n             * Post ID.\n             */\n            postId: string;\n            /**\n             * Type of report.\n             * One of the following:\n             *\n             *\n             *  + `\"OFFENSIVE_CONTENT\"`: Content that is offensive.\n             *  + `\"OFFENSIVE_MEDIA\"`: Media content that is offensive.\n             *  + `\"SPAM\"`: Posts with unrelated or unwanted information.\n             */\n            reportType: string;\n        };\n        /**\n         * An object representing a comment that was unliked.\n         */\n        type UnlikedComment = {\n            /**\n             * Comment ID.\n             */\n            commentId: string;\n        };\n        /**\n         * An object representing a post that was unliked.\n         */\n        type UnlikedPost = {\n            /**\n             * Post ID.\n             */\n            postId: string;\n        };\n        /**\n         * An object representing a comment that was marked as best.\n         */\n        type UnmarkedAsBestComment = {\n            /**\n             * Comment ID.\n             */\n            commentId: string;\n        };\n        /**\n         * An object representing a post that was unpinned.\n         */\n        type UnpinnedPost = {\n            /**\n             * Post ID.\n             */\n            postId: string;\n        };\n        /**\n         * An object representing a comment that was unvoted.\n         */\n        type UnvotedComment = {\n            /**\n             * Comment ID.\n             */\n            commentId: string;\n        };\n        /**\n         * An object representing a category that was updated.\n         */\n        type UpdatedCategory = {\n            /**\n             * Category ID.\n             */\n            categoryId: string;\n            /**\n             * Forum category that was updated.\n             */\n            category: Events.Category;\n        };\n        /**\n         * An object representing a comment that was updated.\n         */\n        type UpdatedComment = {\n            /**\n             * Comment ID.\n             */\n            commentId: string;\n            /**\n             * Forum comment that was updated.\n             */\n            comment: Events.Comment;\n        };\n        /**\n         * An object representing a post that was updated.\n         */\n        type UpdatedPost = {\n            /**\n             * Post ID.\n             */\n            postId: string;\n            /**\n             * Forum post that was updated.\n             */\n            post: Events.Post;\n        };\n        /**\n         * An object representing a comment that was upvoted.\n         */\n        type UpvotedComment = {\n            /**\n             * Comment ID.\n             */\n            commentId: string;\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-notifications.v2.d.ts",
      "content": "/**\n * [Read more](https://www.wix.com/corvid/reference/wix-notifications.v2.html#)\n */\ndeclare module 'wix-notifications.v2' {\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-notifications-v2.html#notifications)\n     */\n    const notifications: Notifications;\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-notifications-v2.Notifications.html#)\n     */\n    interface Notifications {\n        /**\n         * Sends a notification.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-notifications-v2.Notifications.html#notify)\n         */\n        notify(body: string, channels: Array<string>, options: Notifications.NotifyOptions): Promise<void>;\n    }\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-notifications-v2.Notifications.html#)\n     */\n    namespace Notifications {\n        type Empty = {};\n        type NotifyOptions = {\n            /**\n             * Clickable text that links to the `targetUrl` or `targetDashboardPage`. For example, \"Click this!\".\n             *\n             * Max: 512 characters\n             */\n            action?: string;\n            /**\n             * URL of Dashboard page to navigate to when the `action` text is clicked.\n             */\n            targetDashboardPage?: string;\n            /**\n             * URL to navigate to when the `action` text is clicked.\n             */\n            targetUrl?: string;\n            /**\n             * Notification title. Only displayed on mobile and browser notifications.\n             *\n             * Max: 512 characters\n             */\n            title?: string;\n            /**\n             * List of contacts to notify.\n             */\n            toContacts?: Notifications.ToContacts;\n            /**\n             * List of site contributors to notify.\n             */\n            toSiteContributors?: Notifications.ToSiteContributors;\n            /**\n             * Notify contacts who are subscribed to specific topics.\n             */\n            toTopicsSubscribers?: Notifications.ToTopicsSubscribers;\n        };\n        type PublicNotifyRequest = {\n            /**\n             * Clickable text that links to the `targetUrl` or `targetDashboardPage`. For example, \"Click this!\".\n             *\n             * Max: 512 characters\n             */\n            action?: string;\n            /**\n             * Contents of the notification.\n             *\n             * Max: 512 characters\n             */\n            body?: string;\n            /**\n             * The channels to send the notification on. One or more of:\n             *\n             * - `\"Mobile\"`: Sends the notification to the Wix App.\n             * - `\"Dashboard\"`: Sends the notification to the contributor's Wix Dashboard.\n             * - `\"Browser\"`: Sends the notification to the contributor's browser.\n             */\n            channels?: Array<string>;\n            /**\n             * URL of Dashboard page to navigate to when the `action` text is clicked.\n             */\n            targetDashboardPage?: string;\n            /**\n             * URL to navigate to when the `action` text is clicked.\n             */\n            targetUrl?: string;\n            /**\n             * Notification title. Only displayed on mobile and browser notifications.\n             *\n             * Max: 512 characters\n             */\n            title?: string;\n            /**\n             * List of contacts to notify.\n             */\n            toContacts?: Notifications.ToContacts;\n            /**\n             * List of site contributors to notify.\n             */\n            toSiteContributors?: Notifications.ToSiteContributors;\n            /**\n             * Notify contacts who are subscribed to specific topics.\n             */\n            toTopicsSubscribers?: Notifications.ToTopicsSubscribers;\n        };\n        type PublicNotifyRequestActionTargetOneOf = {\n            /**\n             * URL of Dashboard page to navigate to when the `action` text is clicked.\n             */\n            targetDashboardPage?: string;\n            /**\n             * URL to navigate to when the `action` text is clicked.\n             */\n            targetUrl?: string;\n        };\n        type PublicNotifyRequestRecipientsFilterOneOf = {\n            /**\n             * List of contacts to notify.\n             */\n            toContacts?: Notifications.ToContacts;\n            /**\n             * List of site contributors to notify.\n             */\n            toSiteContributors?: Notifications.ToSiteContributors;\n            /**\n             * Notify contacts who are subscribed to specific topics.\n             */\n            toTopicsSubscribers?: Notifications.ToTopicsSubscribers;\n        };\n        type Public_notification = {\n            /**\n             * id\n             */\n            _id?: string;\n        };\n        type ToContacts = {\n            /**\n             * List of contact IDs.\n             */\n            contactIds?: Array<string>;\n        };\n        type ToSiteContributors = {\n            /**\n             * Roles to receive the notification. One of:\n             *\n             * - `\"All_Contributors\"`: All site contributors (default).\n             * - `\"Owner\"`: Only the site owner.\n             */\n            withRole?: string;\n        };\n        type ToTopicsSubscribers = {\n            /**\n             * List of contact IDs to exclude from notification.\n             */\n            excludedContactIds?: Array<string>;\n            /**\n             * List of topics.\n             */\n            topics?: Array<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-secrets-backend.v2.d.ts",
      "content": "/**\n * [Read more](https://www.wix.com/corvid/reference/wix-secrets-backend.v2.html#)\n */\ndeclare module 'wix-secrets-backend.v2' {\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-secrets-backend-v2.html#secrets)\n     */\n    const secrets: Secrets;\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-secrets-backend-v2.Secrets.html#)\n     */\n    interface Secrets {\n        /**\n         * Creates a new secret.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-secrets-backend-v2.Secrets.html#createSecret)\n         */\n        createSecret(secret: Secrets.Secret): Promise<Secrets.CreateSecretResponse>;\n        /**\n         * Deletes an existing secret by ID.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-secrets-backend-v2.Secrets.html#deleteSecret)\n         */\n        deleteSecret(_id: string): Promise<void>;\n        /**\n         * Retrieves the secret value specified by the secret name.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-secrets-backend-v2.Secrets.html#getSecretValue)\n         */\n        getSecretValue(name: string): Promise<Secrets.GetSecretValueResponse>;\n        /**\n         * Retrieves a list of objects containing information about all secrets.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-secrets-backend-v2.Secrets.html#listSecretInfo)\n         */\n        listSecretInfo(): Promise<Secrets.ListSecretInfoResponse>;\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-v2.Secrets.html#updateSecret)\n         */\n        updateSecret(_id: string, secret: Secrets.Secret): Promise<void>;\n    }\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-secrets-backend-v2.Secrets.html#)\n     */\n    namespace Secrets {\n        type CreateSecretRequest = {\n            /**\n             * The object including the fields of a new secret.\n             */\n            secret: Secrets.Secret;\n        };\n        type CreateSecretResponse = {\n            /**\n             * The globally-unique ID assigned to the secret.\n             */\n            _id?: string;\n        };\n        type DeleteSecretRequest = {\n            /**\n             * The unique ID of the secret to be deleted.\n             */\n            _id: string;\n        };\n        type DeleteSecretResponse = {};\n        type GetSecretValueRequest = {\n            /**\n             * The name of the secret to get the value of.\n             */\n            name: string;\n        };\n        type GetSecretValueResponse = {\n            /**\n             * The plaintext, unencrypted value of the secret.\n             */\n            value?: string;\n        };\n        type ListSecretInfoRequest = {};\n        type ListSecretInfoResponse = {\n            /**\n             * Object containing information for each secret.\n             */\n            secrets?: Array<Secrets.Secret>;\n        };\n        type Secret = {\n            /**\n             * The date and time the secreted was created.\n             */\n            _createdDate?: Date;\n            /**\n             * The secret's unique ID.\n             */\n            _id?: string;\n            /**\n             * The date and time the secret was last updated.\n             */\n            _updatedDate?: Date;\n            /**\n             * An optional text describing the secret's purpose or any other notes about it.\n             */\n            description?: string;\n            /**\n             * A unique, meaningful name used for retrieving the secret at runtime with the [`getSecretValue()`](#getsecretvalue) function. You can use alphanumeric characters and the following special characters: `_+=-@#$`. Spaces are not supported.\n             */\n            name?: string;\n        };\n        type UpdateSecretRequest = {\n            /**\n             * The unique ID of the secret to be updated.\n             */\n            _id: string;\n            /**\n             * The secret fields to update.\n             */\n            secret: Secrets.Secret;\n        };\n        type UpdateSecretResponse = {};\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-table-reservations.v2.d.ts",
      "content": "/**\n * [Read more](https://www.wix.com/corvid/reference/wix-table-reservations.v2.html#)\n */\ndeclare module 'wix-table-reservations.v2' {\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.html#reservationLocations)\n     */\n    const reservationLocations: ReservationLocations;\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.html#reservations)\n     */\n    const reservations: Reservations;\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.html#timeSlots)\n     */\n    const timeSlots: TimeSlots;\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Events.html#)\n     */\n    interface Events {\n        /**\n         * Triggered when a held reservation is created.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Events.html#onReservationCreated)\n         */\n        onReservationCreated(event: Events.tableReservationsV1ReservationReservationCreated): void;\n        /**\n         * Triggered when a reservation location is updated.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Events.html#onReservationLocationCreated)\n         */\n        onReservationLocationCreated(event: Events.tableReservationsV1ReservationLocationReservationLocationCreated): void;\n        /**\n         * Triggered when a reservation location is updated.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Events.html#onReservationLocationUpdated)\n         */\n        onReservationLocationUpdated(event: Events.tableReservationsV1ReservationLocationReservationLocationUpdated): void;\n        /**\n         * Triggered when a reservation is canceled.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Events.html#onReservationUpdated)\n         */\n        onReservationUpdated(event: Events.tableReservationsV1ReservationReservationUpdated): void;\n    }\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.ReservationLocations.html#)\n     */\n    interface ReservationLocations {\n        /**\n         * Retrieves a reservation location by ID.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.ReservationLocations.html#getReservationLocation)\n         */\n        getReservationLocation(reservationLocationId: string, options: ReservationLocations.GetReservationLocationOptions): Promise<ReservationLocations.ReservationLocation>;\n        /**\n         * Retrieves a list of up to 100 reservation locations.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.ReservationLocations.html#listReservationLocations)\n         */\n        listReservationLocations(options: ReservationLocations.ListReservationLocationsOptions): Promise<ReservationLocations.ListReservationLocationsResponse>;\n        /**\n         * Creates a query to retrieve a list of reservation locations.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.ReservationLocations.html#queryReservationLocations)\n         */\n        queryReservationLocations(options: ReservationLocations.QueryReservationLocationsOptions): ReservationLocations.ReservationLocationsQueryBuilder;\n        /**\n         * Updates a reservation location. Supports partial updates.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.ReservationLocations.html#updateReservationLocation)\n         */\n        updateReservationLocation(_id: string, reservationLocation: ReservationLocations.UpdateReservationLocation): Promise<ReservationLocations.ReservationLocation>;\n    }\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.html#)\n     */\n    interface Reservations {\n        /**\n         * Cancels a reservation.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.html#cancelReservation)\n         */\n        cancelReservation(reservationId: string, revision: string, options: Reservations.CancelReservationOptions): Promise<Reservations.CancelReservationResponse>;\n        /**\n         * Creates a new temporary reservation and holds it for the customer for 10 minutes.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.html#createHeldReservation)\n         */\n        createHeldReservation(reservationDetails: Reservations.HeldReservationDetails): Promise<Reservations.CreateHeldReservationResponse>;\n        /**\n         * Creates a new reservation.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.html#createReservation)\n         */\n        createReservation(reservation: Reservations.Reservation, options: Reservations.CreateReservationOptions): Promise<Reservations.Reservation>;\n        /**\n         * Retrieves a reservation.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.html#getReservation)\n         */\n        getReservation(reservationId: string, options: Reservations.GetReservationOptions): Promise<Reservations.Reservation>;\n        /**\n         * Retrieves a list of up to 100 reservations.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.html#listReservations)\n         */\n        listReservations(options: Reservations.ListReservationsOptions): Promise<Reservations.ListReservationsResponse>;\n        /**\n         * Creates a query to retrieve a list of reservations.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.html#queryReservations)\n         */\n        queryReservations(): Reservations.ReservationsQueryBuilder;\n        /**\n         * Reserves or requests a held reservation.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.html#reserveReservation)\n         */\n        reserveReservation(reservationId: string, reservee: Reservations.Reservee, revision: string): Promise<Reservations.ReserveReservationResponse>;\n        /**\n         * Updates a reservation.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.html#updateReservation)\n         */\n        updateReservation(_id: string, reservation: Reservations.UpdateReservation, options: Reservations.UpdateReservationOptions): Promise<Reservations.Reservation>;\n    }\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.TimeSlots.html#)\n     */\n    interface TimeSlots {\n        /**\n         * Returns a list of time slots at a given restaurant on a given `date`, and their availability for a given `partySize`.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.TimeSlots.html#getTimeSlots)\n         */\n        getTimeSlots(reservationLocationId: string, date: Date, partySize: number, options: TimeSlots.GetTimeSlotsOptions): Promise<TimeSlots.GetTimeSlotsResponse>;\n    }\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Events.html#)\n     */\n    namespace Events {\n        type tableReservationsV1ReservationActionEvent = {\n            bodyAsJson?: string;\n        };\n        type tableReservationsV1ReservationAggregation = {\n            dateHistogram?: Events.tableReservationsV1ReservationDateHistogramAggregation;\n            fieldPath?: string;\n            groupBy?: Events.tableReservationsV1ReservationGroupByAggregation;\n            name?: string;\n            nested?: Events.tableReservationsV1ReservationNestedAggregation;\n            range?: Events.tableReservationsV1ReservationRangeAggregation;\n            scalar?: Events.tableReservationsV1ReservationScalarAggregation;\n            /**\n             * Supported values:\n             * - `'DATE_HISTOGRAM'`\n             * - `'NESTED'`\n             * - `'RANGE'`\n             * - `'SCALAR'`\n             * - `'UNKNOWN_AGGREGATION_TYPE'`\n             * - `'VALUE'`\n             */\n            type?: string;\n            value?: Events.tableReservationsV1ReservationValueAggregation;\n        };\n        type tableReservationsV1ReservationAggregationData = {\n            /**\n             * key = aggregation name (as derived from search request)\n             */\n            results?: Array<Events.tableReservationsV1ReservationAggregationResults>;\n        };\n        type tableReservationsV1ReservationAggregationKindOneOf = {\n            dateHistogram?: Events.tableReservationsV1ReservationDateHistogramAggregation;\n            nested?: Events.tableReservationsV1ReservationNestedAggregation;\n            range?: Events.tableReservationsV1ReservationRangeAggregation;\n            scalar?: Events.tableReservationsV1ReservationScalarAggregation;\n            value?: Events.tableReservationsV1ReservationValueAggregation;\n        };\n        type tableReservationsV1ReservationAggregationResults = {\n            dateHistogram?: Events.tableReservationsV1ReservationDateHistogramResults;\n            fieldPath?: string;\n            groupedByValue?: Events.tableReservationsV1ReservationGroupByValueResults;\n            name?: string;\n            nested?: Events.tableReservationsV1ReservationNestedResults;\n            ranges?: Events.tableReservationsV1ReservationRangeResults;\n            scalar?: Events.tableReservationsV1ReservationScalarResult;\n            /**\n             * Supported values:\n             * - `'DATE_HISTOGRAM'`\n             * - `'NESTED'`\n             * - `'RANGE'`\n             * - `'SCALAR'`\n             * - `'UNKNOWN_AGGREGATION_TYPE'`\n             * - `'VALUE'`\n             */\n            type?: string;\n            values?: Events.tableReservationsV1ReservationValueResults;\n        };\n        type tableReservationsV1ReservationAggregationResultsResultOneOf = {\n            dateHistogram?: Events.tableReservationsV1ReservationDateHistogramResults;\n            groupedByValue?: Events.tableReservationsV1ReservationGroupByValueResults;\n            nested?: Events.tableReservationsV1ReservationNestedResults;\n            ranges?: Events.tableReservationsV1ReservationRangeResults;\n            scalar?: Events.tableReservationsV1ReservationScalarResult;\n            values?: Events.tableReservationsV1ReservationValueResults;\n        };\n        type tableReservationsV1ReservationBackendEventMetadata = {\n            /**\n             * ID of the entity associated with the event.\n             */\n            entityId: string;\n            /**\n             * Event timestamp.\n             */\n            eventTime: string;\n            /**\n             * Event ID.\n             */\n            id: 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        type tableReservationsV1ReservationCancelReservationRequest = {\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;\n            /**\n             * Reservation ID.\n             */\n            reservationId: string;\n            /**\n             * Revision number.\n             *\n             * Include the existing `revision` to prevent conflicting updates to reservations.\n             */\n            revision: string;\n        };\n        type tableReservationsV1ReservationCancelReservationResponse = {\n            /**\n             * Reservation.\n             */\n            reservation?: Events.tableReservationsV1ReservationReservation;\n        };\n        type tableReservationsV1ReservationCreateHeldReservationRequest = {\n            /**\n             * Held reservation information to update.\n             */\n            reservationDetails: Events.tableReservationsV1ReservationHeldReservationDetails;\n        };\n        type tableReservationsV1ReservationCreateHeldReservationResponse = {\n            /**\n             * Reservation.\n             */\n            reservation?: Events.tableReservationsV1ReservationReservation;\n        };\n        type tableReservationsV1ReservationCreateReservationRequest = {\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?: Array<string>;\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?: Array<string>;\n            /**\n             * Reservation details.\n             */\n            reservation: Events.tableReservationsV1ReservationReservation;\n        };\n        type tableReservationsV1ReservationCreateReservationResponse = {\n            /**\n             * Reservation.\n             */\n            reservation?: Events.tableReservationsV1ReservationReservation;\n        };\n        type tableReservationsV1ReservationCursorPaging = {\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;\n            /**\n             * Number of items to load.\n             */\n            limit?: number;\n        };\n        type tableReservationsV1ReservationCursorPagingMetadata = {\n            /**\n             * Number of items returned in the response.\n             */\n            count?: number;\n            /**\n             * Offset that was requested.\n             */\n            cursors?: Events.tableReservationsV1ReservationCursors;\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;\n        };\n        type tableReservationsV1ReservationCursorQuery = {\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             */\n            cursorPaging?: Events.tableReservationsV1ReservationCursorPaging;\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?: Object;\n            /**\n             * Sort object in the following format:\n             * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n             */\n            sort?: Array<Events.tableReservationsV1ReservationSorting>;\n        };\n        type tableReservationsV1ReservationCursorQueryPagingMethodOneOf = {\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             */\n            cursorPaging?: Events.tableReservationsV1ReservationCursorPaging;\n        };\n        type tableReservationsV1ReservationCursorSearch = {\n            /**\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             */\n            aggregations?: Array<Events.tableReservationsV1ReservationAggregation>;\n            /**\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             */\n            cursorPaging?: Events.tableReservationsV1ReservationCursorPaging;\n            /**\n             * A filter object. See the filter section [here](https://dev.wix.com/docs/rnd-general/articles/p13n-guidelines-aips/guidance-aips/wix-api-basics/1011-wql-wix-query-language)\n             */\n            filter?: Object;\n            /**\n             * free text to match in searchable fields\n             */\n            search?: Events.tableReservationsV1ReservationSearchDetails;\n            /**\n             * Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]\n             */\n            sort?: Array<Events.tableReservationsV1ReservationSorting>;\n        };\n        type tableReservationsV1ReservationCursorSearchPagingMethodOneOf = {\n            /**\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             */\n            cursorPaging?: Events.tableReservationsV1ReservationCursorPaging;\n        };\n        type tableReservationsV1ReservationCursors = {\n            /**\n             * Cursor pointing to next page in the list of results.\n             */\n            next?: string;\n            /**\n             * Cursor pointing to previous page in the list of results.\n             */\n            prev?: string;\n        };\n        type tableReservationsV1ReservationDateHistogramAggregation = {\n            /**\n             * Supported values:\n             * - `'DAY'`\n             * - `'HOUR'`\n             * - `'MINUTE'`\n             * - `'MONTH'`\n             * - `'SECOND'`\n             * - `'UNKNOWN_INTERVAL'`\n             * - `'WEEK'`\n             * - `'YEAR'`\n             */\n            interval?: string;\n        };\n        type tableReservationsV1ReservationDateHistogramResult = {\n            count?: number;\n            value?: string;\n        };\n        type tableReservationsV1ReservationDateHistogramResults = {\n            results?: Array<Events.tableReservationsV1ReservationDateHistogramResult>;\n        };\n        type tableReservationsV1ReservationDeleteReservationRequest = {\n            /**\n             * Reservation ID.\n             */\n            reservationId: string;\n            revision?: string;\n        };\n        type tableReservationsV1ReservationDeleteReservationResponse = {};\n        type tableReservationsV1ReservationDetails = {\n            /**\n             * End date and time of the reservation.\n             */\n            endDate?: Date;\n            /**\n             * Party size.\n             */\n            partySize?: number;\n            /**\n             * ID of the reservation location at which this reservation will be made.\n             */\n            reservationLocationId?: string;\n            /**\n             * Start date and time of the reservation.\n             */\n            startDate?: Date;\n            /**\n             * IDs of tables used for this reservation.\n             */\n            tableIds?: Array<string>;\n        };\n        type tableReservationsV1ReservationDomainEvent = {\n            /**\n             * Unique event ID.\n             * Allows clients to ignore duplicate webhooks.\n             */\n            _id?: string;\n            actionEvent?: Events.tableReservationsV1ReservationActionEvent;\n            createdEvent?: Events.tableReservationsV1ReservationEntityCreatedEvent;\n            deletedEvent?: Events.tableReservationsV1ReservationEntityDeletedEvent;\n            /**\n             * A sequence number defining the order of updates to the underlying entity.\n             * For example, given that some entity was updated at 16:00 and than again at 16:01,\n             * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n             * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n             * To do so, you will need to persist this number on your end, and compare the sequence number from the\n             * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n             */\n            entityEventSequence?: string;\n            /**\n             * Assumes actions are also always typed to an entity_type\n             * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n             */\n            entityFqdn?: string;\n            /**\n             * ID of the entity associated with the event.\n             */\n            entityId?: string;\n            /**\n             * Event timestamp.\n             */\n            eventTime?: Date;\n            /**\n             * If present, indicates the action that triggered the event.\n             */\n            originatedFrom?: string;\n            /**\n             * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n             * This is although the 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             * Whether the event was triggered as a result of a privacy regulation application\n             * (for example, GDPR).\n             */\n            triggeredByAnonymizeRequest?: boolean;\n            updatedEvent?: Events.tableReservationsV1ReservationEntityUpdatedEvent;\n        };\n        type tableReservationsV1ReservationDomainEventBodyOneOf = {\n            actionEvent?: Events.tableReservationsV1ReservationActionEvent;\n            createdEvent?: Events.tableReservationsV1ReservationEntityCreatedEvent;\n            deletedEvent?: Events.tableReservationsV1ReservationEntityDeletedEvent;\n            updatedEvent?: Events.tableReservationsV1ReservationEntityUpdatedEvent;\n        };\n        type tableReservationsV1ReservationEmpty = {};\n        type tableReservationsV1ReservationEntityCreatedEvent = {\n            entityAsJson?: string;\n        };\n        type tableReservationsV1ReservationEntityDeletedEvent = {\n            /**\n             * Entity that was deleted\n             */\n            deletedEntityAsJson?: string;\n        };\n        type tableReservationsV1ReservationEntityUpdatedEvent = {\n            /**\n             * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n             * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n             * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n             */\n            currentEntityAsJson?: string;\n        };\n        type tableReservationsV1ReservationGetReservationRequest = {\n            /**\n             * Array of named, predefined sets of projected fields to be returned.\n             *\n             * - `PUBLIC`: Returns `id`, `status`, `details.reservationLocationId`, `details.startDate`, `details.endDate`, `details.partySize`, `createdDate`, `revision`, `declineReason`.\n             * `configuration.reservationForm.customFieldDefinitions`, `configuration.reservationForm.lastNameRequired`, `configuration.reservationForm.emailRequired`, `configuration.reservationForm.emailMarketingCheckbox`.\n             * - `FULL`: Returns all fields.\n             *\n             * Default: If `fields` is omitted from the request, `PUBLIC`.\n             */\n            fieldsets?: Array<string>;\n            /**\n             * Reservation ID.\n             */\n            reservationId: string;\n        };\n        type tableReservationsV1ReservationGetReservationResponse = {\n            /**\n             * Reservation.\n             */\n            reservation?: Events.tableReservationsV1ReservationReservation;\n        };\n        type tableReservationsV1ReservationGroupByAggregation = {\n            fieldPath?: string;\n            name?: string;\n            value?: Events.tableReservationsV1ReservationValueAggregation;\n        };\n        type tableReservationsV1ReservationGroupByAggregationKindOneOf = {\n            value?: Events.tableReservationsV1ReservationValueAggregation;\n        };\n        type tableReservationsV1ReservationGroupByValueResults = {\n            results?: Array<Events.tableReservationsV1ReservationNestedValueAggregationResult>;\n        };\n        type tableReservationsV1ReservationHeldReservationDetails = {\n            /**\n             * Party size.\n             */\n            partySize?: number;\n            /**\n             * ID of the reservation location where the reservation is made.\n             */\n            reservationLocationId?: string;\n            /**\n             * Start date and time of the reservation.\n             */\n            startDate?: Date;\n        };\n        type tableReservationsV1ReservationIncludeMissingValuesOptions = {\n            /**\n             * can specify custom bucket name. Defaults are [string -> \"N/A\"], [int -> \"0\"], [bool -> \"false\"] ...\n             */\n            addToBucket?: string;\n        };\n        type tableReservationsV1ReservationListReservationsRequest = {\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             */\n            paging?: Events.tableReservationsV1ReservationCursorPaging;\n            /**\n             * Defines how reservations in the response are sorted.\n             */\n            sort?: Events.tableReservationsV1ReservationSorting;\n            /**\n             * Only reservations starting after this date are returned.\n             */\n            startDateFrom?: Date;\n            /**\n             * Only reservations starting before this date are returned.\n             */\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?: string;\n        };\n        type tableReservationsV1ReservationListReservationsResponse = {\n            /**\n             * Metadata for the paginated results.\n             */\n            pagingMetadata?: Events.tableReservationsV1ReservationCursorPagingMetadata;\n            /**\n             * List of reservations.\n             */\n            reservations?: Array<Events.tableReservationsV1ReservationReservation>;\n        };\n        type tableReservationsV1ReservationLocationActionEvent = {\n            bodyAsJson?: string;\n        };\n        type tableReservationsV1ReservationLocationAddress = {\n            /**\n             * City name.\n             */\n            city?: 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             * Full address of the location.\n             */\n            formatted?: string;\n            /**\n             * Geographic coordinates of the location.\n             */\n            location?: Events.tableReservationsV1ReservationLocationAddressLocation;\n            /**\n             * Postal or zip code.\n             */\n            postalCode?: string;\n            /**\n             * Street address of the location. Includes street name, number, and apartment number in separate fields.\n             */\n            streetAddress?: Events.tableReservationsV1ReservationLocationStreetAddress;\n            /**\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             */\n            subdivision?: string;\n        };\n        type tableReservationsV1ReservationLocationAddressLocation = {\n            /**\n             * Latitude of the location. Must be between -90 and 90.\n             */\n            latitude?: number;\n            /**\n             * Longitude of the location. Must be between -180 and 180.\n             */\n            longitude?: number;\n        };\n        type tableReservationsV1ReservationLocationApp = {\n            /**\n             * The AppDefId\n             */\n            appDefId?: string;\n            /**\n             * The instance Id\n             */\n            instanceId?: string;\n        };\n        type tableReservationsV1ReservationLocationAsset = {\n            /**\n             * An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum).\n             */\n            appDefId?: string;\n            /**\n             * An instance id. For legacy reasons may be UUID or a string.\n             */\n            instanceId?: string;\n            /**\n             * An application state.\n             */\n            state?: string;\n        };\n        type tableReservationsV1ReservationLocationAssignedFromFloatingReason = {};\n        type tableReservationsV1ReservationLocationBackendEventMetadata = {\n            /**\n             * ID of the entity associated with the event.\n             */\n            entityId: string;\n            /**\n             * Event timestamp.\n             */\n            eventTime: string;\n            /**\n             * Event ID.\n             */\n            id: 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        type tableReservationsV1ReservationLocationBooleanFeature = {};\n        type tableReservationsV1ReservationLocationBusinessSchedule = {\n            periods?: Array<Events.tableReservationsV1ReservationLocationTimePeriod>;\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?: Array<Events.tableReservationsV1ReservationLocationSpecialHourPeriod>;\n        };\n        type tableReservationsV1ReservationLocationCancelRequestedReason = {};\n        type tableReservationsV1ReservationLocationCheckReservationLocationsCreatedRequest = {};\n        type tableReservationsV1ReservationLocationCheckReservationLocationsCreatedResponse = {\n            /**\n             * Reservation locations created.\n             */\n            created?: boolean;\n        };\n        type tableReservationsV1ReservationLocationConfiguration = {\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?: Array<Events.tableReservationsV1ReservationLocationMyReservationsField>;\n            /**\n             * Settings for this location that are used to determine restaurant availability for reservations made online.\n             */\n            onlineReservations?: Events.tableReservationsV1ReservationLocationOnlineReservations;\n            /**\n             * Reservation form settings.\n             */\n            reservationForm?: Events.tableReservationsV1ReservationLocationReservationForm;\n            /**\n             * Table management settings.\n             */\n            tableManagement?: Events.tableReservationsV1ReservationLocationTableManagement;\n        };\n        type tableReservationsV1ReservationLocationContractSwitchedReason = {};\n        type tableReservationsV1ReservationLocationCursorPaging = {\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;\n            /**\n             * Number of items to load.\n             */\n            limit?: number;\n        };\n        type tableReservationsV1ReservationLocationCursorPagingMetadata = {\n            /**\n             * Number of items returned in the response.\n             */\n            count?: number;\n            /**\n             * Offset that was requested.\n             */\n            cursors?: Events.tableReservationsV1ReservationLocationCursors;\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;\n        };\n        type tableReservationsV1ReservationLocationCursors = {\n            /**\n             * Cursor pointing to next page in the list of results.\n             */\n            next?: string;\n            /**\n             * Cursor pointing to previous page in the list of results.\n             */\n            prev?: string;\n        };\n        type tableReservationsV1ReservationLocationCustomFieldDefinition = {\n            /**\n             * Custom field ID.\n             */\n            _id?: string;\n            /**\n             * Custom field name.\n             */\n            name?: string;\n            /**\n             * Whether the custom field is required.\n             *\n             * Default: `false`\n             */\n            required?: boolean;\n        };\n        type tableReservationsV1ReservationLocationDeleteContext = {\n            /**\n             * When the meta site was deleted.\n             */\n            dateDeleted?: Date;\n            /**\n             * A reason (flow).\n             */\n            deleteOrigin?: string;\n            /**\n             * A status.\n             */\n            deleteStatus?: string;\n            /**\n             * A service that deleted it.\n             */\n            initiatorId?: string;\n        };\n        type tableReservationsV1ReservationLocationDeleteOrphanReservationLocationRequest = {\n            /**\n             * Id of the ReservationLocation.\n             */\n            reservationLocationId?: string;\n        };\n        type tableReservationsV1ReservationLocationDeleteOrphanReservationLocationResponse = {};\n        type tableReservationsV1ReservationLocationDomainEvent = {\n            /**\n             * Unique event ID.\n             * Allows clients to ignore duplicate webhooks.\n             */\n            _id?: string;\n            actionEvent?: Events.tableReservationsV1ReservationLocationActionEvent;\n            createdEvent?: Events.tableReservationsV1ReservationLocationEntityCreatedEvent;\n            deletedEvent?: Events.tableReservationsV1ReservationLocationEntityDeletedEvent;\n            /**\n             * A sequence number defining the order of updates to the underlying entity.\n             * For example, given that some entity was updated at 16:00 and than again at 16:01,\n             * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n             * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n             * To do so, you will need to persist this number on your end, and compare the sequence number from the\n             * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n             */\n            entityEventSequence?: string;\n            /**\n             * Assumes actions are also always typed to an entity_type\n             * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n             */\n            entityFqdn?: string;\n            /**\n             * ID of the entity associated with the event.\n             */\n            entityId?: string;\n            /**\n             * Event timestamp.\n             */\n            eventTime?: Date;\n            /**\n             * If present, indicates the action that triggered the event.\n             */\n            originatedFrom?: string;\n            /**\n             * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n             * This is although the 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             * Whether the event was triggered as a result of a privacy regulation application\n             * (for example, GDPR).\n             */\n            triggeredByAnonymizeRequest?: boolean;\n            updatedEvent?: Events.tableReservationsV1ReservationLocationEntityUpdatedEvent;\n        };\n        type tableReservationsV1ReservationLocationDomainEventBodyOneOf = {\n            actionEvent?: Events.tableReservationsV1ReservationLocationActionEvent;\n            createdEvent?: Events.tableReservationsV1ReservationLocationEntityCreatedEvent;\n            deletedEvent?: Events.tableReservationsV1ReservationLocationEntityDeletedEvent;\n            updatedEvent?: Events.tableReservationsV1ReservationLocationEntityUpdatedEvent;\n        };\n        type tableReservationsV1ReservationLocationEmailMarketingCheckbox = {\n            /**\n             * Whether the checkbox is checked by default.\n             *\n             * Default: `false`\n             */\n            checkedByDefault?: boolean;\n            /**\n             * Whether the checkbox is shown to the customer.\n             *\n             * Default: `false`\n             */\n            enabled?: boolean;\n        };\n        type tableReservationsV1ReservationLocationEmpty = {};\n        type tableReservationsV1ReservationLocationEntityCreatedEvent = {\n            entityAsJson?: string;\n        };\n        type tableReservationsV1ReservationLocationEntityDeletedEvent = {\n            /**\n             * Entity that was deleted\n             */\n            deletedEntityAsJson?: string;\n        };\n        type tableReservationsV1ReservationLocationEntityUpdatedEvent = {\n            /**\n             * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n             * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n             * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n             */\n            currentEntityAsJson?: string;\n        };\n        type tableReservationsV1ReservationLocationFeature = {\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             */\n            _id?: string;\n            /**\n             * Deprecated. Use `enabled` instead.\n             */\n            booleanFeature?: Events.tableReservationsV1ReservationLocationBooleanFeature;\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?: Events.tableReservationsV1ReservationLocationFeatureContext;\n            /**\n             * Deprecated.\n             */\n            createdAt?: Date;\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             * 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             * Deprecated. Use `quotaInfo` instead.\n             */\n            quotaFeature?: Events.tableReservationsV1ReservationLocationQuotaFeature;\n            /**\n             * Information about how often customers can use the feature during a specific\n             * period. Available only for quota features.\n             */\n            quotaInfo?: Events.tableReservationsV1ReservationLocationQuotaInfo;\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;\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             * Deprecated.\n             */\n            updatedAt?: Date;\n        };\n        type tableReservationsV1ReservationLocationFeatureCancelled = {\n            /**\n             * Information about the feature cancellation.\n             */\n            cancelRequest?: Events.tableReservationsV1ReservationLocationCancelRequestedReason;\n            /**\n             * Information about the contract switch.\n             */\n            contractSwitched?: Events.tableReservationsV1ReservationLocationContractSwitchedReason;\n            /**\n             * Canceled feature.\n             */\n            feature?: Events.tableReservationsV1ReservationLocationFeature;\n            /**\n             * Information about a transfer to the account.\n             * __Deprecated__. Use `reason.transferred_to_account` instead.\n             */\n            transferredToAccount?: string;\n            /**\n             * Information about a transfer to the account.\n             */\n            transferredToAnotherAccount?: Events.tableReservationsV1ReservationLocationTransferredToAnotherAccountReason;\n        };\n        type tableReservationsV1ReservationLocationFeatureCancelledReasonOneOf = {\n            /**\n             * Information about the feature cancellation.\n             */\n            cancelRequest?: Events.tableReservationsV1ReservationLocationCancelRequestedReason;\n            /**\n             * Information about the contract switch.\n             */\n            contractSwitched?: Events.tableReservationsV1ReservationLocationContractSwitchedReason;\n            /**\n             * Information about a transfer to the account.\n             */\n            transferredToAnotherAccount?: Events.tableReservationsV1ReservationLocationTransferredToAnotherAccountReason;\n        };\n        type tableReservationsV1ReservationLocationFeatureContext = {\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;\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        type tableReservationsV1ReservationLocationFeatureDisabled = {\n            /**\n             * Disabled feature. Includes information about the feature's new state,\n             * possibly its new context.\n             */\n            feature?: Events.tableReservationsV1ReservationLocationFeature;\n            /**\n             * ID of the meta site for which the feature has been disabled.\n             */\n            metaSiteId?: string;\n            /**\n             * Information about a feature that's been reassigned to a different\n             * site.\n             */\n            reassignedToAnotherSite?: Events.tableReservationsV1ReservationLocationReassignedToAnotherSiteReason;\n            /**\n             * Information about a feature that's been replaced by a feature from a\n             * different subscription.\n             */\n            replacedByAnotherSubscription?: Events.tableReservationsV1ReservationLocationReplacedByAnotherSubscriptionReason;\n            /**\n             * Information about a feature that's no longer assigned to a site.\n             */\n            unassingedToFloating?: Events.tableReservationsV1ReservationLocationUnAssingedToFloatingReason;\n        };\n        type tableReservationsV1ReservationLocationFeatureDisabledReasonOneOf = {\n            /**\n             * Information about a feature that's been reassigned to a different\n             * site.\n             */\n            reassignedToAnotherSite?: Events.tableReservationsV1ReservationLocationReassignedToAnotherSiteReason;\n            /**\n             * Information about a feature that's been replaced by a feature from a\n             * different subscription.\n             */\n            replacedByAnotherSubscription?: Events.tableReservationsV1ReservationLocationReplacedByAnotherSubscriptionReason;\n            /**\n             * Information about a feature that's no longer assigned to a site.\n             */\n            unassingedToFloating?: Events.tableReservationsV1ReservationLocationUnAssingedToFloatingReason;\n        };\n        type tableReservationsV1ReservationLocationFeatureEnabled = {\n            /**\n             * Information about a feature that hadn't been assigned to site.\n             */\n            assignedFromFloating?: Events.tableReservationsV1ReservationLocationAssignedFromFloatingReason;\n            /**\n             * Information about the contract switch.\n             */\n            contractSwitched?: Events.tableReservationsV1ReservationLocationContractSwitchedReason;\n            /**\n             * Enabled feature.\n             */\n            feature?: Events.tableReservationsV1ReservationLocationFeature;\n            /**\n             * Information about the manually created features.\n             */\n            manualFeatureCreation?: Events.tableReservationsV1ReservationLocationManualFeatureCreationReason;\n            /**\n             * Information about a feature that was migrated from legacy.\n             */\n            migratedFromLegacy?: Events.tableReservationsV1ReservationLocationMigratedFromLegacyReason;\n            /**\n             * Information about the new feature.\n             */\n            newFeature?: Events.tableReservationsV1ReservationLocationNewFeatureReason;\n            /**\n             * Information about a transfer from another site.\n             * __Deprecated__. Use `reason.reassigned_from_site` instead.\n             */\n            reassignedFromMetasite?: string;\n            /**\n             * Information about a transfer from another site.\n             */\n            reassignedFromSite?: Events.tableReservationsV1ReservationLocationReassignedFromSiteReason;\n            /**\n             * Information about a transfer from another account.\n             * __Deprecated__. Use `reason.transferred_from_another_account` instead.\n             */\n            transferredFromAccount?: string;\n            /**\n             * Information about a transfer from another account.\n             */\n            transferredFromAnotherAccount?: Events.tableReservationsV1ReservationLocationTransferredFromAnotherAccountReason;\n        };\n        type tableReservationsV1ReservationLocationFeatureEnabledReasonOneOf = {\n            /**\n             * Information about a feature that hadn't been assigned to site.\n             */\n            assignedFromFloating?: Events.tableReservationsV1ReservationLocationAssignedFromFloatingReason;\n            /**\n             * Information about the contract switch.\n             */\n            contractSwitched?: Events.tableReservationsV1ReservationLocationContractSwitchedReason;\n            /**\n             * Information about the manually created features.\n             */\n            manualFeatureCreation?: Events.tableReservationsV1ReservationLocationManualFeatureCreationReason;\n            /**\n             * Information about a feature that was migrated from legacy.\n             */\n            migratedFromLegacy?: Events.tableReservationsV1ReservationLocationMigratedFromLegacyReason;\n            /**\n             * Information about the new feature.\n             */\n            newFeature?: Events.tableReservationsV1ReservationLocationNewFeatureReason;\n            /**\n             * Information about a transfer from another site.\n             */\n            reassignedFromSite?: Events.tableReservationsV1ReservationLocationReassignedFromSiteReason;\n            /**\n             * Information about a transfer from another account.\n             */\n            transferredFromAnotherAccount?: Events.tableReservationsV1ReservationLocationTransferredFromAnotherAccountReason;\n        };\n        type tableReservationsV1ReservationLocationFeatureEvent = {\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?: Events.tableReservationsV1ReservationLocationFeatureCancelled;\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?: Events.tableReservationsV1ReservationLocationFeatureDisabled;\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?: Events.tableReservationsV1ReservationLocationFeatureEnabled;\n            /**\n             * Timestamp of the event in\n             * [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).\n             */\n            timestamp?: Date;\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?: Events.tableReservationsV1ReservationLocationFeatureUpdated;\n        };\n        type tableReservationsV1ReservationLocationFeatureEventEventOneOf = {\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?: Events.tableReservationsV1ReservationLocationFeatureCancelled;\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?: Events.tableReservationsV1ReservationLocationFeatureDisabled;\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?: Events.tableReservationsV1ReservationLocationFeatureEnabled;\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?: Events.tableReservationsV1ReservationLocationFeatureUpdated;\n        };\n        type tableReservationsV1ReservationLocationFeatureQuantityInfoOneOf = {\n            /**\n             * Deprecated. Use `enabled` instead.\n             */\n            booleanFeature?: Events.tableReservationsV1ReservationLocationBooleanFeature;\n            /**\n             * Deprecated. Use `quotaInfo` instead.\n             */\n            quotaFeature?: Events.tableReservationsV1ReservationLocationQuotaFeature;\n        };\n        type tableReservationsV1ReservationLocationFeatureUpdated = {\n            /**\n             * Information about a feature that doesn't have a usage quota.\n             */\n            booleanFeature?: Events.tableReservationsV1ReservationLocationBooleanFeature;\n            /**\n             * Information about the contract switch.\n             */\n            contractSwitched?: Events.tableReservationsV1ReservationLocationContractSwitchedReason;\n            /**\n             * Updated feature. Includes information about the feature's new state and\n             * possibly its new context.\n             */\n            feature?: Events.tableReservationsV1ReservationLocationFeature;\n            /**\n             * Information about a feature that has a usage quota.\n             */\n            quotaFeature?: Events.tableReservationsV1ReservationLocationQuotaFeature;\n        };\n        type tableReservationsV1ReservationLocationFeatureUpdatedPreviousQuantityInfoOneOf = {\n            /**\n             * Information about a feature that doesn't have a usage quota.\n             */\n            booleanFeature?: Events.tableReservationsV1ReservationLocationBooleanFeature;\n            /**\n             * Information about a feature that has a usage quota.\n             */\n            quotaFeature?: Events.tableReservationsV1ReservationLocationQuotaFeature;\n        };\n        type tableReservationsV1ReservationLocationFeatureUpdatedReasonOneOf = {\n            /**\n             * Information about the contract switch.\n             */\n            contractSwitched?: Events.tableReservationsV1ReservationLocationContractSwitchedReason;\n        };\n        type tableReservationsV1ReservationLocationGetReservationLocationRequest = {\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?: Array<string>;\n            /**\n             * ID of the ReservationLocation to retrieve.\n             */\n            reservationLocationId: string;\n        };\n        type tableReservationsV1ReservationLocationGetReservationLocationResponse = {\n            /**\n             * The retrieved reservation location.\n             */\n            reservationLocation?: Events.tableReservationsV1ReservationLocationReservationLocation;\n        };\n        type tableReservationsV1ReservationLocationInvalidateCache = {\n            /**\n             * Invalidate by App\n             */\n            app?: Events.tableReservationsV1ReservationLocationApp;\n            /**\n             * Is local DS\n             */\n            localDc?: boolean;\n            /**\n             * Invalidate by msId. NOT recommended, as this will invalidate the entire site cache!\n             */\n            metaSiteId?: string;\n            /**\n             * Invalidate by page id\n             */\n            page?: Events.tableReservationsV1ReservationLocationPage;\n            /**\n             * tell us why you're invalidating the cache. You don't need to add your app name\n             */\n            reason?: string;\n            /**\n             * Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache!\n             */\n            siteId?: string;\n            /**\n             * Invalidate by URI path\n             */\n            uri?: Events.tableReservationsV1ReservationLocationUri;\n        };\n        type tableReservationsV1ReservationLocationInvalidateCacheGetByOneOf = {\n            /**\n             * Invalidate by App\n             */\n            app?: Events.tableReservationsV1ReservationLocationApp;\n            /**\n             * Invalidate by msId. NOT recommended, as this will invalidate the entire site cache!\n             */\n            metaSiteId?: string;\n            /**\n             * Invalidate by page id\n             */\n            page?: Events.tableReservationsV1ReservationLocationPage;\n            /**\n             * Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache!\n             */\n            siteId?: string;\n            /**\n             * Invalidate by URI path\n             */\n            uri?: Events.tableReservationsV1ReservationLocationUri;\n        };\n        type tableReservationsV1ReservationLocationListReservationLocationsRequest = {\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?: Array<string>;\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             */\n            paging?: Events.tableReservationsV1ReservationLocationCursorPaging;\n            /**\n             * Sorting for the locations list.\n             */\n            sort?: Events.tableReservationsV1ReservationLocationSorting;\n        };\n        type tableReservationsV1ReservationLocationListReservationLocationsResponse = {\n            /**\n             * Metadata for the paginated results.\n             */\n            pagingMetadata?: Events.tableReservationsV1ReservationLocationCursorPagingMetadata;\n            /**\n             * Locations list.\n             */\n            reservationLocations?: Array<Events.tableReservationsV1ReservationLocationReservationLocation>;\n        };\n        type tableReservationsV1ReservationLocationLocation = {\n            /**\n             * Location ID.\n             */\n            _id?: string;\n        };\n        type tableReservationsV1ReservationLocationManualApproval = {\n            /**\n             * Custom approvals provider id.\n             */\n            customApprovalsProviderId?: string;\n            /**\n             * Whether manual approval is required for online reservations.\n             */\n            enabled?: boolean;\n            /**\n             * The minimum party size that requires manual approval.\n             */\n            partySizeThreshold?: number;\n        };\n        type tableReservationsV1ReservationLocationManualApprovalValueOneOf = {\n            /**\n             * Custom approvals provider id.\n             */\n            customApprovalsProviderId?: string;\n            /**\n             * The minimum party size that requires manual approval.\n             */\n            partySizeThreshold?: number;\n        };\n        type tableReservationsV1ReservationLocationManualFeatureCreationReason = {};\n        type tableReservationsV1ReservationLocationMetaSiteSpecialEvent = {\n            /**\n             * A list of \"assets\" (applications). The same as MetaSiteContext.\n             */\n            assets?: Array<Events.tableReservationsV1ReservationLocationAsset>;\n            /**\n             * Emitted when meta site was permanently deleted.\n             */\n            hardDeleted?: Events.tableReservationsV1ReservationLocationSiteHardDeleted;\n            /**\n             * A meta site id.\n             */\n            metaSiteId?: string;\n            /**\n             * Emitted on a namespace change.\n             */\n            namespaceChanged?: Events.tableReservationsV1ReservationLocationNamespaceChanged;\n            /**\n             * Emitted when an application is provisioned (installed).\n             */\n            serviceProvisioned?: Events.tableReservationsV1ReservationLocationServiceProvisioned;\n            /**\n             * Emitted when an application is removed (uninstalled).\n             */\n            serviceRemoved?: Events.tableReservationsV1ReservationLocationServiceRemoved;\n            /**\n             * Emitted on a meta site creation.\n             */\n            siteCreated?: Events.tableReservationsV1ReservationLocationSiteCreated;\n            /**\n             * Emitted on a meta site deletion.\n             */\n            siteDeleted?: Events.tableReservationsV1ReservationLocationSiteDeleted;\n            /**\n             * Emitted when meta site is marked as template.\n             */\n            siteMarkedAsTemplate?: Events.tableReservationsV1ReservationLocationSiteMarkedAsTemplate;\n            /**\n             * Emitted when meta site is marked as a WixSite.\n             */\n            siteMarkedAsWixSite?: Events.tableReservationsV1ReservationLocationSiteMarkedAsWixSite;\n            /**\n             * Emitted on the first* publish of the meta site (* switching from unpublished to published state).\n             */\n            sitePublished?: Events.tableReservationsV1ReservationLocationSitePublished;\n            /**\n             * Emitted when meta site name (URL slug) is changed.\n             */\n            siteRenamedPayload?: Events.tableReservationsV1ReservationLocationSiteRenamed;\n            /**\n             * Emitted on a meta site transfer completion.\n             */\n            siteTransferred?: Events.tableReservationsV1ReservationLocationSiteTransferred;\n            /**\n             * Emitted on a meta site restoration.\n             */\n            siteUndeleted?: Events.tableReservationsV1ReservationLocationSiteUndeleted;\n            /**\n             * Emitted on a meta site unpublish.\n             */\n            siteUnpublished?: Events.tableReservationsV1ReservationLocationSiteUnpublished;\n            /**\n             * Emitted when Studio is attached.\n             */\n            studioAssigned?: Events.tableReservationsV1ReservationLocationStudioAssigned;\n            /**\n             * Emitted when Studio is detached.\n             */\n            studioUnassigned?: Events.tableReservationsV1ReservationLocationStudioUnassigned;\n            /**\n             * A timestamp of the event.\n             */\n            timestamp?: string;\n            /**\n             * A meta site version. Monotonically increasing.\n             */\n            version?: string;\n        };\n        type tableReservationsV1ReservationLocationMetaSiteSpecialEventPayloadOneOf = {\n            /**\n             * Emitted when meta site was permanently deleted.\n             */\n            hardDeleted?: Events.tableReservationsV1ReservationLocationSiteHardDeleted;\n            /**\n             * Emitted on a namespace change.\n             */\n            namespaceChanged?: Events.tableReservationsV1ReservationLocationNamespaceChanged;\n            /**\n             * Emitted when an application is provisioned (installed).\n             */\n            serviceProvisioned?: Events.tableReservationsV1ReservationLocationServiceProvisioned;\n            /**\n             * Emitted when an application is removed (uninstalled).\n             */\n            serviceRemoved?: Events.tableReservationsV1ReservationLocationServiceRemoved;\n            /**\n             * Emitted on a meta site creation.\n             */\n            siteCreated?: Events.tableReservationsV1ReservationLocationSiteCreated;\n            /**\n             * Emitted on a meta site deletion.\n             */\n            siteDeleted?: Events.tableReservationsV1ReservationLocationSiteDeleted;\n            /**\n             * Emitted when meta site is marked as template.\n             */\n            siteMarkedAsTemplate?: Events.tableReservationsV1ReservationLocationSiteMarkedAsTemplate;\n            /**\n             * Emitted when meta site is marked as a WixSite.\n             */\n            siteMarkedAsWixSite?: Events.tableReservationsV1ReservationLocationSiteMarkedAsWixSite;\n            /**\n             * Emitted on the first* publish of the meta site (* switching from unpublished to published state).\n             */\n            sitePublished?: Events.tableReservationsV1ReservationLocationSitePublished;\n            /**\n             * Emitted when meta site name (URL slug) is changed.\n             */\n            siteRenamedPayload?: Events.tableReservationsV1ReservationLocationSiteRenamed;\n            /**\n             * Emitted on a meta site transfer completion.\n             */\n            siteTransferred?: Events.tableReservationsV1ReservationLocationSiteTransferred;\n            /**\n             * Emitted on a meta site restoration.\n             */\n            siteUndeleted?: Events.tableReservationsV1ReservationLocationSiteUndeleted;\n            /**\n             * Emitted on a meta site unpublish.\n             */\n            siteUnpublished?: Events.tableReservationsV1ReservationLocationSiteUnpublished;\n            /**\n             * Emitted when Studio is attached.\n             */\n            studioAssigned?: Events.tableReservationsV1ReservationLocationStudioAssigned;\n            /**\n             * Emitted when Studio is detached.\n             */\n            studioUnassigned?: Events.tableReservationsV1ReservationLocationStudioUnassigned;\n        };\n        type tableReservationsV1ReservationLocationMigrateOldRestaurantSettingsRequest = {\n            /**\n             * Mode.\n             */\n            mode?: string;\n            /**\n             * Override not default.\n             */\n            overrideNotDefault?: boolean;\n        };\n        type tableReservationsV1ReservationLocationMigrateOldRestaurantSettingsResponse = {\n            /**\n             * Migration results.\n             */\n            migrationResults?: Array<Events.tableReservationsV1ReservationLocationMigrationResult>;\n        };\n        type tableReservationsV1ReservationLocationMigratedFromLegacyReason = {};\n        type tableReservationsV1ReservationLocationMigrationParsingError = {\n            /**\n             * Message.\n             */\n            message?: string;\n            /**\n             * Field.\n             */\n            path?: string;\n            /**\n             * Target.\n             */\n            target?: Object;\n        };\n        type tableReservationsV1ReservationLocationMigrationResult = {\n            /**\n             * Migration parsing errors.\n             */\n            migrationParsingErrors?: Array<Events.tableReservationsV1ReservationLocationMigrationParsingError>;\n            /**\n             * Old settings.\n             */\n            oldSettings?: Object;\n            /**\n             * Parsed settings.\n             */\n            parsedSettings?: Events.tableReservationsV1ReservationLocationParsedSettings;\n            /**\n             * The migrated ReservationLocation.\n             */\n            reservationLocation?: Events.tableReservationsV1ReservationLocationReservationLocation;\n        };\n        type tableReservationsV1ReservationLocationMyReservationsField = {\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             */\n            customFieldId?: string;\n            /**\n             * Field type.\n             */\n            fieldType?: string;\n            /**\n             * Whether the field is shown.\n             */\n            shown?: boolean;\n        };\n        type tableReservationsV1ReservationLocationNamespaceChanged = {\n            /**\n             * A new namespace.\n             */\n            newNamespace?: string;\n            /**\n             * A previous namespace.\n             */\n            oldNamespace?: string;\n        };\n        type tableReservationsV1ReservationLocationNewFeatureReason = {};\n        type tableReservationsV1ReservationLocationNoticePeriod = {\n            /**\n             * The quantity of the chosen time unit.\n             */\n            number?: number;\n            /**\n             * Time unit.\n             */\n            unit?: string;\n        };\n        type tableReservationsV1ReservationLocationOldCustomField = {\n            label?: string;\n            required?: boolean;\n        };\n        type tableReservationsV1ReservationLocationOldInstant = {\n            day?: number;\n            hour?: number;\n            minute?: number;\n            month?: number;\n            year?: number;\n        };\n        type tableReservationsV1ReservationLocationOldPolicy = {\n            isPlainText?: boolean;\n            value?: string;\n        };\n        type tableReservationsV1ReservationLocationOldScheduleException = {\n            available?: boolean;\n            comment?: string;\n            end?: Events.tableReservationsV1ReservationLocationOldInstant;\n            start?: Events.tableReservationsV1ReservationLocationOldInstant;\n        };\n        type tableReservationsV1ReservationLocationOldScheduleInterval = {\n            durationMins?: number;\n            minuteOfWeek?: number;\n        };\n        type tableReservationsV1ReservationLocationOldTerms = {\n            isPlainText?: boolean;\n            value?: string;\n        };\n        type tableReservationsV1ReservationLocationOnlineReservations = {\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?: Events.tableReservationsV1ReservationLocationBusinessSchedule;\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;\n            /**\n             * Manual approval settings.\n             */\n            manualApproval?: Events.tableReservationsV1ReservationLocationManualApproval;\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?: Events.tableReservationsV1ReservationLocationNoticePeriod;\n            /**\n             * Whether online reservations are enabled.\n             */\n            onlineReservationsEnabled?: boolean;\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?: Events.tableReservationsV1ReservationLocationPartyPacing;\n            /**\n             * Party size limits for a reservation.\n             */\n            partySize?: Events.tableReservationsV1ReservationLocationPartySize;\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?: Events.tableReservationsV1ReservationLocationSeatPacing;\n            /**\n             * Whether a phone number is shown.\n             */\n            showPhoneNumber?: boolean;\n            /**\n             * Custom turnover time rules.\n             *\n             * This allows you to set different turnover times for different party sizes.\n             */\n            turnoverTimeRules?: Array<Events.tableReservationsV1ReservationLocationTurnoverTimeRule>;\n        };\n        type tableReservationsV1ReservationLocationPage = {\n            /**\n             * the msid the page is on\n             */\n            metaSiteId?: string;\n            /**\n             * Invalidate by Page ID\n             */\n            pageId?: string;\n        };\n        type tableReservationsV1ReservationLocationPaging = {\n            /**\n             * Number of items to load.\n             */\n            limit?: number;\n            /**\n             * Number of items to skip in the current sort order.\n             */\n            offset?: number;\n        };\n        type tableReservationsV1ReservationLocationPagingMetadataV2 = {\n            /**\n             * Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used.\n             */\n            cursors?: Events.tableReservationsV1ReservationLocationCursors;\n            /**\n             * Offset that was requested.\n             */\n            offset?: number;\n        };\n        type tableReservationsV1ReservationLocationParsedSettings = {\n            available?: boolean;\n            customFields?: Array<Events.tableReservationsV1ReservationLocationOldCustomField>;\n            futureDelayMins?: number;\n            locale?: string;\n            partySizeMax?: number;\n            partySizeMin?: number;\n            privacyPolicy?: Events.tableReservationsV1ReservationLocationOldPolicy;\n            scheduleExceptions?: Array<Events.tableReservationsV1ReservationLocationOldScheduleException>;\n            termsAndConditions?: Events.tableReservationsV1ReservationLocationOldTerms;\n            weeklySchedule?: Array<Events.tableReservationsV1ReservationLocationOldScheduleInterval>;\n        };\n        type tableReservationsV1ReservationLocationPartiesSize = {\n            /**\n             * Maximum number of seats a party can reserve.\n             */\n            max?: number;\n            /**\n             * Minimum number of seats a party can reserve.\n             */\n            min?: number;\n        };\n        type tableReservationsV1ReservationLocationPartyPacing = {\n            /**\n             * Whether this option is enabled.\n             */\n            enabled?: boolean;\n            /**\n             * Maximum number of new party reservations that can be made every 15 minutes.\n             */\n            number?: number;\n        };\n        type tableReservationsV1ReservationLocationPartySize = {\n            /**\n             * Maximum number of seats a party can reserve.\n             */\n            max?: number;\n            /**\n             * Minimum number of seats a party can reserve.\n             */\n            min?: number;\n        };\n        type tableReservationsV1ReservationLocationPrivacyPolicy = {\n            /**\n             * Whether the privacy policy is shown to the customer.\n             *\n             * Default: `false`\n             */\n            enabled?: boolean;\n            /**\n             * Privacy policy text.\n             */\n            text?: string;\n            /**\n             * Privacy policy URL.\n             */\n            url?: string;\n        };\n        type tableReservationsV1ReservationLocationPrivacyPolicyValueOneOf = {\n            /**\n             * Privacy policy text.\n             */\n            text?: string;\n            /**\n             * Privacy policy URL.\n             */\n            url?: string;\n        };\n        type tableReservationsV1ReservationLocationQueryReservationLocationsRequest = {\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?: Array<string>;\n            /**\n             * Query options.\n             */\n            query: Events.tableReservationsV1ReservationLocationQueryV2;\n        };\n        type tableReservationsV1ReservationLocationQueryReservationLocationsResponse = {\n            /**\n             * Metadata for the paginated results.\n             */\n            pagingMetadata?: Events.tableReservationsV1ReservationLocationPagingMetadataV2;\n            /**\n             * List of reservation locations\n             */\n            reservationLocations?: Array<Events.tableReservationsV1ReservationLocationReservationLocation>;\n        };\n        type tableReservationsV1ReservationLocationQueryV2 = {\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             */\n            cursorPaging?: Events.tableReservationsV1ReservationLocationCursorPaging;\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?: Object;\n            /**\n             * Paging options to limit and skip the number of items.\n             */\n            paging?: Events.tableReservationsV1ReservationLocationPaging;\n            /**\n             * Sort object in the following format:\n             * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n             */\n            sort?: Array<Events.tableReservationsV1ReservationLocationSorting>;\n        };\n        type tableReservationsV1ReservationLocationQueryV2PagingMethodOneOf = {\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             */\n            cursorPaging?: Events.tableReservationsV1ReservationLocationCursorPaging;\n            /**\n             * Paging options to limit and skip the number of items.\n             */\n            paging?: Events.tableReservationsV1ReservationLocationPaging;\n        };\n        type tableReservationsV1ReservationLocationQuotaFeature = {\n            /**\n             * Default (or Freemium) quota limitation. if left undefined the free feature has unlimited amount.\n             */\n            limit?: string;\n            /**\n             * Periodic time-frame to reset the usage counter. You may use NO_PERIOD if counter shouldn't be reset.\n             */\n            period?: string;\n            /**\n             * Usage measurement units (seconds? MBs? unitless?). Usage reported will be counted in multiples of this basic unit.\n             */\n            units?: string;\n        };\n        type tableReservationsV1ReservationLocationQuotaInfo = {\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 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;\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?: 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;\n        };\n        type tableReservationsV1ReservationLocationReassignedFromSiteReason = {\n            /**\n             * Information about a transfer from another site.\n             */\n            reassignedFromMetasite?: string;\n        };\n        type tableReservationsV1ReservationLocationReassignedToAnotherSiteReason = {\n            /**\n             * Information about a transfer to the site.\n             */\n            reassignedToMetasite?: string;\n        };\n        type tableReservationsV1ReservationLocationReplacedByAnotherSubscriptionReason = {};\n        type tableReservationsV1ReservationLocationReservationForm = {\n            /**\n             * Custom fields you wish to add to the registration form for the customer to fill in.\n             */\n            customFieldDefinitions?: Array<Events.tableReservationsV1ReservationLocationCustomFieldDefinition>;\n            /**\n             * Email marketing checkbox settings.\n             */\n            emailMarketingCheckbox?: Events.tableReservationsV1ReservationLocationEmailMarketingCheckbox;\n            /**\n             * Whether an email is required in the reservation form.\n             *\n             * Default: `false`\n             */\n            emailRequired?: boolean;\n            /**\n             * Whether a last_name is required in the reservation form.\n             *\n             * Default: `false`\n             */\n            lastNameRequired?: boolean;\n            /**\n             * Whether to show policies (the terms and conditions, and the privacy policy) to the customer.\n             */\n            policiesEnabled?: boolean;\n            /**\n             * Settings for displaying the privacy policy.\n             */\n            privacyPolicy?: Events.tableReservationsV1ReservationLocationPrivacyPolicy;\n            /**\n             * A message shown to the customer in the registration form.\n             */\n            submitMessage?: string;\n            /**\n             * Settings for displaying the terms and conditions.\n             */\n            termsAndConditions?: Events.tableReservationsV1ReservationLocationTermsAndConditions;\n        };\n        type tableReservationsV1ReservationLocationReservationLocation = {\n            /**\n             * The date and time this reservation location was created.\n             */\n            _createdDate?: Date;\n            /**\n             * Reservation location ID.\n             */\n            _id?: string;\n            /**\n             * The date and time this reservation location was last updated.\n             */\n            _updatedDate?: Date;\n            /**\n             * Whether this reservation location's `location` is archived.\n             */\n            archived?: boolean;\n            /**\n             * Reservation location configuration.\n             */\n            configuration?: Events.tableReservationsV1ReservationLocationConfiguration;\n            /**\n             * Whether this reservation location's `location` is the default location of the business.\n             */\n            default?: boolean;\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             */\n            location?: Events.tableReservationsV1ReservationLocationLocation;\n            /**\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             */\n            revision?: string;\n        };\n        type tableReservationsV1ReservationLocationReservationLocationCreated = {\n            /**\n             * Information about the reservation location that was created.\n             */\n            entity: Events.tableReservationsV1ReservationLocationReservationLocation;\n            /**\n             * Event metadata.\n             */\n            metadata: Events.tableReservationsV1ReservationLocationBackendEventMetadata;\n        };\n        type tableReservationsV1ReservationLocationReservationLocationUpdated = {\n            /**\n             * Information about the reservation location that was updated.\n             */\n            entity: Events.tableReservationsV1ReservationLocationReservationLocation;\n            /**\n             * Event metadata.\n             */\n            metadata: Events.tableReservationsV1ReservationLocationBackendEventMetadata;\n        };\n        type tableReservationsV1ReservationLocationSeatPacing = {\n            /**\n             * Whether this option is enabled.\n             */\n            enabled?: boolean;\n            /**\n             * Maximum number of seats that can be reserved every 15 minutes.\n             */\n            number?: number;\n        };\n        type tableReservationsV1ReservationLocationServiceProvisioned = {\n            /**\n             * Either UUID or EmbeddedServiceType.\n             */\n            appDefId?: string;\n            /**\n             * Not only UUID. Something here could be something weird.\n             */\n            instanceId?: string;\n            /**\n             * An instance id from which this instance is originated.\n             */\n            originInstanceId?: string;\n            /**\n             * A version.\n             */\n            version?: string;\n        };\n        type tableReservationsV1ReservationLocationServiceRemoved = {\n            /**\n             * Either UUID or EmbeddedServiceType.\n             */\n            appDefId?: string;\n            /**\n             * Not only UUID. Something here could be something weird.\n             */\n            instanceId?: string;\n            /**\n             * A version.\n             */\n            version?: string;\n        };\n        type tableReservationsV1ReservationLocationSiteCreated = {\n            /**\n             * A context in which meta site was created.\n             */\n            context?: string;\n            /**\n             * A namespace.\n             */\n            namespace?: string;\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;\n            /**\n             * A template identifier (empty if not created from a template).\n             */\n            originTemplateId?: string;\n            /**\n             * An account id of the owner.\n             */\n            ownerId?: string;\n            /**\n             * A meta site name (URL slug).\n             */\n            siteName?: string;\n        };\n        type tableReservationsV1ReservationLocationSiteDeleted = {\n            /**\n             * A deletion context.\n             */\n            deleteContext?: Events.tableReservationsV1ReservationLocationDeleteContext;\n        };\n        type tableReservationsV1ReservationLocationSiteHardDeleted = {\n            /**\n             * A deletion context.\n             */\n            deleteContext?: Events.tableReservationsV1ReservationLocationDeleteContext;\n        };\n        type tableReservationsV1ReservationLocationSiteMarkedAsTemplate = {};\n        type tableReservationsV1ReservationLocationSiteMarkedAsWixSite = {};\n        type tableReservationsV1ReservationLocationSitePublished = {};\n        type tableReservationsV1ReservationLocationSiteRenamed = {\n            /**\n             * A new meta site name (URL slug).\n             */\n            newSiteName?: string;\n            /**\n             * A previous meta site name (URL slug).\n             */\n            oldSiteName?: string;\n        };\n        type tableReservationsV1ReservationLocationSiteTransferred = {\n            /**\n             * A new owner id (user that accepts meta site).\n             */\n            newOwnerId?: string;\n            /**\n             * A previous owner id (user that transfers meta site).\n             */\n            oldOwnerId?: string;\n        };\n        type tableReservationsV1ReservationLocationSiteUndeleted = {};\n        type tableReservationsV1ReservationLocationSiteUnpublished = {\n            /**\n             * A list of URLs previously associated with the meta site.\n             */\n            urls?: Array<string>;\n        };\n        type tableReservationsV1ReservationLocationSorting = {\n            /**\n             * Name of the field to sort by.\n             */\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?: string;\n        };\n        type tableReservationsV1ReservationLocationSpecialHourPeriod = {\n            /**\n             * Additional details about the period.\n             */\n            comment?: string;\n            /**\n             * End date and time in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format.\n             */\n            endDate?: string;\n            /**\n             * Whether or not the location is closed during this period.\n             */\n            isClosed?: boolean;\n            /**\n             * Start date and time in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format.\n             */\n            startDate?: string;\n        };\n        type tableReservationsV1ReservationLocationStreetAddress = {\n            /**\n             * Apartment number.\n             */\n            apt?: string;\n            /**\n             * Street name.\n             */\n            name?: string;\n            /**\n             * Street number.\n             */\n            number?: string;\n        };\n        type tableReservationsV1ReservationLocationStudioAssigned = {};\n        type tableReservationsV1ReservationLocationStudioUnassigned = {};\n        type tableReservationsV1ReservationLocationTableCombination = {\n            /**\n             * Table combination ID.\n             */\n            _id?: string;\n            /**\n             * Whether the table combination is active (available to be reserved).\n             */\n            isActive?: boolean;\n            /**\n             * Maximum number of seats that can be reserved in this table combination.\n             */\n            seatsMax?: number;\n            /**\n             * Minimum number of seats that can be reserved in this table combination.\n             */\n            seatsMin?: number;\n            /**\n             * IDs of tables in the combination.\n             */\n            tableIds?: Array<string>;\n        };\n        type tableReservationsV1ReservationLocationTableDefinition = {\n            /**\n             * Table ID.\n             */\n            _id?: string;\n            /**\n             * Whether the table is active (available to be reserved).\n             */\n            isActive?: boolean;\n            /**\n             * Table name.\n             */\n            name?: string;\n            /**\n             * Maximum number of seats.\n             */\n            seatsMax?: number;\n            /**\n             * Minimum number of seats.\n             */\n            seatsMin?: number;\n        };\n        type tableReservationsV1ReservationLocationTableManagement = {\n            /**\n             * Deleted table definitions.\n             */\n            deletedTableDefinitions?: Array<Events.tableReservationsV1ReservationLocationTableDefinition>;\n            /**\n             * Table combinations.\n             */\n            tableCombinations?: Array<Events.tableReservationsV1ReservationLocationTableCombination>;\n            /**\n             * Table definitions.\n             */\n            tableDefinitions?: Array<Events.tableReservationsV1ReservationLocationTableDefinition>;\n        };\n        type tableReservationsV1ReservationLocationTablesDeleted = {\n            /**\n             * ID of the affected reservation location.\n             */\n            reservationLocationId?: string;\n            /**\n             * IDs of deleted tables.\n             */\n            tableIds?: Array<string>;\n        };\n        type tableReservationsV1ReservationLocationTermsAndConditions = {\n            /**\n             * Whether the terms and conditions are shown to the customer.\n             *\n             * Default: `false`\n             */\n            enabled?: boolean;\n            /**\n             * Terms and conditions text.\n             */\n            text?: string;\n            /**\n             * Terms and conditions URL.\n             */\n            url?: string;\n        };\n        type tableReservationsV1ReservationLocationTermsAndConditionsValueOneOf = {\n            /**\n             * Terms and conditions text.\n             */\n            text?: string;\n            /**\n             * Terms and conditions URL.\n             */\n            url?: string;\n        };\n        type tableReservationsV1ReservationLocationTimePeriod = {\n            /**\n             * Day of the week this period ends on.\n             */\n            closeDay?: string;\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             * Day of the week this period starts on.\n             */\n            openDay?: string;\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        };\n        type tableReservationsV1ReservationLocationTransferredFromAnotherAccountReason = {\n            /**\n             * Information about a transfer from another account.\n             */\n            transferredFromAccount?: string;\n        };\n        type tableReservationsV1ReservationLocationTransferredToAnotherAccountReason = {\n            /**\n             * Information about a transfer to the account.\n             */\n            transferredToAccount?: string;\n        };\n        type tableReservationsV1ReservationLocationTurnoverRule = {\n            /**\n             * Maximum number of seats to qualify for this rule.\n             */\n            maxSeats?: number;\n            /**\n             * Minimum number of seats to qualify for this rule.\n             */\n            minSeats?: number;\n            /**\n             * Turnover time in minutes for qualifying parties.\n             */\n            minutes?: number;\n        };\n        type tableReservationsV1ReservationLocationTurnoverTimeRule = {\n            /**\n             * Turnover time in minutes for qualifying parties.\n             */\n            minutes?: number;\n            /**\n             * Maximum number of seats to qualify for this rule.\n             */\n            seatsMax?: number;\n            /**\n             * Minimum number of seats to qualify for this rule.\n             */\n            seatsMin?: number;\n        };\n        type tableReservationsV1ReservationLocationUnAssingedToFloatingReason = {};\n        type tableReservationsV1ReservationLocationUpdateReservationLocationRequest = {\n            /**\n             * ReservationLocation to be updated, may be partial.\n             */\n            reservationLocation: Events.tableReservationsV1ReservationLocationReservationLocation;\n        };\n        type tableReservationsV1ReservationLocationUpdateReservationLocationResponse = {\n            /**\n             * The updated reservation location.\n             */\n            reservationLocation?: Events.tableReservationsV1ReservationLocationReservationLocation;\n        };\n        type tableReservationsV1ReservationLocationUri = {\n            /**\n             * the msid the URI is on\n             */\n            metaSiteId?: string;\n            /**\n             * URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes\n             */\n            uriPath?: string;\n        };\n        type tableReservationsV1ReservationMigrationNote = {};\n        type tableReservationsV1ReservationNestedAggregation = {\n            nestedAggregations?: Array<Events.tableReservationsV1ReservationNestedAggregationItem>;\n        };\n        type tableReservationsV1ReservationNestedAggregationItem = {\n            dateHistogram?: Events.tableReservationsV1ReservationDateHistogramAggregation;\n            fieldPath?: string;\n            name?: string;\n            range?: Events.tableReservationsV1ReservationRangeAggregation;\n            scalar?: Events.tableReservationsV1ReservationScalarAggregation;\n            /**\n             * Supported values:\n             * - `'DATE_HISTOGRAM'`\n             * - `'RANGE'`\n             * - `'SCALAR'`\n             * - `'UNKNOWN_AGGREGATION_TYPE'`\n             * - `'VALUE'`\n             */\n            type?: string;\n            value?: Events.tableReservationsV1ReservationValueAggregation;\n        };\n        type tableReservationsV1ReservationNestedAggregationItemKindOneOf = {\n            dateHistogram?: Events.tableReservationsV1ReservationDateHistogramAggregation;\n            range?: Events.tableReservationsV1ReservationRangeAggregation;\n            scalar?: Events.tableReservationsV1ReservationScalarAggregation;\n            value?: Events.tableReservationsV1ReservationValueAggregation;\n        };\n        type tableReservationsV1ReservationNestedAggregationResults = {\n            fieldPath?: string;\n            name?: string;\n            ranges?: Events.tableReservationsV1ReservationRangeResults;\n            scalar?: Events.tableReservationsV1ReservationScalarResult;\n            /**\n             * Supported values:\n             * - `'DATE_HISTOGRAM'`\n             * - `'NESTED'`\n             * - `'RANGE'`\n             * - `'SCALAR'`\n             * - `'UNKNOWN_AGGREGATION_TYPE'`\n             * - `'VALUE'`\n             */\n            type?: string;\n            values?: Events.tableReservationsV1ReservationValueResults;\n        };\n        type tableReservationsV1ReservationNestedAggregationResultsResultOneOf = {\n            ranges?: Events.tableReservationsV1ReservationRangeResults;\n            scalar?: Events.tableReservationsV1ReservationScalarResult;\n            values?: Events.tableReservationsV1ReservationValueResults;\n        };\n        type tableReservationsV1ReservationNestedResultValue = {\n            dateHistogram?: Events.tableReservationsV1ReservationValueResult;\n            range?: Events.tableReservationsV1ReservationRangeResult;\n            scalar?: Events.tableReservationsV1ReservationNestedResultsScalarResult;\n            value?: Events.tableReservationsV1ReservationValueResult;\n        };\n        type tableReservationsV1ReservationNestedResultValueResultOneOf = {\n            dateHistogram?: Events.tableReservationsV1ReservationValueResult;\n            range?: Events.tableReservationsV1ReservationRangeResult;\n            scalar?: Events.tableReservationsV1ReservationNestedResultsScalarResult;\n            value?: Events.tableReservationsV1ReservationValueResult;\n        };\n        type tableReservationsV1ReservationNestedResults = {\n            results?: Array<Events.tableReservationsV1ReservationResults>;\n        };\n        type tableReservationsV1ReservationNestedResultsScalarResult = {\n            value?: number;\n        };\n        type tableReservationsV1ReservationNestedValueAggregationResult = {\n            nestedResults?: Events.tableReservationsV1ReservationNestedAggregationResults;\n            value?: string;\n        };\n        type tableReservationsV1ReservationQueryReservationsRequest = {\n            /**\n             * Query to select reservations.\n             */\n            query: Events.tableReservationsV1ReservationCursorQuery;\n        };\n        type tableReservationsV1ReservationQueryReservationsResponse = {\n            /**\n             * Metadata for the paginated results.\n             */\n            pagingMetadata?: Events.tableReservationsV1ReservationCursorPagingMetadata;\n            /**\n             * List of reservations.\n             */\n            reservations?: Array<Events.tableReservationsV1ReservationReservation>;\n        };\n        type tableReservationsV1ReservationRangeAggregation = {\n            buckets?: Array<Events.tableReservationsV1ReservationRangeBucket>;\n        };\n        type tableReservationsV1ReservationRangeAggregationResult = {\n            count?: number;\n            from?: number;\n            to?: number;\n        };\n        type tableReservationsV1ReservationRangeBucket = {\n            /**\n             * Inclusive lower bound of the range. Required if to is not given.\n             */\n            from?: number;\n            /**\n             * Exclusive upper bound of the range. Required if from is not given.\n             */\n            to?: number;\n        };\n        type tableReservationsV1ReservationRangeResult = {\n            count?: number;\n            from?: number;\n            to?: number;\n        };\n        type tableReservationsV1ReservationRangeResults = {\n            results?: Array<Events.tableReservationsV1ReservationRangeAggregationResult>;\n        };\n        type tableReservationsV1ReservationReservation = {\n            /**\n             * Date and time the reservation was created.\n             */\n            _createdDate?: Date;\n            /**\n             * Reservation ID.\n             */\n            _id?: string;\n            /**\n             * Date and time the reservation was changed.\n             */\n            _updatedDate?: Date;\n            /**\n             * The reason the reservation was declined.\n             */\n            declineReason?: string;\n            /**\n             * Reservation details.\n             */\n            details?: Events.tableReservationsV1ReservationDetails;\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             */\n            reservedBy?: Events.tableReservationsV1ReservationReservedBy;\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?: Events.tableReservationsV1ReservationReservee;\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             */\n            revision?: string;\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?: string;\n            /**\n             * Status of the reservation.\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             * See the [Reservation Lifecycle article](https://dev.wix.com/docs/rest/api-reference/wix-restaurants/reservations/reservations/the-reservation-lifecycle) for an explanation of the role of statuses in the reservation lifecycle.\n             */\n            status?: string;\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;\n        };\n        type tableReservationsV1ReservationReservationCanceled = {\n            /**\n             * Reserved reservation.\n             */\n            reservation?: Events.tableReservationsV1ReservationReservation;\n        };\n        type tableReservationsV1ReservationReservationCreated = {\n            /**\n             * Information about the reservation that was created.\n             */\n            entity: Events.tableReservationsV1ReservationReservation;\n            /**\n             * Event metadata.\n             */\n            metadata: Events.tableReservationsV1ReservationBackendEventMetadata;\n        };\n        type tableReservationsV1ReservationReservationDataUpdated = {\n            /**\n             * Old reservation.\n             */\n            oldReservation?: Events.tableReservationsV1ReservationReservation;\n            /**\n             * Reserved reservation.\n             */\n            reservation?: Events.tableReservationsV1ReservationReservation;\n        };\n        type tableReservationsV1ReservationReservationDetailsConflicts = {\n            /**\n             * Reservation location conflicts.\n             */\n            reservationLocationConflicts?: Array<Events.tableReservationsV1ReservationReservationLocationConflict>;\n            /**\n             * Table combinations conflicts.\n             */\n            tableCombinationConflicts?: Array<Events.tableReservationsV1ReservationTableCombinationConflict>;\n        };\n        type tableReservationsV1ReservationReservationLocationConflict = {\n            /**\n             * Reservation location conflict type.\n             */\n            type?: string;\n        };\n        type tableReservationsV1ReservationReservationReserved = {\n            /**\n             * Reserved reservation.\n             */\n            reservation?: Events.tableReservationsV1ReservationReservation;\n        };\n        type tableReservationsV1ReservationReservationUpdated = {\n            /**\n             * Information about the reservation that was updated.\n             */\n            entity: Events.tableReservationsV1ReservationReservation;\n            /**\n             * Event metadata.\n             */\n            metadata: Events.tableReservationsV1ReservationBackendEventMetadata;\n        };\n        type tableReservationsV1ReservationReserveReservationRequest = {\n            /**\n             * Reservation ID.\n             */\n            reservationId: string;\n            /**\n             * Reservee details.\n             */\n            reservee: Events.tableReservationsV1ReservationReservee;\n            /**\n             * Revision number.\n             *\n             * Include the existing `revision` to prevent conflicting updates to reservations.\n             */\n            revision: string;\n        };\n        type tableReservationsV1ReservationReserveReservationResponse = {\n            /**\n             * Reservation.\n             */\n            reservation?: Events.tableReservationsV1ReservationReservation;\n        };\n        type tableReservationsV1ReservationReservedBy = {\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             */\n            contactId?: string;\n        };\n        type tableReservationsV1ReservationReservee = {\n            /**\n             * Contact ID. If a contact with this ID does not exist on the site, one will be created.\n             */\n            contactId?: string;\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?: Object;\n            /**\n             * Email address.\n             */\n            email?: string;\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;\n            /**\n             * Last name.\n             */\n            lastName?: string;\n            /**\n             * Whether the reservee has given marketing consent.\n             */\n            marketingConsent?: boolean;\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;\n        };\n        type tableReservationsV1ReservationResults = {\n            results?: Record<string, Events.tableReservationsV1ReservationNestedResultValue>;\n        };\n        type tableReservationsV1ReservationScalarAggregation = {\n            /**\n             * Supported values:\n             * - `'AVG'`\n             * - `'COUNT_DISTINCT'`\n             * - `'MAX'`\n             * - `'MIN'`\n             * - `'SUM'`\n             * - `'UNKNOWN_SCALAR_TYPE'`\n             */\n            type?: string;\n        };\n        type tableReservationsV1ReservationScalarResult = {\n            /**\n             * Supported values:\n             * - `'AVG'`\n             * - `'COUNT_DISTINCT'`\n             * - `'MAX'`\n             * - `'MIN'`\n             * - `'SUM'`\n             * - `'UNKNOWN_SCALAR_TYPE'`\n             */\n            type?: string;\n            value?: number;\n        };\n        type tableReservationsV1ReservationSearchDetails = {\n            /**\n             * search term or expression\n             */\n            expression?: string;\n            /**\n             * fields to search in. if empty - server will search in own default fields\n             */\n            fields?: Array<string>;\n            /**\n             * flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm)\n             */\n            fuzzy?: boolean;\n            /**\n             * boolean search mode\n             */\n            mode?: string;\n        };\n        type tableReservationsV1ReservationSearchReservationsRequest = {\n            /**\n             * Search query.\n             */\n            search: Events.tableReservationsV1ReservationCursorSearch;\n        };\n        type tableReservationsV1ReservationSearchReservationsResponse = {\n            /**\n             * Aggregation data.\n             */\n            aggregationData?: Events.tableReservationsV1ReservationAggregationData;\n            /**\n             * Cursor paging metadata.\n             */\n            pagingMetadata?: Events.tableReservationsV1ReservationCursorPagingMetadata;\n            /**\n             * List of Reservations.\n             */\n            reservations?: Array<Events.tableReservationsV1ReservationReservation>;\n        };\n        type tableReservationsV1ReservationSorting = {\n            /**\n             * Name of the field to sort by.\n             */\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?: string;\n        };\n        type tableReservationsV1ReservationTableCombinationConflict = {\n            /**\n             * Conflict type.\n             */\n            type?: string;\n        };\n        type tableReservationsV1ReservationTableWithReservationConflicts = {\n            /**\n             * List of reservation ids.\n             */\n            reservationIds?: Array<string>;\n            /**\n             * Table id.\n             */\n            tableId?: string;\n        };\n        type tableReservationsV1ReservationUpdateReservationRequest = {\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?: Array<string>;\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?: Array<string>;\n            /**\n             * Reservation information to update.\n             */\n            reservation: Events.tableReservationsV1ReservationReservation;\n        };\n        type tableReservationsV1ReservationUpdateReservationResponse = {\n            /**\n             * Reservation.\n             */\n            reservation?: Events.tableReservationsV1ReservationReservation;\n        };\n        type tableReservationsV1ReservationValueAggregation = {\n            /**\n             * options for including missing values\n             */\n            includeOptions?: Events.tableReservationsV1ReservationIncludeMissingValuesOptions;\n            /**\n             * How many aggregations would you like to return? Can be between 1 and 250. 10 is the default.\n             */\n            limit?: number;\n            /**\n             * should missing values be included or excluded from the aggregation results. Default is EXCLUDE\n             */\n            missingValues?: string;\n            /**\n             * Supported values:\n             * - `'ASC'`\n             * - `'DESC'`\n             */\n            sortDirection?: string;\n            /**\n             * Supported values:\n             * - `'COUNT'`\n             * - `'VALUE'`\n             */\n            sortType?: string;\n        };\n        type tableReservationsV1ReservationValueAggregationOptionsOneOf = {\n            /**\n             * options for including missing values\n             */\n            includeOptions?: Events.tableReservationsV1ReservationIncludeMissingValuesOptions;\n        };\n        type tableReservationsV1ReservationValueAggregationResult = {\n            count?: number;\n            value?: string;\n        };\n        type tableReservationsV1ReservationValueResult = {\n            count?: number;\n            value?: string;\n        };\n        type tableReservationsV1ReservationValueResults = {\n            results?: Array<Events.tableReservationsV1ReservationValueAggregationResult>;\n        };\n    }\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.ReservationLocations.html#)\n     */\n    namespace ReservationLocations {\n        type ActionEvent = {\n            bodyAsJson?: string;\n        };\n        type Address = {\n            /**\n             * City name.\n             */\n            city?: 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             * Full address of the location.\n             */\n            formatted?: string;\n            /**\n             * Geographic coordinates of the location.\n             */\n            location?: ReservationLocations.AddressLocation;\n            /**\n             * Postal or zip code.\n             */\n            postalCode?: string;\n            /**\n             * Street address of the location. Includes street name, number, and apartment number in separate fields.\n             */\n            streetAddress?: ReservationLocations.StreetAddress;\n            /**\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             */\n            subdivision?: string;\n        };\n        type AddressLocation = {\n            /**\n             * Latitude of the location. Must be between -90 and 90.\n             */\n            latitude?: number;\n            /**\n             * Longitude of the location. Must be between -180 and 180.\n             */\n            longitude?: number;\n        };\n        type App = {\n            /**\n             * The AppDefId\n             */\n            appDefId?: string;\n            /**\n             * The instance Id\n             */\n            instanceId?: string;\n        };\n        type Asset = {\n            /**\n             * An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum).\n             */\n            appDefId?: string;\n            /**\n             * An instance id. For legacy reasons may be UUID or a string.\n             */\n            instanceId?: string;\n            /**\n             * An application state.\n             */\n            state?: string;\n        };\n        type AssignedFromFloatingReason = {};\n        type BooleanFeature = {};\n        type BusinessSchedule = {\n            periods?: Array<ReservationLocations.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?: Array<ReservationLocations.SpecialHourPeriod>;\n        };\n        type CancelRequestedReason = {};\n        type CheckReservationLocationsCreatedRequest = {};\n        type CheckReservationLocationsCreatedResponse = {\n            /**\n             * Reservation locations created.\n             */\n            created?: boolean;\n        };\n        type Configuration = {\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?: Array<ReservationLocations.MyReservationsField>;\n            /**\n             * Settings for this location that are used to determine restaurant availability for reservations made online.\n             */\n            onlineReservations?: ReservationLocations.OnlineReservations;\n            /**\n             * Reservation form settings.\n             */\n            reservationForm?: ReservationLocations.ReservationForm;\n            /**\n             * Table management settings.\n             */\n            tableManagement?: ReservationLocations.TableManagement;\n        };\n        type ContractSwitchedReason = {};\n        type CursorPaging = {\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;\n            /**\n             * Number of items to load.\n             */\n            limit?: number;\n        };\n        type CursorPagingMetadata = {\n            /**\n             * Number of items returned in the response.\n             */\n            count?: number;\n            /**\n             * Offset that was requested.\n             */\n            cursors?: ReservationLocations.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;\n        };\n        type Cursors = {\n            /**\n             * Cursor pointing to next page in the list of results.\n             */\n            next?: string;\n            /**\n             * Cursor pointing to previous page in the list of results.\n             */\n            prev?: string;\n        };\n        type CustomFieldDefinition = {\n            /**\n             * Custom field ID.\n             */\n            _id?: string;\n            /**\n             * Custom field name.\n             */\n            name?: string;\n            /**\n             * Whether the custom field is required.\n             *\n             * Default: `false`\n             */\n            required?: boolean;\n        };\n        type DeleteContext = {\n            /**\n             * When the meta site was deleted.\n             */\n            dateDeleted?: Date;\n            /**\n             * A reason (flow).\n             */\n            deleteOrigin?: string;\n            /**\n             * A status.\n             */\n            deleteStatus?: string;\n            /**\n             * A service that deleted it.\n             */\n            initiatorId?: string;\n        };\n        type DeleteOrphanReservationLocationRequest = {\n            /**\n             * Id of the ReservationLocation.\n             */\n            reservationLocationId?: string;\n        };\n        type DeleteOrphanReservationLocationResponse = {};\n        type DomainEvent = {\n            /**\n             * Unique event ID.\n             * Allows clients to ignore duplicate webhooks.\n             */\n            _id?: string;\n            actionEvent?: ReservationLocations.ActionEvent;\n            createdEvent?: ReservationLocations.EntityCreatedEvent;\n            deletedEvent?: ReservationLocations.EntityDeletedEvent;\n            /**\n             * A sequence number defining the order of updates to the underlying entity.\n             * For example, given that some entity was updated at 16:00 and than again at 16:01,\n             * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n             * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n             * To do so, you will need to persist this number on your end, and compare the sequence number from the\n             * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n             */\n            entityEventSequence?: string;\n            /**\n             * Assumes actions are also always typed to an entity_type\n             * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n             */\n            entityFqdn?: string;\n            /**\n             * ID of the entity associated with the event.\n             */\n            entityId?: string;\n            /**\n             * Event timestamp.\n             */\n            eventTime?: Date;\n            /**\n             * If present, indicates the action that triggered the event.\n             */\n            originatedFrom?: string;\n            /**\n             * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n             * This is although the 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             * Whether the event was triggered as a result of a privacy regulation application\n             * (for example, GDPR).\n             */\n            triggeredByAnonymizeRequest?: boolean;\n            updatedEvent?: ReservationLocations.EntityUpdatedEvent;\n        };\n        type DomainEventBodyOneOf = {\n            actionEvent?: ReservationLocations.ActionEvent;\n            createdEvent?: ReservationLocations.EntityCreatedEvent;\n            deletedEvent?: ReservationLocations.EntityDeletedEvent;\n            updatedEvent?: ReservationLocations.EntityUpdatedEvent;\n        };\n        type EmailMarketingCheckbox = {\n            /**\n             * Whether the checkbox is checked by default.\n             *\n             * Default: `false`\n             */\n            checkedByDefault?: boolean;\n            /**\n             * Whether the checkbox is shown to the customer.\n             *\n             * Default: `false`\n             */\n            enabled?: boolean;\n        };\n        type Empty = {};\n        type EntityCreatedEvent = {\n            entityAsJson?: string;\n        };\n        type EntityDeletedEvent = {\n            /**\n             * Entity that was deleted\n             */\n            deletedEntityAsJson?: string;\n        };\n        type 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        type Feature = {\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             */\n            _id?: string;\n            /**\n             * Deprecated. Use `enabled` instead.\n             */\n            booleanFeature?: ReservationLocations.BooleanFeature;\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?: ReservationLocations.FeatureContext;\n            /**\n             * Deprecated.\n             */\n            createdAt?: Date;\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             * 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             * Deprecated. Use `quotaInfo` instead.\n             */\n            quotaFeature?: ReservationLocations.QuotaFeature;\n            /**\n             * Information about how often customers can use the feature during a specific\n             * period. Available only for quota features.\n             */\n            quotaInfo?: ReservationLocations.QuotaInfo;\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;\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             * Deprecated.\n             */\n            updatedAt?: Date;\n        };\n        type FeatureCancelled = {\n            /**\n             * Information about the feature cancellation.\n             */\n            cancelRequest?: ReservationLocations.CancelRequestedReason;\n            /**\n             * Information about the contract switch.\n             */\n            contractSwitched?: ReservationLocations.ContractSwitchedReason;\n            /**\n             * Canceled feature.\n             */\n            feature?: ReservationLocations.Feature;\n            /**\n             * Information about a transfer to the account.\n             * __Deprecated__. Use `reason.transferred_to_account` instead.\n             */\n            transferredToAccount?: string;\n            /**\n             * Information about a transfer to the account.\n             */\n            transferredToAnotherAccount?: ReservationLocations.TransferredToAnotherAccountReason;\n        };\n        type FeatureCancelledReasonOneOf = {\n            /**\n             * Information about the feature cancellation.\n             */\n            cancelRequest?: ReservationLocations.CancelRequestedReason;\n            /**\n             * Information about the contract switch.\n             */\n            contractSwitched?: ReservationLocations.ContractSwitchedReason;\n            /**\n             * Information about a transfer to the account.\n             */\n            transferredToAnotherAccount?: ReservationLocations.TransferredToAnotherAccountReason;\n        };\n        type FeatureContext = {\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;\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        type FeatureDisabled = {\n            /**\n             * Disabled feature. Includes information about the feature's new state,\n             * possibly its new context.\n             */\n            feature?: ReservationLocations.Feature;\n            /**\n             * ID of the meta site for which the feature has been disabled.\n             */\n            metaSiteId?: string;\n            /**\n             * Information about a feature that's been reassigned to a different\n             * site.\n             */\n            reassignedToAnotherSite?: ReservationLocations.ReassignedToAnotherSiteReason;\n            /**\n             * Information about a feature that's been replaced by a feature from a\n             * different subscription.\n             */\n            replacedByAnotherSubscription?: ReservationLocations.ReplacedByAnotherSubscriptionReason;\n            /**\n             * Information about a feature that's no longer assigned to a site.\n             */\n            unassingedToFloating?: ReservationLocations.UnAssingedToFloatingReason;\n        };\n        type FeatureDisabledReasonOneOf = {\n            /**\n             * Information about a feature that's been reassigned to a different\n             * site.\n             */\n            reassignedToAnotherSite?: ReservationLocations.ReassignedToAnotherSiteReason;\n            /**\n             * Information about a feature that's been replaced by a feature from a\n             * different subscription.\n             */\n            replacedByAnotherSubscription?: ReservationLocations.ReplacedByAnotherSubscriptionReason;\n            /**\n             * Information about a feature that's no longer assigned to a site.\n             */\n            unassingedToFloating?: ReservationLocations.UnAssingedToFloatingReason;\n        };\n        type FeatureEnabled = {\n            /**\n             * Information about a feature that hadn't been assigned to site.\n             */\n            assignedFromFloating?: ReservationLocations.AssignedFromFloatingReason;\n            /**\n             * Information about the contract switch.\n             */\n            contractSwitched?: ReservationLocations.ContractSwitchedReason;\n            /**\n             * Enabled feature.\n             */\n            feature?: ReservationLocations.Feature;\n            /**\n             * Information about the manually created features.\n             */\n            manualFeatureCreation?: ReservationLocations.ManualFeatureCreationReason;\n            /**\n             * Information about a feature that was migrated from legacy.\n             */\n            migratedFromLegacy?: ReservationLocations.MigratedFromLegacyReason;\n            /**\n             * Information about the new feature.\n             */\n            newFeature?: ReservationLocations.NewFeatureReason;\n            /**\n             * Information about a transfer from another site.\n             * __Deprecated__. Use `reason.reassigned_from_site` instead.\n             */\n            reassignedFromMetasite?: string;\n            /**\n             * Information about a transfer from another site.\n             */\n            reassignedFromSite?: ReservationLocations.ReassignedFromSiteReason;\n            /**\n             * Information about a transfer from another account.\n             * __Deprecated__. Use `reason.transferred_from_another_account` instead.\n             */\n            transferredFromAccount?: string;\n            /**\n             * Information about a transfer from another account.\n             */\n            transferredFromAnotherAccount?: ReservationLocations.TransferredFromAnotherAccountReason;\n        };\n        type FeatureEnabledReasonOneOf = {\n            /**\n             * Information about a feature that hadn't been assigned to site.\n             */\n            assignedFromFloating?: ReservationLocations.AssignedFromFloatingReason;\n            /**\n             * Information about the contract switch.\n             */\n            contractSwitched?: ReservationLocations.ContractSwitchedReason;\n            /**\n             * Information about the manually created features.\n             */\n            manualFeatureCreation?: ReservationLocations.ManualFeatureCreationReason;\n            /**\n             * Information about a feature that was migrated from legacy.\n             */\n            migratedFromLegacy?: ReservationLocations.MigratedFromLegacyReason;\n            /**\n             * Information about the new feature.\n             */\n            newFeature?: ReservationLocations.NewFeatureReason;\n            /**\n             * Information about a transfer from another site.\n             */\n            reassignedFromSite?: ReservationLocations.ReassignedFromSiteReason;\n            /**\n             * Information about a transfer from another account.\n             */\n            transferredFromAnotherAccount?: ReservationLocations.TransferredFromAnotherAccountReason;\n        };\n        type FeatureEvent = {\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?: ReservationLocations.FeatureCancelled;\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?: ReservationLocations.FeatureDisabled;\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?: ReservationLocations.FeatureEnabled;\n            /**\n             * Timestamp of the event in\n             * [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).\n             */\n            timestamp?: Date;\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?: ReservationLocations.FeatureUpdated;\n        };\n        type FeatureEventEventOneOf = {\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?: ReservationLocations.FeatureCancelled;\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?: ReservationLocations.FeatureDisabled;\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?: ReservationLocations.FeatureEnabled;\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?: ReservationLocations.FeatureUpdated;\n        };\n        type FeatureQuantityInfoOneOf = {\n            /**\n             * Deprecated. Use `enabled` instead.\n             */\n            booleanFeature?: ReservationLocations.BooleanFeature;\n            /**\n             * Deprecated. Use `quotaInfo` instead.\n             */\n            quotaFeature?: ReservationLocations.QuotaFeature;\n        };\n        type FeatureUpdated = {\n            /**\n             * Information about a feature that doesn't have a usage quota.\n             */\n            booleanFeature?: ReservationLocations.BooleanFeature;\n            /**\n             * Information about the contract switch.\n             */\n            contractSwitched?: ReservationLocations.ContractSwitchedReason;\n            /**\n             * Updated feature. Includes information about the feature's new state and\n             * possibly its new context.\n             */\n            feature?: ReservationLocations.Feature;\n            /**\n             * Information about a feature that has a usage quota.\n             */\n            quotaFeature?: ReservationLocations.QuotaFeature;\n        };\n        type FeatureUpdatedPreviousQuantityInfoOneOf = {\n            /**\n             * Information about a feature that doesn't have a usage quota.\n             */\n            booleanFeature?: ReservationLocations.BooleanFeature;\n            /**\n             * Information about a feature that has a usage quota.\n             */\n            quotaFeature?: ReservationLocations.QuotaFeature;\n        };\n        type FeatureUpdatedReasonOneOf = {\n            /**\n             * Information about the contract switch.\n             */\n            contractSwitched?: ReservationLocations.ContractSwitchedReason;\n        };\n        type GetReservationLocationOptions = {\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?: Array<string>;\n        };\n        type GetReservationLocationRequest = {\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?: Array<string>;\n            /**\n             * ID of the ReservationLocation to retrieve.\n             */\n            reservationLocationId: string;\n        };\n        type GetReservationLocationResponse = {\n            /**\n             * The retrieved reservation location.\n             */\n            reservationLocation?: ReservationLocations.ReservationLocation;\n        };\n        type InvalidateCache = {\n            /**\n             * Invalidate by App\n             */\n            app?: ReservationLocations.App;\n            /**\n             * Is local DS\n             */\n            localDc?: boolean;\n            /**\n             * Invalidate by msId. NOT recommended, as this will invalidate the entire site cache!\n             */\n            metaSiteId?: string;\n            /**\n             * Invalidate by page id\n             */\n            page?: ReservationLocations.Page;\n            /**\n             * tell us why you're invalidating the cache. You don't need to add your app name\n             */\n            reason?: string;\n            /**\n             * Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache!\n             */\n            siteId?: string;\n            /**\n             * Invalidate by URI path\n             */\n            uri?: ReservationLocations.URI;\n        };\n        type InvalidateCacheGetByOneOf = {\n            /**\n             * Invalidate by App\n             */\n            app?: ReservationLocations.App;\n            /**\n             * Invalidate by msId. NOT recommended, as this will invalidate the entire site cache!\n             */\n            metaSiteId?: string;\n            /**\n             * Invalidate by page id\n             */\n            page?: ReservationLocations.Page;\n            /**\n             * Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache!\n             */\n            siteId?: string;\n            /**\n             * Invalidate by URI path\n             */\n            uri?: ReservationLocations.URI;\n        };\n        type ListReservationLocationsOptions = {\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?: Array<string>;\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             */\n            paging?: ReservationLocations.CursorPaging;\n            /**\n             * Sorting for the locations list.\n             */\n            sort?: ReservationLocations.Sorting;\n        };\n        type ListReservationLocationsRequest = {\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?: Array<string>;\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             */\n            paging?: ReservationLocations.CursorPaging;\n            /**\n             * Sorting for the locations list.\n             */\n            sort?: ReservationLocations.Sorting;\n        };\n        type ListReservationLocationsResponse = {\n            /**\n             * Metadata for the paginated results.\n             */\n            pagingMetadata?: ReservationLocations.CursorPagingMetadata;\n            /**\n             * Locations list.\n             */\n            reservationLocations?: Array<ReservationLocations.ReservationLocation>;\n        };\n        type Location = {\n            /**\n             * Location ID.\n             */\n            _id?: string;\n        };\n        type ManualApproval = {\n            /**\n             * Custom approvals provider id.\n             */\n            customApprovalsProviderId?: string;\n            /**\n             * Whether manual approval is required for online reservations.\n             */\n            enabled?: boolean;\n            /**\n             * The minimum party size that requires manual approval.\n             */\n            partySizeThreshold?: number;\n        };\n        type ManualApprovalValueOneOf = {\n            /**\n             * Custom approvals provider id.\n             */\n            customApprovalsProviderId?: string;\n            /**\n             * The minimum party size that requires manual approval.\n             */\n            partySizeThreshold?: number;\n        };\n        type ManualFeatureCreationReason = {};\n        type MetaSiteSpecialEvent = {\n            /**\n             * A list of \"assets\" (applications). The same as MetaSiteContext.\n             */\n            assets?: Array<ReservationLocations.Asset>;\n            /**\n             * Emitted when meta site was permanently deleted.\n             */\n            hardDeleted?: ReservationLocations.SiteHardDeleted;\n            /**\n             * A meta site id.\n             */\n            metaSiteId?: string;\n            /**\n             * Emitted on a namespace change.\n             */\n            namespaceChanged?: ReservationLocations.NamespaceChanged;\n            /**\n             * Emitted when an application is provisioned (installed).\n             */\n            serviceProvisioned?: ReservationLocations.ServiceProvisioned;\n            /**\n             * Emitted when an application is removed (uninstalled).\n             */\n            serviceRemoved?: ReservationLocations.ServiceRemoved;\n            /**\n             * Emitted on a meta site creation.\n             */\n            siteCreated?: ReservationLocations.SiteCreated;\n            /**\n             * Emitted on a meta site deletion.\n             */\n            siteDeleted?: ReservationLocations.SiteDeleted;\n            /**\n             * Emitted when meta site is marked as template.\n             */\n            siteMarkedAsTemplate?: ReservationLocations.SiteMarkedAsTemplate;\n            /**\n             * Emitted when meta site is marked as a WixSite.\n             */\n            siteMarkedAsWixSite?: ReservationLocations.SiteMarkedAsWixSite;\n            /**\n             * Emitted on the first* publish of the meta site (* switching from unpublished to published state).\n             */\n            sitePublished?: ReservationLocations.SitePublished;\n            /**\n             * Emitted when meta site name (URL slug) is changed.\n             */\n            siteRenamedPayload?: ReservationLocations.SiteRenamed;\n            /**\n             * Emitted on a meta site transfer completion.\n             */\n            siteTransferred?: ReservationLocations.SiteTransferred;\n            /**\n             * Emitted on a meta site restoration.\n             */\n            siteUndeleted?: ReservationLocations.SiteUndeleted;\n            /**\n             * Emitted on a meta site unpublish.\n             */\n            siteUnpublished?: ReservationLocations.SiteUnpublished;\n            /**\n             * Emitted when Studio is attached.\n             */\n            studioAssigned?: ReservationLocations.StudioAssigned;\n            /**\n             * Emitted when Studio is detached.\n             */\n            studioUnassigned?: ReservationLocations.StudioUnassigned;\n            /**\n             * A timestamp of the event.\n             */\n            timestamp?: string;\n            /**\n             * A meta site version. Monotonically increasing.\n             */\n            version?: string;\n        };\n        type MetaSiteSpecialEventPayloadOneOf = {\n            /**\n             * Emitted when meta site was permanently deleted.\n             */\n            hardDeleted?: ReservationLocations.SiteHardDeleted;\n            /**\n             * Emitted on a namespace change.\n             */\n            namespaceChanged?: ReservationLocations.NamespaceChanged;\n            /**\n             * Emitted when an application is provisioned (installed).\n             */\n            serviceProvisioned?: ReservationLocations.ServiceProvisioned;\n            /**\n             * Emitted when an application is removed (uninstalled).\n             */\n            serviceRemoved?: ReservationLocations.ServiceRemoved;\n            /**\n             * Emitted on a meta site creation.\n             */\n            siteCreated?: ReservationLocations.SiteCreated;\n            /**\n             * Emitted on a meta site deletion.\n             */\n            siteDeleted?: ReservationLocations.SiteDeleted;\n            /**\n             * Emitted when meta site is marked as template.\n             */\n            siteMarkedAsTemplate?: ReservationLocations.SiteMarkedAsTemplate;\n            /**\n             * Emitted when meta site is marked as a WixSite.\n             */\n            siteMarkedAsWixSite?: ReservationLocations.SiteMarkedAsWixSite;\n            /**\n             * Emitted on the first* publish of the meta site (* switching from unpublished to published state).\n             */\n            sitePublished?: ReservationLocations.SitePublished;\n            /**\n             * Emitted when meta site name (URL slug) is changed.\n             */\n            siteRenamedPayload?: ReservationLocations.SiteRenamed;\n            /**\n             * Emitted on a meta site transfer completion.\n             */\n            siteTransferred?: ReservationLocations.SiteTransferred;\n            /**\n             * Emitted on a meta site restoration.\n             */\n            siteUndeleted?: ReservationLocations.SiteUndeleted;\n            /**\n             * Emitted on a meta site unpublish.\n             */\n            siteUnpublished?: ReservationLocations.SiteUnpublished;\n            /**\n             * Emitted when Studio is attached.\n             */\n            studioAssigned?: ReservationLocations.StudioAssigned;\n            /**\n             * Emitted when Studio is detached.\n             */\n            studioUnassigned?: ReservationLocations.StudioUnassigned;\n        };\n        type MigrateOldRestaurantSettingsRequest = {\n            /**\n             * Mode.\n             */\n            mode?: string;\n            /**\n             * Override not default.\n             */\n            overrideNotDefault?: boolean;\n        };\n        type MigrateOldRestaurantSettingsResponse = {\n            /**\n             * Migration results.\n             */\n            migrationResults?: Array<ReservationLocations.MigrationResult>;\n        };\n        type MigratedFromLegacyReason = {};\n        type MigrationParsingError = {\n            /**\n             * Message.\n             */\n            message?: string;\n            /**\n             * Field.\n             */\n            path?: string;\n            /**\n             * Target.\n             */\n            target?: Object;\n        };\n        type MigrationResult = {\n            /**\n             * Migration parsing errors.\n             */\n            migrationParsingErrors?: Array<ReservationLocations.MigrationParsingError>;\n            /**\n             * Old settings.\n             */\n            oldSettings?: Object;\n            /**\n             * Parsed settings.\n             */\n            parsedSettings?: ReservationLocations.ParsedSettings;\n            /**\n             * The migrated ReservationLocation.\n             */\n            reservationLocation?: ReservationLocations.ReservationLocation;\n        };\n        type MyReservationsField = {\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             */\n            customFieldId?: string;\n            /**\n             * Field type.\n             */\n            fieldType?: string;\n            /**\n             * Whether the field is shown.\n             */\n            shown?: boolean;\n        };\n        type NamespaceChanged = {\n            /**\n             * A new namespace.\n             */\n            newNamespace?: string;\n            /**\n             * A previous namespace.\n             */\n            oldNamespace?: string;\n        };\n        type NewFeatureReason = {};\n        type NoticePeriod = {\n            /**\n             * The quantity of the chosen time unit.\n             */\n            number?: number;\n            /**\n             * Time unit.\n             *\n             * Supported values:\n             * 'UNKNOWN', 'MINUTES, 'HOURS', 'DAYS'.\n             */\n            unit?: string;\n        };\n        type OldCustomField = {\n            label?: string;\n            required?: boolean;\n        };\n        type OldInstant = {\n            day?: number;\n            hour?: number;\n            minute?: number;\n            month?: number;\n            year?: number;\n        };\n        type OldPolicy = {\n            isPlainText?: boolean;\n            value?: string;\n        };\n        type OldScheduleException = {\n            available?: boolean;\n            comment?: string;\n            end?: ReservationLocations.OldInstant;\n            start?: ReservationLocations.OldInstant;\n        };\n        type OldScheduleInterval = {\n            durationMins?: number;\n            minuteOfWeek?: number;\n        };\n        type OldTerms = {\n            isPlainText?: boolean;\n            value?: string;\n        };\n        type OnlineReservations = {\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?: ReservationLocations.BusinessSchedule;\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;\n            /**\n             * Manual approval settings.\n             */\n            manualApproval?: ReservationLocations.ManualApproval;\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?: ReservationLocations.NoticePeriod;\n            /**\n             * Whether online reservations are enabled.\n             */\n            onlineReservationsEnabled?: boolean;\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?: ReservationLocations.PartyPacing;\n            /**\n             * Party size limits for a reservation.\n             */\n            partySize?: ReservationLocations.PartySize;\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?: ReservationLocations.SeatPacing;\n            /**\n             * Whether a phone number is shown.\n             */\n            showPhoneNumber?: boolean;\n            /**\n             * Custom turnover time rules.\n             *\n             * This allows you to set different turnover times for different party sizes.\n             */\n            turnoverTimeRules?: Array<ReservationLocations.TurnoverTimeRule>;\n        };\n        type Page = {\n            /**\n             * the msid the page is on\n             */\n            metaSiteId?: string;\n            /**\n             * Invalidate by Page ID\n             */\n            pageId?: string;\n        };\n        type Paging = {\n            /**\n             * Number of items to load.\n             */\n            limit?: number;\n            /**\n             * Number of items to skip in the current sort order.\n             */\n            offset?: number;\n        };\n        type PagingMetadataV2 = {\n            /**\n             * Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used.\n             */\n            cursors?: ReservationLocations.Cursors;\n            /**\n             * Offset that was requested.\n             */\n            offset?: number;\n        };\n        type ParsedSettings = {\n            available?: boolean;\n            customFields?: Array<ReservationLocations.OldCustomField>;\n            futureDelayMins?: number;\n            locale?: string;\n            partySizeMax?: number;\n            partySizeMin?: number;\n            privacyPolicy?: ReservationLocations.OldPolicy;\n            scheduleExceptions?: Array<ReservationLocations.OldScheduleException>;\n            termsAndConditions?: ReservationLocations.OldTerms;\n            weeklySchedule?: Array<ReservationLocations.OldScheduleInterval>;\n        };\n        type PartiesSize = {\n            /**\n             * Maximum number of seats a party can reserve.\n             */\n            max?: number;\n            /**\n             * Minimum number of seats a party can reserve.\n             */\n            min?: number;\n        };\n        type PartyPacing = {\n            /**\n             * Whether this option is enabled.\n             */\n            enabled?: boolean;\n            /**\n             * Maximum number of new party reservations that can be made every 15 minutes.\n             */\n            number?: number;\n        };\n        type PartySize = {\n            /**\n             * Maximum number of seats a party can reserve.\n             */\n            max?: number;\n            /**\n             * Minimum number of seats a party can reserve.\n             */\n            min?: number;\n        };\n        type PrivacyPolicy = {\n            /**\n             * Whether the privacy policy is shown to the customer.\n             *\n             * Default: `false`\n             */\n            enabled?: boolean;\n            /**\n             * Privacy policy text.\n             */\n            text?: string;\n            /**\n             * Privacy policy URL.\n             */\n            url?: string;\n        };\n        type PrivacyPolicyValueOneOf = {\n            /**\n             * Privacy policy text.\n             */\n            text?: string;\n            /**\n             * Privacy policy URL.\n             */\n            url?: string;\n        };\n        type QueryReservationLocationsOptions = {\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?: Array<string>;\n        };\n        type QueryReservationLocationsRequest = {\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?: Array<string>;\n            /**\n             * Query options.\n             */\n            query: ReservationLocations.QueryV2;\n        };\n        type QueryReservationLocationsResponse = {\n            /**\n             * Metadata for the paginated results.\n             */\n            pagingMetadata?: ReservationLocations.PagingMetadataV2;\n            /**\n             * List of reservation locations\n             */\n            reservationLocations?: Array<ReservationLocations.ReservationLocation>;\n        };\n        type QueryV2 = {\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             */\n            cursorPaging?: ReservationLocations.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?: Object;\n            /**\n             * Paging options to limit and skip the number of items.\n             */\n            paging?: ReservationLocations.Paging;\n            /**\n             * Sort object in the following format:\n             * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n             */\n            sort?: Array<ReservationLocations.Sorting>;\n        };\n        type QueryV2PagingMethodOneOf = {\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             */\n            cursorPaging?: ReservationLocations.CursorPaging;\n            /**\n             * Paging options to limit and skip the number of items.\n             */\n            paging?: ReservationLocations.Paging;\n        };\n        type QuotaFeature = {\n            /**\n             * Default (or Freemium) quota limitation. if left undefined the free feature has unlimited amount.\n             */\n            limit?: string;\n            /**\n             * Periodic time-frame to reset the usage counter. You may use NO_PERIOD if counter shouldn't be reset.\n             */\n            period?: string;\n            /**\n             * Usage measurement units (seconds? MBs? unitless?). Usage reported will be counted in multiples of this basic unit.\n             */\n            units?: string;\n        };\n        type QuotaInfo = {\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 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;\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?: 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;\n        };\n        type ReassignedFromSiteReason = {\n            /**\n             * Information about a transfer from another site.\n             */\n            reassignedFromMetasite?: string;\n        };\n        type ReassignedToAnotherSiteReason = {\n            /**\n             * Information about a transfer to the site.\n             */\n            reassignedToMetasite?: string;\n        };\n        type ReplacedByAnotherSubscriptionReason = {};\n        type ReservationForm = {\n            /**\n             * Custom fields you wish to add to the registration form for the customer to fill in.\n             */\n            customFieldDefinitions?: Array<ReservationLocations.CustomFieldDefinition>;\n            /**\n             * Email marketing checkbox settings.\n             */\n            emailMarketingCheckbox?: ReservationLocations.EmailMarketingCheckbox;\n            /**\n             * Whether an email is required in the reservation form.\n             *\n             * Default: `false`\n             */\n            emailRequired?: boolean;\n            /**\n             * Whether a last_name is required in the reservation form.\n             *\n             * Default: `false`\n             */\n            lastNameRequired?: boolean;\n            /**\n             * Whether to show policies (the terms and conditions, and the privacy policy) to the customer.\n             */\n            policiesEnabled?: boolean;\n            /**\n             * Settings for displaying the privacy policy.\n             */\n            privacyPolicy?: ReservationLocations.PrivacyPolicy;\n            /**\n             * A message shown to the customer in the registration form.\n             */\n            submitMessage?: string;\n            /**\n             * Settings for displaying the terms and conditions.\n             */\n            termsAndConditions?: ReservationLocations.TermsAndConditions;\n        };\n        type ReservationLocation = {\n            /**\n             * The date and time this reservation location was created.\n             */\n            _createdDate?: Date;\n            /**\n             * Reservation location ID.\n             */\n            _id?: string;\n            /**\n             * The date and time this reservation location was last updated.\n             */\n            _updatedDate?: Date;\n            /**\n             * Whether this reservation location's `location` is archived.\n             */\n            archived?: boolean;\n            /**\n             * Reservation location configuration.\n             */\n            configuration?: ReservationLocations.Configuration;\n            /**\n             * Whether this reservation location's `location` is the default location of the business.\n             */\n            default?: boolean;\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             */\n            location?: ReservationLocations.Location;\n            /**\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             */\n            revision?: string;\n        };\n        type SeatPacing = {\n            /**\n             * Whether this option is enabled.\n             */\n            enabled?: boolean;\n            /**\n             * Maximum number of seats that can be reserved every 15 minutes.\n             */\n            number?: number;\n        };\n        type ServiceProvisioned = {\n            /**\n             * Either UUID or EmbeddedServiceType.\n             */\n            appDefId?: string;\n            /**\n             * Not only UUID. Something here could be something weird.\n             */\n            instanceId?: string;\n            /**\n             * An instance id from which this instance is originated.\n             */\n            originInstanceId?: string;\n            /**\n             * A version.\n             */\n            version?: string;\n        };\n        type ServiceRemoved = {\n            /**\n             * Either UUID or EmbeddedServiceType.\n             */\n            appDefId?: string;\n            /**\n             * Not only UUID. Something here could be something weird.\n             */\n            instanceId?: string;\n            /**\n             * A version.\n             */\n            version?: string;\n        };\n        type SiteCreated = {\n            /**\n             * A context in which meta site was created.\n             */\n            context?: string;\n            /**\n             * A namespace.\n             */\n            namespace?: string;\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;\n            /**\n             * A template identifier (empty if not created from a template).\n             */\n            originTemplateId?: string;\n            /**\n             * An account id of the owner.\n             */\n            ownerId?: string;\n            /**\n             * A meta site name (URL slug).\n             */\n            siteName?: string;\n        };\n        type SiteDeleted = {\n            /**\n             * A deletion context.\n             */\n            deleteContext?: ReservationLocations.DeleteContext;\n        };\n        type SiteHardDeleted = {\n            /**\n             * A deletion context.\n             */\n            deleteContext?: ReservationLocations.DeleteContext;\n        };\n        type SiteMarkedAsTemplate = {};\n        type SiteMarkedAsWixSite = {};\n        type SitePublished = {};\n        type SiteRenamed = {\n            /**\n             * A new meta site name (URL slug).\n             */\n            newSiteName?: string;\n            /**\n             * A previous meta site name (URL slug).\n             */\n            oldSiteName?: string;\n        };\n        type SiteTransferred = {\n            /**\n             * A new owner id (user that accepts meta site).\n             */\n            newOwnerId?: string;\n            /**\n             * A previous owner id (user that transfers meta site).\n             */\n            oldOwnerId?: string;\n        };\n        type SiteUndeleted = {};\n        type SiteUnpublished = {\n            /**\n             * A list of URLs previously associated with the meta site.\n             */\n            urls?: Array<string>;\n        };\n        type Sorting = {\n            /**\n             * Name of the field to sort by.\n             */\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?: string;\n        };\n        type SpecialHourPeriod = {\n            /**\n             * Additional details about the period.\n             */\n            comment?: string;\n            /**\n             * End date and time in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format.\n             */\n            endDate?: string;\n            /**\n             * Whether or not the location is closed during this period.\n             */\n            isClosed?: boolean;\n            /**\n             * Start date and time in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format.\n             */\n            startDate?: string;\n        };\n        type StreetAddress = {\n            /**\n             * Apartment number.\n             */\n            apt?: string;\n            /**\n             * Street name.\n             */\n            name?: string;\n            /**\n             * Street number.\n             */\n            number?: string;\n        };\n        type StudioAssigned = {};\n        type StudioUnassigned = {};\n        type TableCombination = {\n            /**\n             * Table combination ID.\n             */\n            _id?: string;\n            /**\n             * Whether the table combination is active (available to be reserved).\n             */\n            isActive?: boolean;\n            /**\n             * Maximum number of seats that can be reserved in this table combination.\n             */\n            seatsMax?: number;\n            /**\n             * Minimum number of seats that can be reserved in this table combination.\n             */\n            seatsMin?: number;\n            /**\n             * IDs of tables in the combination.\n             */\n            tableIds?: Array<string>;\n        };\n        type TableDefinition = {\n            /**\n             * Table ID.\n             */\n            _id?: string;\n            /**\n             * Whether the table is active (available to be reserved).\n             */\n            isActive?: boolean;\n            /**\n             * Table name.\n             */\n            name?: string;\n            /**\n             * Maximum number of seats.\n             */\n            seatsMax?: number;\n            /**\n             * Minimum number of seats.\n             */\n            seatsMin?: number;\n        };\n        type TableManagement = {\n            /**\n             * Deleted table definitions.\n             */\n            deletedTableDefinitions?: Array<ReservationLocations.TableDefinition>;\n            /**\n             * Table combinations.\n             */\n            tableCombinations?: Array<ReservationLocations.TableCombination>;\n            /**\n             * Table definitions.\n             */\n            tableDefinitions?: Array<ReservationLocations.TableDefinition>;\n        };\n        type TablesDeleted = {\n            /**\n             * ID of the affected reservation location.\n             */\n            reservationLocationId?: string;\n            /**\n             * IDs of deleted tables.\n             */\n            tableIds?: Array<string>;\n        };\n        type TermsAndConditions = {\n            /**\n             * Whether the terms and conditions are shown to the customer.\n             *\n             * Default: `false`\n             */\n            enabled?: boolean;\n            /**\n             * Terms and conditions text.\n             */\n            text?: string;\n            /**\n             * Terms and conditions URL.\n             */\n            url?: string;\n        };\n        type TermsAndConditionsValueOneOf = {\n            /**\n             * Terms and conditions text.\n             */\n            text?: string;\n            /**\n             * Terms and conditions URL.\n             */\n            url?: string;\n        };\n        type TimePeriod = {\n            /**\n             * Day of the week this period ends on.\n             */\n            closeDay?: string;\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             * Day of the week this period starts on.\n             */\n            openDay?: string;\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        };\n        type TransferredFromAnotherAccountReason = {\n            /**\n             * Information about a transfer from another account.\n             */\n            transferredFromAccount?: string;\n        };\n        type TransferredToAnotherAccountReason = {\n            /**\n             * Information about a transfer to the account.\n             */\n            transferredToAccount?: string;\n        };\n        type TurnoverRule = {\n            /**\n             * Maximum number of seats to qualify for this rule.\n             */\n            maxSeats?: number;\n            /**\n             * Minimum number of seats to qualify for this rule.\n             */\n            minSeats?: number;\n            /**\n             * Turnover time in minutes for qualifying parties.\n             */\n            minutes?: number;\n        };\n        type TurnoverTimeRule = {\n            /**\n             * Turnover time in minutes for qualifying parties.\n             */\n            minutes?: number;\n            /**\n             * Maximum number of seats to qualify for this rule.\n             */\n            seatsMax?: number;\n            /**\n             * Minimum number of seats to qualify for this rule.\n             */\n            seatsMin?: number;\n        };\n        type URI = {\n            /**\n             * the msid the URI is on\n             */\n            metaSiteId?: string;\n            /**\n             * URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes\n             */\n            uriPath?: string;\n        };\n        type UnAssingedToFloatingReason = {};\n        type UpdateReservationLocation = {\n            /**\n             * The date and time this reservation location was created.\n             */\n            _createdDate?: Date;\n            /**\n             * Reservation location ID.\n             */\n            _id?: string;\n            /**\n             * The date and time this reservation location was last updated.\n             */\n            _updatedDate?: Date;\n            /**\n             * Whether this reservation location's `location` is archived.\n             */\n            archived?: boolean;\n            /**\n             * Reservation location configuration.\n             */\n            configuration?: ReservationLocations.Configuration;\n            /**\n             * Whether this reservation location's `location` is the default location of the business.\n             */\n            default?: boolean;\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             */\n            location?: ReservationLocations.Location;\n            /**\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             */\n            revision?: string;\n        };\n        type UpdateReservationLocationOptions = {};\n        type UpdateReservationLocationRequest = {\n            /**\n             * ReservationLocation to be updated, may be partial.\n             */\n            reservationLocation: ReservationLocations.ReservationLocation;\n        };\n        type UpdateReservationLocationResponse = {\n            /**\n             * The updated reservation location.\n             */\n            reservationLocation?: ReservationLocations.ReservationLocation;\n        };\n        /**\n         * [Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.ReservationLocations.ReservationLocationsQueryBuilder.html#)\n         */\n        interface ReservationLocationsQueryBuilder {\n            /**\n             * Refines a query to match items where the specified property equals the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.ReservationLocations.ReservationLocationsQueryBuilder.html#eq)\n             */\n            eq(propertyName: string, value: any): ReservationLocations.ReservationLocationsQueryBuilder;\n            /**\n             * Returns the query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.ReservationLocations.ReservationLocationsQueryBuilder.html#find)\n             */\n            find(): Promise<ReservationLocations.ReservationLocationsQueryResult>;\n            /**\n             * Refines a query to only match items where the specified property conatins any of the values in the provided array of values.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.ReservationLocations.ReservationLocationsQueryBuilder.html#in)\n             */\n            in(propertyName: string, value: any): ReservationLocations.ReservationLocationsQueryBuilder;\n            /**\n             * Limits the number of items the query returns.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.ReservationLocations.ReservationLocationsQueryBuilder.html#limit)\n             */\n            limit(limit: number): ReservationLocations.ReservationLocationsQueryBuilder;\n            /**\n             * Refines a query to match items where the specified property doesn't equal the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.ReservationLocations.ReservationLocationsQueryBuilder.html#ne)\n             */\n            ne(propertyName: string, value: any): ReservationLocations.ReservationLocationsQueryBuilder;\n            /**\n             * Refines a query that skips to a specific record.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.ReservationLocations.ReservationLocationsQueryBuilder.html#skipTo)\n             */\n            skipTo(cursor: string): ReservationLocations.ReservationLocationsQueryBuilder;\n        }\n        /**\n         * [Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.ReservationLocations.ReservationLocationsQueryResult.html#)\n         */\n        interface ReservationLocationsQueryResult {\n            /**\n             * Returns the query cursors.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.ReservationLocations.ReservationLocationsQueryResult.html#cursors)\n             */\n            cursors: ReservationLocations.Cursors;\n            /**\n             * Returns an array of `reservationLocations` items that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.ReservationLocations.ReservationLocationsQueryResult.html#items)\n             */\n            items: Array<ReservationLocations.ReservationLocation>;\n            /**\n             * Returns the number of items in the current page of results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.ReservationLocations.ReservationLocationsQueryResult.html#length)\n             */\n            length: number;\n            /**\n             * Returns the requested page size.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.ReservationLocations.ReservationLocationsQueryResult.html#pageSize)\n             */\n            pageSize: number;\n            /**\n             * Returns the `ReservationLocationsQueryBuilder` object used to get the current results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.ReservationLocations.ReservationLocationsQueryResult.html#query)\n             */\n            query: ReservationLocations.ReservationLocationsQueryBuilder;\n            /**\n             * Indicates whether the query has more results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.ReservationLocations.ReservationLocationsQueryResult.html#hasNext)\n             */\n            hasNext(): boolean;\n            /**\n             * Indicates whether the query has previous results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.ReservationLocations.ReservationLocationsQueryResult.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-table-reservations-v2.ReservationLocations.ReservationLocationsQueryResult.html#next)\n             */\n            next(): Promise<ReservationLocations.ReservationLocationsQueryResult>;\n            /**\n             * Retrieves the previous page of query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.ReservationLocations.ReservationLocationsQueryResult.html#prev)\n             */\n            prev(): Promise<ReservationLocations.ReservationLocationsQueryResult>;\n        }\n        /**\n         * [Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.ReservationLocations.ReservationLocationsQueryBuilder.html#)\n         */\n        namespace ReservationLocationsQueryBuilder {\n        }\n        /**\n         * [Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.ReservationLocations.ReservationLocationsQueryResult.html#)\n         */\n        namespace ReservationLocationsQueryResult {\n        }\n    }\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.html#)\n     */\n    namespace Reservations {\n        type ActionEvent = {\n            bodyAsJson?: string;\n        };\n        type Aggregation = {\n            dateHistogram?: Reservations.DateHistogramAggregation;\n            fieldPath?: string;\n            groupBy?: Reservations.GroupByAggregation;\n            name?: string;\n            nested?: Reservations.NestedAggregation;\n            range?: Reservations.RangeAggregation;\n            scalar?: Reservations.ScalarAggregation;\n            /**\n             * Supported values:\n             * - `'DATE_HISTOGRAM'`\n             * - `'NESTED'`\n             * - `'RANGE'`\n             * - `'SCALAR'`\n             * - `'UNKNOWN_AGGREGATION_TYPE'`\n             * - `'VALUE'`\n             */\n            type?: string;\n            value?: Reservations.ValueAggregation;\n        };\n        type AggregationData = {\n            /**\n             * key = aggregation name (as derived from search request)\n             */\n            results?: Array<Reservations.AggregationResults>;\n        };\n        type AggregationKindOneOf = {\n            dateHistogram?: Reservations.DateHistogramAggregation;\n            nested?: Reservations.NestedAggregation;\n            range?: Reservations.RangeAggregation;\n            scalar?: Reservations.ScalarAggregation;\n            value?: Reservations.ValueAggregation;\n        };\n        type AggregationResults = {\n            dateHistogram?: Reservations.DateHistogramResults;\n            fieldPath?: string;\n            groupedByValue?: Reservations.GroupByValueResults;\n            name?: string;\n            nested?: Reservations.NestedResults;\n            ranges?: Reservations.RangeResults;\n            scalar?: Reservations.ScalarResult;\n            /**\n             * Supported values:\n             * - `'DATE_HISTOGRAM'`\n             * - `'NESTED'`\n             * - `'RANGE'`\n             * - `'SCALAR'`\n             * - `'UNKNOWN_AGGREGATION_TYPE'`\n             * - `'VALUE'`\n             */\n            type?: string;\n            values?: Reservations.ValueResults;\n        };\n        type AggregationResultsResultOneOf = {\n            dateHistogram?: Reservations.DateHistogramResults;\n            groupedByValue?: Reservations.GroupByValueResults;\n            nested?: Reservations.NestedResults;\n            ranges?: Reservations.RangeResults;\n            scalar?: Reservations.ScalarResult;\n            values?: Reservations.ValueResults;\n        };\n        type 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;\n        };\n        type CancelReservationRequest = {\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;\n            /**\n             * Reservation ID.\n             */\n            reservationId: string;\n            /**\n             * Revision number.\n             *\n             * Include the existing `revision` to prevent conflicting updates to reservations.\n             */\n            revision: string;\n        };\n        type CancelReservationResponse = {\n            /**\n             * Reservation.\n             */\n            reservation?: Reservations.Reservation;\n        };\n        type CreateHeldReservationRequest = {\n            /**\n             * Held reservation information to update.\n             */\n            reservationDetails: Reservations.HeldReservationDetails;\n        };\n        type CreateHeldReservationResponse = {\n            /**\n             * Reservation.\n             */\n            reservation?: Reservations.Reservation;\n        };\n        type CreateReservationOptions = {\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?: Array<string>;\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?: Array<string>;\n        };\n        type CreateReservationRequest = {\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?: Array<string>;\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?: Array<string>;\n            /**\n             * Reservation details.\n             */\n            reservation: Reservations.Reservation;\n        };\n        type CreateReservationResponse = {\n            /**\n             * Reservation.\n             */\n            reservation?: Reservations.Reservation;\n        };\n        type CursorPaging = {\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;\n            /**\n             * Number of items to load.\n             */\n            limit?: number;\n        };\n        type CursorPagingMetadata = {\n            /**\n             * Number of items returned in the response.\n             */\n            count?: number;\n            /**\n             * Offset that was requested.\n             */\n            cursors?: Reservations.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;\n        };\n        type CursorQuery = {\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             */\n            cursorPaging?: Reservations.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?: Object;\n            /**\n             * Sort object in the following format:\n             * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n             */\n            sort?: Array<Reservations.Sorting>;\n        };\n        type CursorQueryPagingMethodOneOf = {\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             */\n            cursorPaging?: Reservations.CursorPaging;\n        };\n        type CursorSearch = {\n            /**\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             */\n            aggregations?: Array<Reservations.Aggregation>;\n            /**\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             */\n            cursorPaging?: Reservations.CursorPaging;\n            /**\n             * A filter object. See the filter section [here](https://dev.wix.com/docs/rnd-general/articles/p13n-guidelines-aips/guidance-aips/wix-api-basics/1011-wql-wix-query-language)\n             */\n            filter?: Object;\n            /**\n             * free text to match in searchable fields\n             */\n            search?: Reservations.SearchDetails;\n            /**\n             * Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]\n             */\n            sort?: Array<Reservations.Sorting>;\n        };\n        type CursorSearchPagingMethodOneOf = {\n            /**\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             */\n            cursorPaging?: Reservations.CursorPaging;\n        };\n        type Cursors = {\n            /**\n             * Cursor pointing to next page in the list of results.\n             */\n            next?: string;\n            /**\n             * Cursor pointing to previous page in the list of results.\n             */\n            prev?: string;\n        };\n        type DateHistogramAggregation = {\n            /**\n             * Supported values:\n             * - `'DAY'`\n             * - `'HOUR'`\n             * - `'MINUTE'`\n             * - `'MONTH'`\n             * - `'SECOND'`\n             * - `'UNKNOWN_INTERVAL'`\n             * - `'WEEK'`\n             * - `'YEAR'`\n             */\n            interval?: string;\n        };\n        type DateHistogramResult = {\n            count?: number;\n            value?: string;\n        };\n        type DateHistogramResults = {\n            results?: Array<Reservations.DateHistogramResult>;\n        };\n        type DeleteReservationRequest = {\n            /**\n             * Reservation ID.\n             */\n            reservationId: string;\n            revision?: string;\n        };\n        type DeleteReservationResponse = {};\n        type Details = {\n            /**\n             * End date and time of the reservation.\n             */\n            endDate?: Date;\n            /**\n             * Party size.\n             */\n            partySize?: number;\n            /**\n             * ID of the reservation location at which this reservation will be made.\n             */\n            reservationLocationId?: string;\n            /**\n             * Start date and time of the reservation.\n             */\n            startDate?: Date;\n            /**\n             * IDs of tables used for this reservation.\n             */\n            tableIds?: Array<string>;\n        };\n        type DomainEvent = {\n            /**\n             * Unique event ID.\n             * Allows clients to ignore duplicate webhooks.\n             */\n            _id?: string;\n            actionEvent?: Reservations.ActionEvent;\n            /**\n             * Information about the reservation that was created and event metadata.\n             */\n            createdEvent?: Reservations.EntityCreatedEvent;\n            deletedEvent?: Reservations.EntityDeletedEvent;\n            /**\n             * A sequence number defining the order of updates to the underlying entity.\n             * For example, given that some entity was updated at 16:00 and than again at 16:01,\n             * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n             * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n             * To do so, you will need to persist this number on your end, and compare the sequence number from the\n             * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n             */\n            entityEventSequence?: string;\n            /**\n             * Assumes actions are also always typed to an entity_type\n             * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n             */\n            entityFqdn?: string;\n            /**\n             * ID of the entity associated with the event.\n             */\n            entityId?: string;\n            /**\n             * Event timestamp.\n             */\n            eventTime?: Date;\n            /**\n             * If present, indicates the action that triggered the event.\n             */\n            originatedFrom?: string;\n            /**\n             * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n             * This is although the 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             * Whether the event was triggered as a result of a privacy regulation application\n             * (for example, GDPR).\n             */\n            triggeredByAnonymizeRequest?: boolean;\n            /**\n             * Information about the reservation that was updated and event metadata.\n             */\n            updatedEvent?: Reservations.EntityUpdatedEvent;\n        };\n        type DomainEventBodyOneOf = {\n            actionEvent?: Reservations.ActionEvent;\n            createdEvent?: Reservations.EntityCreatedEvent;\n            deletedEvent?: Reservations.EntityDeletedEvent;\n            updatedEvent?: Reservations.EntityUpdatedEvent;\n        };\n        type Empty = {};\n        type EntityCreatedEvent = {\n            /**\n             * Information about the reservation that was created in JSON format.\n             */\n            entityAsJson?: string;\n        };\n        type EntityDeletedEvent = {\n            /**\n             * Entity that was deleted\n             */\n            deletedEntityAsJson?: string;\n        };\n        type 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        type GetReservationOptions = {\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?: Array<string>;\n        };\n        type GetReservationRequest = {\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?: Array<string>;\n            /**\n             * Reservation ID.\n             */\n            reservationId: string;\n        };\n        type GetReservationResponse = {\n            /**\n             * Reservation.\n             */\n            reservation?: Reservations.Reservation;\n        };\n        type GroupByAggregation = {\n            fieldPath?: string;\n            name?: string;\n            value?: Reservations.ValueAggregation;\n        };\n        type GroupByAggregationKindOneOf = {\n            value?: Reservations.ValueAggregation;\n        };\n        type GroupByValueResults = {\n            results?: Array<Reservations.NestedValueAggregationResult>;\n        };\n        type HeldReservationDetails = {\n            /**\n             * Party size.\n             */\n            partySize?: number;\n            /**\n             * ID of the reservation location where the reservation is made.\n             */\n            reservationLocationId?: string;\n            /**\n             * Start date and time of the reservation.\n             */\n            startDate?: Date;\n        };\n        type IncludeMissingValuesOptions = {\n            /**\n             * can specify custom bucket name. Defaults are [string -> \"N/A\"], [int -> \"0\"], [bool -> \"false\"] ...\n             */\n            addToBucket?: string;\n        };\n        type ListReservationsOptions = {\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             */\n            paging?: Reservations.CursorPaging;\n            /**\n             * Defines how reservations in the response are sorted.\n             */\n            sort?: Reservations.Sorting;\n            /**\n             * Only reservations starting after this date are returned.\n             */\n            startDateFrom?: Date;\n            /**\n             * Only reservations starting before this date are returned.\n             */\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?: string;\n        };\n        type ListReservationsRequest = {\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             */\n            paging?: Reservations.CursorPaging;\n            /**\n             * Defines how reservations in the response are sorted.\n             */\n            sort?: Reservations.Sorting;\n            /**\n             * Only reservations starting after this date are returned.\n             */\n            startDateFrom?: Date;\n            /**\n             * Only reservations starting before this date are returned.\n             */\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?: string;\n        };\n        type ListReservationsResponse = {\n            /**\n             * Metadata for the paginated results.\n             */\n            pagingMetadata?: Reservations.CursorPagingMetadata;\n            /**\n             * List of reservations.\n             */\n            reservations?: Array<Reservations.Reservation>;\n        };\n        type MigrationNote = {};\n        type NestedAggregation = {\n            nestedAggregations?: Array<Reservations.NestedAggregationItem>;\n        };\n        type NestedAggregationItem = {\n            dateHistogram?: Reservations.DateHistogramAggregation;\n            fieldPath?: string;\n            name?: string;\n            range?: Reservations.RangeAggregation;\n            scalar?: Reservations.ScalarAggregation;\n            /**\n             * Supported values:\n             * - `'DATE_HISTOGRAM'`\n             * - `'RANGE'`\n             * - `'SCALAR'`\n             * - `'UNKNOWN_AGGREGATION_TYPE'`\n             * - `'VALUE'`\n             */\n            type?: string;\n            value?: Reservations.ValueAggregation;\n        };\n        type NestedAggregationItemKindOneOf = {\n            dateHistogram?: Reservations.DateHistogramAggregation;\n            range?: Reservations.RangeAggregation;\n            scalar?: Reservations.ScalarAggregation;\n            value?: Reservations.ValueAggregation;\n        };\n        type NestedAggregationResults = {\n            fieldPath?: string;\n            name?: string;\n            ranges?: Reservations.RangeResults;\n            scalar?: Reservations.ScalarResult;\n            /**\n             * Supported values:\n             * - `'DATE_HISTOGRAM'`\n             * - `'NESTED'`\n             * - `'RANGE'`\n             * - `'SCALAR'`\n             * - `'UNKNOWN_AGGREGATION_TYPE'`\n             * - `'VALUE'`\n             */\n            type?: string;\n            values?: Reservations.ValueResults;\n        };\n        type NestedAggregationResultsResultOneOf = {\n            ranges?: Reservations.RangeResults;\n            scalar?: Reservations.ScalarResult;\n            values?: Reservations.ValueResults;\n        };\n        type NestedResultValue = {\n            dateHistogram?: Reservations.ValueResult;\n            range?: Reservations.RangeResult;\n            scalar?: Reservations.NestedResultsScalarResult;\n            value?: Reservations.ValueResult;\n        };\n        type NestedResultValueResultOneOf = {\n            dateHistogram?: Reservations.ValueResult;\n            range?: Reservations.RangeResult;\n            scalar?: Reservations.NestedResultsScalarResult;\n            value?: Reservations.ValueResult;\n        };\n        type NestedResults = {\n            results?: Array<Reservations.Results>;\n        };\n        type NestedResultsScalarResult = {\n            value?: number;\n        };\n        type NestedValueAggregationResult = {\n            nestedResults?: Reservations.NestedAggregationResults;\n            value?: string;\n        };\n        type QueryReservationsRequest = {\n            /**\n             * Query to select reservations.\n             */\n            query: Reservations.CursorQuery;\n        };\n        type QueryReservationsResponse = {\n            /**\n             * Metadata for the paginated results.\n             */\n            pagingMetadata?: Reservations.CursorPagingMetadata;\n            /**\n             * List of reservations.\n             */\n            reservations?: Array<Reservations.Reservation>;\n        };\n        type RangeAggregation = {\n            buckets?: Array<Reservations.RangeBucket>;\n        };\n        type RangeAggregationResult = {\n            count?: number;\n            from?: number;\n            to?: number;\n        };\n        type RangeBucket = {\n            /**\n             * Inclusive lower bound of the range. Required if to is not given.\n             */\n            from?: number;\n            /**\n             * Exclusive upper bound of the range. Required if from is not given.\n             */\n            to?: number;\n        };\n        type RangeResult = {\n            count?: number;\n            from?: number;\n            to?: number;\n        };\n        type RangeResults = {\n            results?: Array<Reservations.RangeAggregationResult>;\n        };\n        type Reservation = {\n            /**\n             * Date and time the reservation was created.\n             */\n            _createdDate?: Date;\n            /**\n             * Reservation ID.\n             */\n            _id?: string;\n            /**\n             * Date and time the reservation was changed.\n             */\n            _updatedDate?: Date;\n            /**\n             * The reason the reservation was declined.\n             */\n            declineReason?: string;\n            /**\n             * Reservation details.\n             */\n            details?: Reservations.Details;\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             */\n            reservedBy?: Reservations.ReservedBy;\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?: Reservations.Reservee;\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             */\n            revision?: string;\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?: string;\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?: string;\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;\n        };\n        type ReservationCanceled = {\n            /**\n             * Reserved reservation.\n             */\n            reservation?: Reservations.Reservation;\n        };\n        type ReservationDataUpdated = {\n            /**\n             * Old reservation.\n             */\n            oldReservation?: Reservations.Reservation;\n            /**\n             * Reserved reservation.\n             */\n            reservation?: Reservations.Reservation;\n        };\n        type ReservationDetailsConflicts = {\n            /**\n             * Reservation location conflicts.\n             */\n            reservationLocationConflicts?: Array<Reservations.ReservationLocationConflict>;\n            /**\n             * Table combinations conflicts.\n             */\n            tableCombinationConflicts?: Array<Reservations.TableCombinationConflict>;\n        };\n        type ReservationLocationConflict = {\n            /**\n             * Reservation location conflict type.\n             */\n            type?: string;\n        };\n        type ReservationReserved = {\n            /**\n             * Reserved reservation.\n             */\n            reservation?: Reservations.Reservation;\n        };\n        type ReserveReservationRequest = {\n            /**\n             * Reservation ID.\n             */\n            reservationId: string;\n            /**\n             * Reservee details.\n             */\n            reservee: Reservations.Reservee;\n            /**\n             * Revision number.\n             *\n             * Include the existing `revision` to prevent conflicting updates to reservations.\n             */\n            revision: string;\n        };\n        type ReserveReservationResponse = {\n            /**\n             * Reservation.\n             */\n            reservation?: Reservations.Reservation;\n        };\n        type 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             */\n            contactId?: string;\n        };\n        type Reservee = {\n            /**\n             * Contact ID. If a contact with this ID does not exist on the site, one will be created.\n             */\n            contactId?: string;\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?: Object;\n            /**\n             * Email address.\n             */\n            email?: string;\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;\n            /**\n             * Last name.\n             */\n            lastName?: string;\n            /**\n             * Whether the reservee has given marketing consent.\n             */\n            marketingConsent?: boolean;\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;\n        };\n        type Results = {\n            results?: Record<string, Reservations.NestedResultValue>;\n        };\n        type ScalarAggregation = {\n            /**\n             * Supported values:\n             * - `'AVG'`\n             * - `'COUNT_DISTINCT'`\n             * - `'MAX'`\n             * - `'MIN'`\n             * - `'SUM'`\n             * - `'UNKNOWN_SCALAR_TYPE'`\n             */\n            type?: string;\n        };\n        type ScalarResult = {\n            /**\n             * Supported values:\n             * - `'AVG'`\n             * - `'COUNT_DISTINCT'`\n             * - `'MAX'`\n             * - `'MIN'`\n             * - `'SUM'`\n             * - `'UNKNOWN_SCALAR_TYPE'`\n             */\n            type?: string;\n            value?: number;\n        };\n        type SearchDetails = {\n            /**\n             * search term or expression\n             */\n            expression?: string;\n            /**\n             * fields to search in. if empty - server will search in own default fields\n             */\n            fields?: Array<string>;\n            /**\n             * flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm)\n             */\n            fuzzy?: boolean;\n            /**\n             * boolean search mode\n             */\n            mode?: string;\n        };\n        type SearchReservationsRequest = {\n            /**\n             * Search query.\n             */\n            search: Reservations.CursorSearch;\n        };\n        type SearchReservationsResponse = {\n            /**\n             * Aggregation data.\n             */\n            aggregationData?: Reservations.AggregationData;\n            /**\n             * Cursor paging metadata.\n             */\n            pagingMetadata?: Reservations.CursorPagingMetadata;\n            /**\n             * List of Reservations.\n             */\n            reservations?: Array<Reservations.Reservation>;\n        };\n        type Sorting = {\n            /**\n             * Name of the field to sort by.\n             */\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?: string;\n        };\n        type TableCombinationConflict = {\n            /**\n             * Conflict type.\n             */\n            type?: string;\n        };\n        type TableWithReservationConflicts = {\n            /**\n             * List of reservation ids.\n             */\n            reservationIds?: Array<string>;\n            /**\n             * Table id.\n             */\n            tableId?: string;\n        };\n        type UpdateReservation = {\n            /**\n             * Date and time the reservation was created.\n             */\n            _createdDate?: Date;\n            /**\n             * Reservation ID.\n             */\n            _id?: string;\n            /**\n             * Date and time the reservation was changed.\n             */\n            _updatedDate?: Date;\n            /**\n             * The reason the reservation was declined.\n             */\n            declineReason?: string;\n            /**\n             * Reservation details.\n             */\n            details?: Reservations.Details;\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             */\n            reservedBy?: Reservations.ReservedBy;\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?: Reservations.Reservee;\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             */\n            revision?: string;\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?: string;\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?: string;\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;\n        };\n        type UpdateReservationOptions = {\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?: Array<string>;\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?: Array<string>;\n        };\n        type UpdateReservationRequest = {\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?: Array<string>;\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?: Array<string>;\n            /**\n             * Reservation information to update.\n             */\n            reservation: Reservations.Reservation;\n        };\n        type UpdateReservationResponse = {\n            /**\n             * Reservation.\n             */\n            reservation?: Reservations.Reservation;\n        };\n        type ValueAggregation = {\n            /**\n             * options for including missing values\n             */\n            includeOptions?: Reservations.IncludeMissingValuesOptions;\n            /**\n             * How many aggregations would you like to return? Can be between 1 and 250. 10 is the default.\n             */\n            limit?: number;\n            /**\n             * should missing values be included or excluded from the aggregation results. Default is EXCLUDE\n             */\n            missingValues?: string;\n            /**\n             * Supported values:\n             * - `'ASC'`\n             * - `'DESC'`\n             */\n            sortDirection?: string;\n            /**\n             * Supported values:\n             * - `'COUNT'`\n             * - `'VALUE'`\n             */\n            sortType?: string;\n        };\n        type ValueAggregationOptionsOneOf = {\n            /**\n             * options for including missing values\n             */\n            includeOptions?: Reservations.IncludeMissingValuesOptions;\n        };\n        type ValueAggregationResult = {\n            count?: number;\n            value?: string;\n        };\n        type ValueResult = {\n            count?: number;\n            value?: string;\n        };\n        type ValueResults = {\n            results?: Array<Reservations.ValueAggregationResult>;\n        };\n        /**\n         * [Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.ReservationsQueryBuilder.html#)\n         */\n        interface ReservationsQueryBuilder {\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-table-reservations-v2.Reservations.ReservationsQueryBuilder.html#ascending)\n             */\n            ascending(propertyNames: Array<string>): Reservations.ReservationsQueryBuilder;\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-table-reservations-v2.Reservations.ReservationsQueryBuilder.html#descending)\n             */\n            descending(propertyNames: Array<string>): Reservations.ReservationsQueryBuilder;\n            /**\n             * Refines a query to match items where the specified property equals the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.ReservationsQueryBuilder.html#eq)\n             */\n            eq(propertyName: string, value: any): Reservations.ReservationsQueryBuilder;\n            /**\n             * Returns the query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.ReservationsQueryBuilder.html#find)\n             */\n            find(): Promise<Reservations.ReservationsQueryResult>;\n            /**\n             * Refines a query to match items where the specified property is greater than or equal to the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.ReservationsQueryBuilder.html#ge)\n             */\n            ge(propertyName: string, value: any): Reservations.ReservationsQueryBuilder;\n            /**\n             * Refines a query to match items where the specified property is greater than the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.ReservationsQueryBuilder.html#gt)\n             */\n            gt(propertyName: string, value: any): Reservations.ReservationsQueryBuilder;\n            /**\n             * Refines a query to only match items where the specified property conatins any of the values in the provided array of values.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.ReservationsQueryBuilder.html#in)\n             */\n            in(propertyName: string, value: any): Reservations.ReservationsQueryBuilder;\n            /**\n             * Refines a query to match items where the specified property is less than or equal to the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.ReservationsQueryBuilder.html#le)\n             */\n            le(propertyName: string, value: any): Reservations.ReservationsQueryBuilder;\n            /**\n             * Limits the number of items the query returns.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.ReservationsQueryBuilder.html#limit)\n             */\n            limit(limit: number): Reservations.ReservationsQueryBuilder;\n            /**\n             * Refines a query to match items where the specified property is less than the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.ReservationsQueryBuilder.html#lt)\n             */\n            lt(propertyName: string, value: any): Reservations.ReservationsQueryBuilder;\n            /**\n             * Refines a query to match items where the specified property doesn't equal the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.ReservationsQueryBuilder.html#ne)\n             */\n            ne(propertyName: string, value: any): Reservations.ReservationsQueryBuilder;\n            /**\n             * Refines a query that skips to a specific record.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.ReservationsQueryBuilder.html#skipTo)\n             */\n            skipTo(cursor: string): Reservations.ReservationsQueryBuilder;\n        }\n        /**\n         * [Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.ReservationsQueryResult.html#)\n         */\n        interface ReservationsQueryResult {\n            /**\n             * Returns the query cursors.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.ReservationsQueryResult.html#cursors)\n             */\n            cursors: Reservations.Cursors;\n            /**\n             * Returns an array of `reservations` items that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.ReservationsQueryResult.html#items)\n             */\n            items: Array<Reservations.Reservation>;\n            /**\n             * Returns the number of items in the current page of results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.ReservationsQueryResult.html#length)\n             */\n            length: number;\n            /**\n             * Returns the requested page size.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.ReservationsQueryResult.html#pageSize)\n             */\n            pageSize: number;\n            /**\n             * Returns the `ReservationsQueryBuilder` object used to get the current results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.ReservationsQueryResult.html#query)\n             */\n            query: Reservations.ReservationsQueryBuilder;\n            /**\n             * Indicates whether the query has more results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.ReservationsQueryResult.html#hasNext)\n             */\n            hasNext(): boolean;\n            /**\n             * Indicates whether the query has previous results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.ReservationsQueryResult.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-table-reservations-v2.Reservations.ReservationsQueryResult.html#next)\n             */\n            next(): Promise<Reservations.ReservationsQueryResult>;\n            /**\n             * Retrieves the previous page of query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.ReservationsQueryResult.html#prev)\n             */\n            prev(): Promise<Reservations.ReservationsQueryResult>;\n        }\n        /**\n         * [Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.ReservationsQueryBuilder.html#)\n         */\n        namespace ReservationsQueryBuilder {\n        }\n        /**\n         * [Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.Reservations.ReservationsQueryResult.html#)\n         */\n        namespace ReservationsQueryResult {\n        }\n    }\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-table-reservations-v2.TimeSlots.html#)\n     */\n    namespace TimeSlots {\n        type CheckReservationDetailsOptions = {\n            /**\n             * Date.\n             */\n            date: Date;\n            /**\n             * Duration.\n             */\n            duration: number;\n            /**\n             * Reservation, that should be ignored during the check.\n             */\n            excludeReservationId?: string;\n            /**\n             * Party size.\n             */\n            partySize: number;\n            /**\n             * Requested table combination.\n             */\n            tableIds?: Array<string>;\n        };\n        type CheckReservationDetailsRequest = {\n            /**\n             * Date.\n             */\n            date: Date;\n            /**\n             * Duration.\n             */\n            duration: number;\n            /**\n             * Reservation, that should be ignored during the check.\n             */\n            excludeReservationId?: string;\n            /**\n             * Party size.\n             */\n            partySize: number;\n            /**\n             * Reservation location ID.\n             */\n            reservationLocationId: string;\n            /**\n             * Requested table combination.\n             */\n            tableIds?: Array<string>;\n        };\n        type CheckReservationDetailsResponse = {\n            /**\n             * Requested table combination state.\n             */\n            requestedTableCombination?: TimeSlots.TableCombination;\n            /**\n             * Reservation location conflicts.\n             */\n            reservationLocationConflicts?: Array<TimeSlots.ReservationLocationConflict>;\n            /**\n             * Table combinations states.\n             */\n            tableCombinations?: Array<TimeSlots.TableCombination>;\n            /**\n             * List of reserved tables with corresponding reservation ids.\n             */\n            tableReservedConflicts?: Array<TimeSlots.TableReservedConflict>;\n            /**\n             * Tables states.\n             */\n            tables?: Array<TimeSlots.Table>;\n        };\n        type GetTimeSlotsOptions = {\n            /**\n             * Duration in minutes of the time slot.\n             *\n             * Min: `5`\n             */\n            duration?: number;\n            /**\n             * The number of time slots to retrieve after the given `date`.\n             */\n            slotsAfter?: number;\n            /**\n             * The number of time slots to retrieve before the given `date`.\n             */\n            slotsBefore?: number;\n        };\n        type GetTimeSlotsRequest = {\n            /**\n             * Date and time for which to retrieve a time slot.\n             */\n            date: Date;\n            /**\n             * Duration in minutes of the time slot.\n             *\n             * Min: `5`\n             */\n            duration?: number;\n            /**\n             * Size of the party that needs to be seated during this time slot.\n             *\n             * Min: `1`\n             */\n            partySize: number;\n            /**\n             * ID of the reservation location for which to retrieve time slots.\n             */\n            reservationLocationId: string;\n            /**\n             * The number of time slots to retrieve after the given `date`.\n             */\n            slotsAfter?: number;\n            /**\n             * The number of time slots to retrieve before the given `date`.\n             */\n            slotsBefore?: number;\n        };\n        type GetTimeSlotsResponse = {\n            /**\n             * A list of time slots and their availability according to the given party size.\n             */\n            timeSlots?: Array<TimeSlots.TimeSlot>;\n        };\n        type ReservationLocationConflict = {\n            /**\n             * Reservation location conflict type.\n             */\n            type?: string;\n        };\n        type Table = {\n            _id?: string;\n            /**\n             * Table conflicts.\n             */\n            tableConflicts?: Array<TimeSlots.TableConflict>;\n        };\n        type TableCombination = {\n            tableCombinationConflicts?: Array<TimeSlots.TableCombinationConflict>;\n            tableIds?: Array<string>;\n        };\n        type TableCombinationConflict = {\n            /**\n             * Conflict type.\n             */\n            type?: string;\n        };\n        type TableConflict = {\n            /**\n             * Conflict type.\n             */\n            type?: string;\n        };\n        type TableReservedConflict = {\n            /**\n             * List of reservation ids.\n             */\n            reservationIds?: Array<string>;\n            /**\n             * Table id.\n             */\n            tableId?: string;\n        };\n        type TimeSlot = {\n            /**\n             * Duration in minutes of this time slot.\n             */\n            duration?: number;\n            /**\n             * Whether manual approval is required to make a reservation in this time slot.\n             */\n            manualApproval?: boolean;\n            /**\n             * Start date and time of this time slot.\n             */\n            startDate?: Date;\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?: string;\n        };\n        type TimeSlotTableCombination = {\n            /**\n             * Table IDs of the tables in the combination.\n             */\n            tableIds?: Array<string>;\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-urls.v2.d.ts",
      "content": "/**\n * [Read more](https://www.wix.com/corvid/reference/wix-urls.v2.html#)\n */\ndeclare module 'wix-urls.v2' {\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-urls-v2.html#editor)\n     */\n    const editor: Editor;\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-urls-v2.html#site)\n     */\n    const site: Site;\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-urls-v2.Editor.html#)\n     */\n    interface Editor {\n        /**\n         * Retrieves a site's Editor URLs.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-urls-v2.Editor.html#getEditorUrls)\n         */\n        getEditorUrls(): Promise<Editor.GetEditorUrlsResponse>;\n    }\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-urls-v2.Site.html#)\n     */\n    interface Site {\n        /**\n         * This function returns a Promise that resolves to an array of the site's published URLs.\n         * If a site hasn't been published, the Promise resolves to an empty array.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-urls-v2.Site.html#listPublishedSiteUrls)\n         */\n        listPublishedSiteUrls(options: Site.ListPublishedSiteUrlsOptions): Promise<Site.ListPublishedSiteUrlsResponse>;\n    }\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-urls-v2.Editor.html#)\n     */\n    namespace Editor {\n        type EditorUrls = {\n            /**\n             * Editor type.\n             * Supported values:\n             * - `WIX_EDITOR`: The classic Wix Editor.\n             * - `EDITOR_X`: Deprecated. Expected sunset date: July 1, 2024.\n             * - `WIX_STUDIO`: Wix's Editor built for agencies and enterprises.\n             */\n            editorType?: string;\n            /**\n             * Editor URL.\n             */\n            editorUrl?: string;\n            /**\n             * Preview URL.\n             */\n            previewUrl?: string;\n        };\n        type GetEditorUrlsRequest = {};\n        type GetEditorUrlsResponse = {\n            /**\n             * Editor URL.\n             */\n            urls?: Editor.EditorUrls;\n        };\n    }\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-urls-v2.Site.html#)\n     */\n    namespace Site {\n        type Filters = {\n            /**\n             * Whether to return language subdomains hosted by [Wix Multilingual](https://support.wix.com/article/wix-multilingual-adding-and-setting-up-wix-multilingual).  Default: `true`.\n             */\n            multilingual?: boolean;\n            /**\n             * Whether to return only the site's primary URL.  Default: `true`.\n             */\n            primary?: boolean;\n            /**\n             * URL type filter.  Supported values:\n             *\n             *  - `\"ALL\"`: All URLs.\n             *  - `\"PREMIUM\"`: Only URLs directing to the Premium version of the site.\n             *  - `\"FREE\"`: Only URLs including wixsite.com.\n             *\n             *  Default: `\"ALL\"`\n             */\n            urlType?: string;\n        };\n        type ListPublishedSiteUrlsOptions = {\n            /**\n             * Filters for the list.\n             */\n            filters?: Site.Filters;\n        };\n        type ListPublishedSiteUrlsRequest = {\n            /**\n             * Filters for the list.\n             */\n            filters?: Site.Filters;\n        };\n        type ListPublishedSiteUrlsResponse = {\n            /**\n             * List will be empty for non published sites\n             */\n            urls?: Array<Site.Url>;\n        };\n        type ListSiteUrlsOptions = {\n            filters?: Site.Filters;\n        };\n        type ListSiteUrlsRequest = {\n            filters?: Site.Filters;\n        };\n        type ListSiteUrlsResponse = {\n            /**\n             * List of published sites. This array will be empty if the site hasn't been published.\n             */\n            urls?: Array<Site.Url>;\n        };\n        type MultilingualInfo = {\n            /**\n             * Whether this is the site's default language.\n             */\n            defaultLanguage?: boolean;\n            /**\n             * Language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format. Typically, this is a lowercase 2-letter language code, followed by a hyphen, followed by an uppercase 2-letter country code. For example, `en-US` for U.S.-English, and `de-DE` for Germany-German.\n             */\n            languageCode?: string;\n        };\n        type PublishedSiteUrls = {\n            /**\n             * List of published sites. This array will be empty if the site hasn't been published.\n             */\n            urls?: Array<Site.Url>;\n        };\n        type Url = {\n            /**\n             * Language subdomain info hosted by [Wix multilingual](https://support.wix.com/article/wix-multilingual-adding-and-setting-up-wix-multilingual).\n             */\n            multilingualInfo?: Site.MultilingualInfo;\n            /**\n             * Whether this is the site's primary URL.\n             */\n            primary?: boolean;\n            /**\n             * Published site URL.\n             */\n            url?: string;\n            /**\n             * URL type.\n             *\n             * Supported values:\n             *\n             *  - `\"PREMIUM\"`: Only URLs directing to the Premium version of the site.\n             *\n             *  - `\"FREE\"`: Only URLs including `wixsite.com`.\n             */\n            urlType?: string;\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/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-bookings.v1.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-forum-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-notifications.v2.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-secrets-backend.v2.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-table-reservations.v2.d.ts\" />\n/// <reference path=\"../common/wix-urls.v2.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/common/wix-blog-backend.d.ts",
      "content": "declare module \"wix-blog-backend\" {\n    const __debug$2: {\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 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         * Category URL.\n         *\n         *\n         * The `url` directs you to a page that lists every post with the specified category.\n         *\n         * @readonly\n         */\n        url?: string;\n        /** Category description. */\n        description?: string | null;\n        /** Category title. */\n        title?: string;\n        /** Reserved for internal use. */\n        coverMedia?: CoverMedia$1;\n        /**\n         * Reserved for internal use.\n         * @readonly\n         */\n        oldRank?: number;\n        /** Reserved for internal use. */\n        rank?: number | null;\n        /** Position of the category in the [Category Menu](https://support.wix.com/en/article/wix-blog-adding-and-customizing-a-category-menu). Categories with lower display position are displayed first. */\n        displayPosition?: number | null;\n        /**\n         * ID of the category'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 category will share the same `translationId`.\n         * @readonly\n         */\n        translationId?: string | null;\n        /**\n         * Category Language.\n         *\n         * 2-letter language code in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes).\n         */\n        language?: string;\n        /**\n         * Part of a category's URL that refers to a specific category.\n         *\n         *\n         * For example, `'https:/example.com/blog/category/{my-category-slug}'`.\n         */\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    interface CoverMedia$1 extends CoverMediaMediaOneOf$1 {\n        /**\n         * Is cover media enabled.\n         * Selected by user whether to display cover media on the feed\n         */\n        enabled?: boolean;\n        /** Whether cover media is displayed. */\n        displayed?: boolean;\n        /** If `false`, the cover image is the first media item appearing in the content. */\n        custom?: boolean;\n        /** Image url. */\n        image?: string;\n        /** Video url. */\n        video?: string;\n    }\n    /** @oneof */\n    interface CoverMediaMediaOneOf$1 {\n        /** Image url. */\n        image?: string;\n        /** Video url. */\n        video?: 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$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 focused */\n        isMain?: boolean;\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 redirects feature creating `301 redirects` on a slug change is enabled.\n         *\n         *\n         * Default: enabled\n         */\n        preventAutoRedirect?: boolean;\n        /** User-selected keyword terms for a specific page */\n        keywords?: Keyword$2[];\n    }\n    interface InitialCategoriesCopied {\n        /** Number of categories copied. */\n        count?: number;\n    }\n    interface CreateCategoryRequest {\n        /** Category info. */\n        category: Category$1;\n        /**\n         * List of additional category 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 category’s base fields. Base fields don’t include any of the supported fieldset values. By default\n         * only the category’s base fields are returned.\n         */\n        fieldsets?: Field$2[];\n    }\n    enum Field$2 {\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    }\n    interface CreateCategoryResponse {\n        /** Category info. */\n        category?: Category$1;\n    }\n    interface BulkCreateCategoriesRequest {\n        /** Categories to create. */\n        categories: Category$1[];\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. For example, use the `URL` fieldset to retrieve the url field in\n         * the response in addition to the category’s base fields. Base fields don’t include any of the supported fieldset values. By default\n         * only the category’s base fields are returned.\n         */\n        fieldsets?: Field$2[];\n    }\n    interface BulkCreateCategoriesResponse {\n        /** Categories created by bulk action. */\n        results?: BulkCategoryResult[];\n        /** Bulk action metadata. */\n        bulkActionMetadata?: BulkActionMetadata$1;\n    }\n    interface BulkCategoryResult {\n        /** Bulk actions metadata for category. */\n        itemMetadata?: ItemMetadata$1;\n        /** Optional created category. */\n        item?: Category$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 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 category fields to be included in the response if the entities are present.\n         * Base default fieldset returns all core category properties (all properties that are not a supported fieldset value).\n         * For example, when `URL` fieldset is selected, returned category will include the set of base properties and the category's preview url.\n         */\n        fieldsets?: Field$2[];\n    }\n    interface MaskedCategory {\n        /** Category */\n        category?: Category$1;\n        /** Field mask of fields to update. */\n        fieldMask?: string[];\n    }\n    interface BulkUpdateCategoriesResponse {\n        /** Categories updated by bulk action. */\n        results?: BulkCategoryResult[];\n        /** Bulk action metadata. */\n        bulkActionMetadata?: BulkActionMetadata$1;\n    }\n    interface UpdateCategoryRequest {\n        /** Category info. */\n        category: Category$1;\n        /** Field mask of fields to update. */\n        fieldMask?: string[];\n        /**\n         * List of additional category 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 category’s base fields. Base fields don’t include any of the supported fieldset values. By default\n         * only the category’s base fields are returned.\n         */\n        fieldsets?: Field$2[];\n    }\n    interface UpdateCategoryResponse {\n        /** Category info. */\n        category?: Category$1;\n    }\n    interface GetCategoryRequest {\n        /** Category ID. */\n        categoryId: string;\n        /**\n         * __Deprecated.__ Use `fieldsets` instead.\n         * This parameter will be removed on June 30, 2023.\n         *\n         * List of category fields to be included in the response.\n         */\n        fieldsToInclude?: Field$2[];\n        /**\n         * List of additional category 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 category’s base fields. Base fields don’t include any of the supported fieldset values. By default\n         * only the category’s base fields are returned.\n         */\n        fieldsets?: Field$2[];\n    }\n    interface GetCategoryResponse {\n        /** Category info. */\n        category?: Category$1;\n    }\n    interface GetCategoryBySlugRequest {\n        /** Slug of the category to retrieve. */\n        slug: string;\n        /**\n         * __Deprecated.__ Use `fieldsets` instead.\n         *\n         * This parameter will be removed on June 30, 2023.\n         * List of category fields to be included in the response.\n         */\n        fieldsToInclude?: Field$2[];\n        /**\n         * List of additional category 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 category’s base fields. Base fields don’t include any of the supported fieldset values. By default\n         * only the category’s base fields are returned.\n         */\n        fieldsets?: Field$2[];\n    }\n    interface GetCategoryBySlugResponse {\n        /** Category info. */\n        category?: Category$1;\n    }\n    interface ListCategoriesRequest {\n        /** Pagination options. */\n        paging?: BlogPaging$1;\n        /**\n         * __Deprecated.__ Use `fieldsets` instead.\n         *\n         * This parameter will be removed on June 30, 2023.\n         *\n         * List of category fields to be included in the response.\n         */\n        fieldsToInclude?: Field$2[];\n        /**\n         * List of additional category 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 category’s base fields. Base fields don’t include any of the supported fieldset values. By default\n         * only the category’s base fields are returned.\n         */\n        fieldsets?: Field$2[];\n    }\n    interface BlogPaging$1 {\n        /** Number of categories to skip in the list. */\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$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        /** Number of items skipped. */\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        /**\n         * __Deprecated.__ Use `query` instead.\n         * This parameter will be removed on June 30, 2023.\n         *\n         * Pagination options.\n         */\n        paging?: BlogPaging$1;\n        /**\n         * __Deprecated.__ Use `query` instead.\n         * This parameter will be removed on June 30, 2023.\n         *\n         * Filter object.\n         */\n        filter?: Record<string, any> | null;\n        /**\n         * __Deprecated.__ Use `query` instead.\n         * This parameter will be removed on June 3, 2023.\n         *\n         * Sorting options.\n         */\n        sort?: Sorting$2[];\n        /**\n         * __Deprecated.__ Use `fieldsets` instead.\n         * This parameter will be removed on June 30, 2023.\n         *\n         * List of category fields to be included in the response.\n         */\n        fieldsToInclude?: Field$2[];\n        /** Query options. */\n        query?: PlatformQuery$2;\n        /**\n         * List of additional category 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 category’s base fields. Base fields don’t include any of the supported fieldset values. By default\n         * only the category’s base fields are returned.\n         */\n        fieldsets?: Field$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 PlatformQuery$2 extends PlatformQueryPagingMethodOneOf$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        /** 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    /** @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 QueryCategoriesResponse {\n        /** List of categories. */\n        categories?: Category$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         */\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    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 DeleteCategoryRequest {\n        /** Category ID. */\n        categoryId: string;\n    }\n    interface DeleteCategoryResponse {\n    }\n    interface CreateCategoryOptions {\n        /**\n         * List of additional category 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 category’s base fields. Base fields don’t include any of the supported fieldset values. By default\n         * only the category’s base fields are returned.\n         */\n        fieldsets?: Field$2[];\n    }\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. For example, use the `URL` fieldset to retrieve the url field in\n         * the response in addition to the category’s base fields. Base fields don’t include any of the supported fieldset values. By default\n         * only the category’s base fields are returned.\n         */\n        fieldsets?: Field$2[];\n    }\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 category fields to be included in the response if the entities are present.\n         * Base default fieldset returns all core category properties (all properties that are not a supported fieldset value).\n         * For example, when `URL` fieldset is selected, returned category will include the set of base properties and the category's preview url.\n         */\n        fieldsets?: Field$2[];\n    }\n    interface UpdateCategory {\n        /**\n         * Category ID.\n         * @readonly\n         */\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         * Category URL.\n         *\n         *\n         * The `url` directs you to a page that lists every post with the specified category.\n         *\n         * @readonly\n         */\n        url?: string;\n        /** Category description. */\n        description?: string | null;\n        /** Category title. */\n        title?: string;\n        /** Reserved for internal use. */\n        coverMedia?: CoverMedia$1;\n        /**\n         * Reserved for internal use.\n         * @readonly\n         */\n        oldRank?: number;\n        /** Reserved for internal use. */\n        rank?: number | null;\n        /** Position of the category in the [Category Menu](https://support.wix.com/en/article/wix-blog-adding-and-customizing-a-category-menu). Categories with lower display position are displayed first. */\n        displayPosition?: number | null;\n        /**\n         * ID of the category'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 category will share the same `translationId`.\n         * @readonly\n         */\n        translationId?: string | null;\n        /**\n         * Category Language.\n         *\n         * 2-letter language code in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes).\n         */\n        language?: string;\n        /**\n         * Part of a category's URL that refers to a specific category.\n         *\n         *\n         * For example, `'https:/example.com/blog/category/{my-category-slug}'`.\n         */\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    interface UpdateCategoryOptions {\n        /** Field mask of fields to update. */\n        fieldMask?: string[];\n        /**\n         * List of additional category 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 category’s base fields. Base fields don’t include any of the supported fieldset values. By default\n         * only the category’s base fields are returned.\n         */\n        fieldsets?: Field$2[];\n    }\n    /**\n     * Gets a category by the specified ID.\n     *\n     *\n     * The `getCategory()` function returns a Promise that resolves to a category whose ID matches the specified ID.\n     *\n     * @param categoryId - Category ID.\n     * @public\n     * @documentationMaturity preview\n     * @requiredField categoryId\n     * @param options - Options specifying which fields to return.\n     */\n    function getCategory(categoryId: string, options?: GetCategoryOptions): Promise<GetCategoryResponse>;\n    interface GetCategoryOptions {\n        /**\n         * List of category fields to be included in the response. By default, any fields not passed are not returned.\n         *\n         * Supported Values:\n         * `\"SEO\"` and `\"URL\"`.\n         */\n        fieldsets?: Field$2[];\n    }\n    /**\n     * Gets a category by the specified slug.\n     *\n     *\n     * The `getCategoryBySlug()` function returns a Promise that resolves to a category whose slug matches the specified slug.\n     *\n     * The `slug` is the end of a category's URL that refers to a specific category. For example, if a category's URL is `https://example.com/blog/category/{my-category-slug}`, the slug is `my-post-slug`. The slug is case-sensitive string that is generally derived from the category's `label`, unless specified otherwise.\n     *\n     * @public\n     * @documentationMaturity preview\n     * @requiredField GetCategoryBySlugRequest\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     */\n    function getCategoryBySlug(slug: string, options?: GetCategoryBySlugOptions): Promise<GetCategoryBySlugResponse>;\n    interface GetCategoryBySlugOptions {\n        /**\n         * List of category fields to be included in the response. By default, any fields not passed are not returned.\n         *\n         * Supported Values:\n         * `\"SEO\"` and `\"URL\"`.\n         */\n        fieldsets?: Field$2[];\n    }\n    /**\n     * Retrieves a list of categories.\n     *\n     *\n     * The `listCategories()` function returns a Promise that resolves to a list of up to 100 categories per language in order of their `displayPosition` starting with `0`. The `displayPosition` is the position in which the categories are displayed in the Category Menu page. By default, categories get added to the bottom of the Category Menu with a `displayPosition` of `-1`.\n     * @public\n     * @documentationMaturity preview\n     * @param options - Filter and paging options.\n     */\n    function listCategories(options?: ListCategoriesOptions): Promise<ListCategoriesResponse>;\n    interface ListCategoriesOptions {\n        /** Pagination options. */\n        paging?: BlogPaging$1;\n        /**\n         * List of category fields to be included in the response. By default, any fields not passed are not returned.\n         *\n         * Supported Values:\n         * `\"SEO\"` and `\"URL\"`.\n         */\n        fieldsets?: Field$2[];\n    }\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 up to 100 categories per language, and returns a [`CategoriesQueryBuilder`](https://www.wix.com/velo/reference/wix-blog-backend/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-blog-backend/categories/categoriesquerybuilder/find) function.\n     *\n     * You can refine the query by chaining `CategoriesQueryBuilder` functions to the query. `CategoriesQueryBuilder` functions enable you to sort, filter, and control the results that `queryCategories` returns. Any functions chained to the `queryCategories()` function are applied in the order that they are called.\n     *\n     * `queryCategories()` runs with these `CategoriesQueryBuilder` defaults, which you can override.\n     * - [`limit(100)`](https://www.wix.com/velo/reference/wix-blog-backend/categories/categoriesquerybuilder/limit)\n     * - [`ascending(displayPosition)`](https://www.wix.com/velo/reference/wix-blog-backend/categories/categoriesquerybuilder/ascending)\n     *\n     * The following `CategoriesQueryBuilder` functions are supported for `queryCategories()`. For a full description of the `Categories` object, see the object returned for the [`items`](https://www.wix.com/velo/reference/wix-blog-backend/categories/categoriesqueryresult/items) property in [`CategoriesQueryResult`](https://www.wix.com/velo/reference/wix-blog-backend/categories/categoriesqueryresult).\n     * @public\n     * @documentationMaturity preview\n     * @param options - Options specifying which fields to return.\n     */\n    function queryCategories(options?: QueryCategoriesOptions): CategoriesQueryBuilder;\n    interface QueryCategoriesOptions {\n        /**\n         * List of category fields to be included in the response. By default, any fields not passed are not returned.\n         *\n         * Supported Values:\n         * `\"SEO\"` and `\"URL\"`.\n         */\n        fieldsets?: Field$2[] | undefined;\n    }\n    interface QueryOffsetResult$2 {\n        currentPage: number;\n        totalPages: number;\n        totalCount: number;\n        hasNext: () => boolean;\n        hasPrev: () => boolean;\n        length: number;\n        pageSize: number;\n    }\n    interface CategoriesQueryResult extends QueryOffsetResult$2 {\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: string, 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: string, 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: string, 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: string, 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: string, 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: string, 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: string, 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: string, value: any[]) => 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: string[]) => 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: string[]) => 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 skip - Number of items to skip in the query results before returning the results.\n         * @documentationMaturity preview\n         */\n        skip: (skip: number) => CategoriesQueryBuilder;\n        /** @documentationMaturity preview */\n        find: () => Promise<CategoriesQueryResult>;\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_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_DeleteCategoryRequest = DeleteCategoryRequest;\n    type blogV3Category_universal_d_DeleteCategoryResponse = DeleteCategoryResponse;\n    type blogV3Category_universal_d_CreateCategoryOptions = CreateCategoryOptions;\n    type blogV3Category_universal_d_BulkCreateCategoriesOptions = BulkCreateCategoriesOptions;\n    type blogV3Category_universal_d_BulkUpdateCategoriesOptions = BulkUpdateCategoriesOptions;\n    type blogV3Category_universal_d_UpdateCategory = UpdateCategory;\n    type blogV3Category_universal_d_UpdateCategoryOptions = UpdateCategoryOptions;\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    namespace blogV3Category_universal_d {\n        export { __debug$2 as __debug, Category$1 as Category, CoverMedia$1 as CoverMedia, CoverMediaMediaOneOf$1 as CoverMediaMediaOneOf, SeoSchema$2 as SeoSchema, Keyword$2 as Keyword, Tag$2 as Tag, Settings$2 as Settings, blogV3Category_universal_d_InitialCategoriesCopied as InitialCategoriesCopied, blogV3Category_universal_d_CreateCategoryRequest as CreateCategoryRequest, Field$2 as Field, blogV3Category_universal_d_CreateCategoryResponse as CreateCategoryResponse, blogV3Category_universal_d_BulkCreateCategoriesRequest as BulkCreateCategoriesRequest, blogV3Category_universal_d_BulkCreateCategoriesResponse as BulkCreateCategoriesResponse, blogV3Category_universal_d_BulkCategoryResult as BulkCategoryResult, ItemMetadata$1 as ItemMetadata, ApplicationError$1 as ApplicationError, BulkActionMetadata$1 as BulkActionMetadata, blogV3Category_universal_d_BulkUpdateCategoriesRequest as BulkUpdateCategoriesRequest, blogV3Category_universal_d_MaskedCategory as MaskedCategory, blogV3Category_universal_d_BulkUpdateCategoriesResponse as BulkUpdateCategoriesResponse, blogV3Category_universal_d_UpdateCategoryRequest as UpdateCategoryRequest, blogV3Category_universal_d_UpdateCategoryResponse as UpdateCategoryResponse, blogV3Category_universal_d_GetCategoryRequest as GetCategoryRequest, blogV3Category_universal_d_GetCategoryResponse as GetCategoryResponse, blogV3Category_universal_d_GetCategoryBySlugRequest as GetCategoryBySlugRequest, blogV3Category_universal_d_GetCategoryBySlugResponse as GetCategoryBySlugResponse, blogV3Category_universal_d_ListCategoriesRequest as ListCategoriesRequest, BlogPaging$1 as BlogPaging, blogV3Category_universal_d_ListCategoriesResponse as ListCategoriesResponse, MetaData$2 as MetaData, blogV3Category_universal_d_QueryCategoriesRequest as QueryCategoriesRequest, Sorting$2 as Sorting, SortOrder$2 as SortOrder, PlatformQuery$2 as PlatformQuery, PlatformQueryPagingMethodOneOf$2 as PlatformQueryPagingMethodOneOf, Paging$2 as Paging, CursorPaging$2 as CursorPaging, blogV3Category_universal_d_QueryCategoriesResponse as QueryCategoriesResponse, PagingMetadataV2$2 as PagingMetadataV2, Cursors$2 as Cursors, blogV3Category_universal_d_DeleteCategoryRequest as DeleteCategoryRequest, blogV3Category_universal_d_DeleteCategoryResponse as DeleteCategoryResponse, blogV3Category_universal_d_CreateCategoryOptions as CreateCategoryOptions, blogV3Category_universal_d_BulkCreateCategoriesOptions as BulkCreateCategoriesOptions, blogV3Category_universal_d_BulkUpdateCategoriesOptions as BulkUpdateCategoriesOptions, blogV3Category_universal_d_UpdateCategory as UpdateCategory, blogV3Category_universal_d_UpdateCategoryOptions as UpdateCategoryOptions, blogV3Category_universal_d_getCategory as getCategory, blogV3Category_universal_d_GetCategoryOptions as GetCategoryOptions, blogV3Category_universal_d_getCategoryBySlug as getCategoryBySlug, blogV3Category_universal_d_GetCategoryBySlugOptions as GetCategoryBySlugOptions, blogV3Category_universal_d_listCategories as listCategories, blogV3Category_universal_d_ListCategoriesOptions as ListCategoriesOptions, blogV3Category_universal_d_queryCategories as queryCategories, blogV3Category_universal_d_QueryCategoriesOptions as QueryCategoriesOptions, blogV3Category_universal_d_CategoriesQueryResult as CategoriesQueryResult, blogV3Category_universal_d_CategoriesQueryBuilder as CategoriesQueryBuilder, };\n    }\n    const __debug$1: {\n        verboseLogging: {\n            on: () => boolean;\n            off: () => boolean;\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: 140 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;\n        /**\n         * Date the post was last published.\n         * @readonly\n         */\n        lastPublishedDate?: Date;\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        /** Reserved for internal use. */\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        /** 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        /** 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        /** 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         * 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    interface CoverMedia extends CoverMediaMediaOneOf {\n        /**\n         * Is cover media enabled.\n         * Selected by user whether to display cover media on the feed\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        /** Image url. */\n        image?: string;\n        /** Video url. */\n        video?: string;\n    }\n    /** @oneof */\n    interface CoverMediaMediaOneOf {\n        /** Image url. */\n        image?: string;\n        /** Video url. */\n        video?: string;\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    /**\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 tags 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 focused */\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 redirects feature creating `301 redirects` on a slug change is enabled.\n         *\n         *\n         * Default: 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        /** 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 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;\n        /**\n         * Status indicating whether the submission was approved or rejected by the moderator.\n         *\n         * Supported values: `'APPROVED'`, `'REJECTED'`, `'PENDING'`.\n         */\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;\n    }\n    enum ModerationStatusStatus {\n        UNKNOWN = \"UNKNOWN\",\n        APPROVED = \"APPROVED\",\n        REJECTED = \"REJECTED\"\n    }\n    interface BlogMedia extends BlogMediaMediaOneOf {\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        /** Wix Media details. */\n        wixMedia?: WixMedia;\n        /** Embed media details. */\n        embedMedia?: EmbedMedia;\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        /** Thumbnail or image details. */\n        image?: string;\n        /** Video details. Optional */\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        /** Video format for example, mp4, hls. */\n        format?: string;\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 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        /** Sorting by publishing date ascending */\n        PUBLISHED_DATE_ASC = \"PUBLISHED_DATE_ASC\",\n        /** Sorting by publishing date descending */\n        PUBLISHED_DATE_DESC = \"PUBLISHED_DATE_DESC\"\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    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 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 Category {\n        /**\n         * Category ID.\n         * @readonly\n         */\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         * Category URL.\n         * @readonly\n         */\n        url?: string;\n        /** Category description. */\n        description?: string | null;\n        /** Category title. */\n        title?: string;\n        /**\n         * __Deprecated.__ Use `coverImage` instead.\n         * This property will be removed on June 30, 2023.\n         *\n         * Category cover image or video.\n         */\n        coverMedia?: CoverMedia;\n        /**\n         * Reserved for internal use.\n         * @readonly\n         */\n        oldRank?: number;\n        /**\n         * __Deprecated.__ Use `displayPosition` instead.\n         * This property will be removed on June 30, 2023.\n         *\n         * Category position in sequence.\n         */\n        rank?: number | null;\n        /**\n         * Category position in sequence. Categories with a lower display position are displayed first. Categories with a position of `-1` appear at the end of the sequence.\n         *\n         * Default: `-1`\n         */\n        displayPosition?: number | null;\n        /**\n         * ID of the category's translations. All translations of a single category share the same `translationId`.\n         * @readonly\n         */\n        translationId?: string | null;\n        /**\n         * Category 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;\n        /** Category slug. For example, `'category-slug'`. */\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    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        /** 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         */\n        translationId?: string | null;\n        /**\n         * Language the draft 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         * @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        /** Draft Post rich content. */\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;\n        /**\n         * Date the draft post is scheduled to be published.\n         * @readonly\n         */\n        scheduledPublishDate?: Date;\n        /** Reserved for internal use. */\n        content?: Record<string, any> | null;\n        /** Date the post was first published. */\n        firstPublishedDate?: Date;\n        /** SEO data. */\n        seoData?: SeoSchema$1;\n        /** Reserved for internal use. */\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;\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         * 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    }\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 2023-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        /** ID of the liked post. */\n        postId?: string;\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    /** @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        /** ID of the unliked post. */\n        postId?: string;\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    /** @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        /** ID of the post which counters were updated. */\n        postId?: string;\n        /** Field of the updated counter. */\n        updatedCounterField?: Field$1;\n        /** New counter value. */\n        counter?: number;\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    /** @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    interface InitialPostsCopied {\n        /** Number of posts copied. */\n        count?: number;\n    }\n    interface GetPostRequest {\n        /** Post ID. */\n        postId: string;\n        /** Reserved for internal use. */\n        fieldsToInclude?: PostFieldField[];\n        /**\n         * List of post fields to be included in the response. By default, any fields not passed are not returned.\n         *\n         * Supported Values:\n         * `\"CONTACT_ID\"`, `\"CONTENT_TEXT\"`, `\"METRICS\"`, `\"SEO\"`, and `\"URL\"`.\n         */\n        fieldsets?: PostFieldField[];\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    }\n    interface GetPostResponse {\n        /** Post info. */\n        post?: Post;\n    }\n    interface GetPostBySlugRequest {\n        /** Slug of the post to retrieve. */\n        slug: string;\n        /** Reserved for internal use. */\n        fieldsToInclude?: PostFieldField[];\n        /**\n         * List of post fields to be included in the response. By default, any fields not passed are not returned.\n         *\n         * Supported Values:\n         * `\"CONTACT_ID\"`, `\"CONTENT_TEXT\"`, `\"METRICS\"`, `\"SEO\"`, and `\"URL\"`.\n         */\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        /** Reserved for internal use. */\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        /**\n         * List of post fields to be included in the response. By default, any fields not passed are not returned.\n         *\n         * Supported Values:\n         * `\"CONTACT_ID\"`, `\"CONTENT_TEXT\"`, `\"METRICS\"`, `\"SEO\"`, and `\"URL\"`.\n         */\n        fieldsets?: PostFieldField[];\n    }\n    enum GetPostsSort {\n        /** Sorting by publishing date descending with pinned posts first. The default value */\n        FEED = \"FEED\",\n        /** Sorting by publishing date ascending */\n        PUBLISHED_DATE_ASC = \"PUBLISHED_DATE_ASC\",\n        /** Sorting by publishing date descending */\n        PUBLISHED_DATE_DESC = \"PUBLISHED_DATE_DESC\",\n        /** Sorting by view count descending */\n        VIEW_COUNT = \"VIEW_COUNT\",\n        /** Sorting by like count descending */\n        LIKE_COUNT = \"LIKE_COUNT\",\n        /** Sorting by title ascending */\n        TITLE_ASC = \"TITLE_ASC\",\n        /** Sorting by title descending */\n        TITLE_DESC = \"TITLE_DESC\",\n        /** Sorting by post rating descending. */\n        RATING = \"RATING\"\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         */\n        paging?: BlogPaging;\n        /**\n         * __Deprecated.__ Use `query` instead.\n         * This parameter will be removed on June 30, 2023.\n         *\n         * Filter object.\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/api/rest/wix-blog/blog/filter-and-sort).\n         */\n        sort?: Sorting$1[];\n        /** Reserved for internal use. */\n        fieldsToInclude?: PostFieldField[];\n        /** Query options. */\n        query?: PlatformQuery$1;\n        /**\n         * List of post fields to be included in the response. By default, any fields not passed are not returned.\n         *\n         * Supported Values:\n         * `\"CONTACT_ID\"`, `\"CONTENT_TEXT\"`, `\"METRICS\"`, `\"SEO\"`, and `\"URL\"`.\n         */\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    enum SortOrder$1 {\n        ASC = \"ASC\",\n        DESC = \"DESC\"\n    }\n    interface PlatformQuery$1 extends PlatformQueryPagingMethodOneOf$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        /** 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 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         */\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    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 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    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         */\n        fieldsToInclude?: PostFieldField[];\n        /**\n         * Language filter.\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         * 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    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 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 ListMigratedPostsRequest {\n        /** New blog version instance id */\n        instanceId: string;\n        /** Cursor pointing to page of results */\n        paging?: BlogCursorPaging;\n    }\n    interface BlogCursorPaging {\n        /** Number of items to load. */\n        limit?: number | null;\n        /** Pointer to the next or previous page in the list of results. */\n        cursor?: string | null;\n    }\n    interface ListMigratedPostsResponse {\n        /** List of posts */\n        posts?: Post[];\n        /** Data of post in old blog by post id */\n        postsMigrationMeta?: Record<string, PostMigrationMetaData>;\n        /** Pagination */\n        pagingMetaData?: CursorMetaData;\n    }\n    interface PostMigrationMetaData {\n        /** Old blog instance id */\n        instanceId?: string;\n        /** Post id in old blog */\n        postId?: string;\n        /** Post author in old blog */\n        author?: string | null;\n        /** Post slug in old blog */\n        slug?: string | null;\n    }\n    interface CursorMetaData {\n        /** Cursor pointing to next result page. */\n        next?: string | null;\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;\n        /** Non-inclusive end of time range to return, in ISO 8601 date and time format. */\n        rangeEnd?: Date;\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-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        /** 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;\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;\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         */\n        rangeEnd?: Date;\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;\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        entityId?: string;\n        postLikedAction?: PostLiked;\n        postCountersUpdated?: PostCountersUpdated;\n    }\n    /** @oneof */\n    interface SendActionEventRequestActionOneOf {\n        postLikedAction?: PostLiked;\n        postCountersUpdated?: PostCountersUpdated;\n    }\n    interface SendActionEventResponse {\n    }\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 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     * @documentationMaturity preview\n     * @requiredField postId\n     * @param options - Options specifying which fields to return.\n     * @returns Fulfilled - The requested post.\n     */\n    function getPost(postId: string, options?: GetPostOptions): Promise<GetPostResponse>;\n    interface GetPostOptions {\n        /**\n         * List of post fields to be included in the response. By default, any fields not passed are not returned.\n         *\n         * Supported Values:\n         * `\"CONTACT_ID\"`, `\"CONTENT_TEXT\"`, `\"METRICS\"`, `\"SEO\"`, and `\"URL\"`.\n         */\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     * @documentationMaturity preview\n     * @requiredField GetPostBySlugRequest\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     * @returns Fulfilled - The requested post.\n     */\n    function getPostBySlug(slug: string, options?: GetPostBySlugOptions): Promise<GetPostBySlugResponse>;\n    interface GetPostBySlugOptions {\n        /**\n         * List of post fields to be included in the response. By default, any fields not passed are not returned.\n         *\n         * Supported Values:\n         * `\"CONTACT_ID\"`, `\"CONTENT_TEXT\"`, `\"METRICS\"`, `\"SEO\"`, and `\"URL\"`.\n         */\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     * @documentationMaturity preview\n     * @param options - Sort, filter, and paging options.\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         * 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        /**\n         * List of post fields to be included in the response. By default, any fields not passed are not returned.\n         *\n         * Supported Values:\n         * `\"CONTACT_ID\"`, `\"CONTENT_TEXT\"`, `\"METRICS\"`, `\"SEO\"`, and `\"URL\"`.\n         */\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     * @documentationMaturity preview\n     * @param options - Options specifying which fields to return.\n     */\n    function queryPosts(options?: QueryPostsOptions): PostsQueryBuilder;\n    interface QueryPostsOptions {\n        /**\n         * List of post fields to be included in the response. By default, any fields not passed are not returned.\n         *\n         * Supported Values:\n         * `\"CONTACT_ID\"`, `\"CONTENT_TEXT\"`, `\"METRICS\"`, `\"SEO\"`, and `\"URL\"`.\n         */\n        fieldsets?: PostFieldField[] | undefined;\n    }\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 PostsQueryResult extends QueryOffsetResult$1 {\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         * @documentationMaturity preview\n         */\n        eq: (propertyName: string, value: any) => PostsQueryBuilder;\n        /** @param propertyName - Property whose value is compared with `value`.\n         * @param value - Value to compare against.\n         * @documentationMaturity preview\n         */\n        ne: (propertyName: string, value: any) => PostsQueryBuilder;\n        /** @param propertyName - Property whose value is compared with `value`.\n         * @param value - Value to compare against.\n         * @documentationMaturity preview\n         */\n        ge: (propertyName: string, value: any) => PostsQueryBuilder;\n        /** @param propertyName - Property whose value is compared with `value`.\n         * @param value - Value to compare against.\n         * @documentationMaturity preview\n         */\n        gt: (propertyName: string, value: any) => PostsQueryBuilder;\n        /** @param propertyName - Property whose value is compared with `value`.\n         * @param value - Value to compare against.\n         * @documentationMaturity preview\n         */\n        le: (propertyName: string, value: any) => PostsQueryBuilder;\n        /** @param propertyName - Property whose value is compared with `value`.\n         * @param value - Value to compare against.\n         * @documentationMaturity preview\n         */\n        lt: (propertyName: string, value: any) => PostsQueryBuilder;\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: string, value: string) => PostsQueryBuilder;\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: string, value: any[]) => PostsQueryBuilder;\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: string, value: any[]) => PostsQueryBuilder;\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[]) => PostsQueryBuilder;\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[]) => PostsQueryBuilder;\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) => PostsQueryBuilder;\n        /** @param skip - Number of items to skip in the query results before returning the results.\n         * @documentationMaturity preview\n         */\n        skip: (skip: number) => PostsQueryBuilder;\n        /** @documentationMaturity preview */\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     * @documentationMaturity preview\n     * @requiredField postId\n     * @returns Fulfilled - Post metrics.\n     */\n    function getPostMetrics(postId: string): Promise<GetPostMetricsResponse>;\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         */\n        fieldsToInclude?: PostFieldField[];\n        /**\n         * Language filter.\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         * 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    interface ListMigratedPostsOptions {\n        /** Cursor pointing to page of results */\n        paging?: BlogCursorPaging;\n    }\n    interface QueryPublicationsCountStatsOptions {\n        /** Start of time range to return, in ISO 8601 date and time format. */\n        rangeStart?: Date;\n        /** Non-inclusive end of time range to return, in ISO 8601 date and time format. */\n        rangeEnd?: Date;\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-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        /** 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     * @documentationMaturity preview\n     * @param options - Options specifying time frame, sort, and filter.\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;\n        /** Reserved for internal use. */\n        rangeEnd?: Date;\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    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     * @documentationMaturity preview\n     * @param options - Language Options.\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    interface SendActionEventOptions {\n        entityId?: string;\n        postLikedAction?: PostLiked;\n        postCountersUpdated?: PostCountersUpdated;\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_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_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_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_ListTemplatesRequest = ListTemplatesRequest;\n    type blogV3Post_universal_d_GetPostTemplatesSort = GetPostTemplatesSort;\n    const blogV3Post_universal_d_GetPostTemplatesSort: typeof GetPostTemplatesSort;\n    type blogV3Post_universal_d_BlogPaging = BlogPaging;\n    type blogV3Post_universal_d_ListTemplatesResponse = ListTemplatesResponse;\n    type blogV3Post_universal_d_Category = Category;\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_PostFieldField = PostFieldField;\n    const blogV3Post_universal_d_PostFieldField: typeof PostFieldField;\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_GetPostsSort = GetPostsSort;\n    const blogV3Post_universal_d_GetPostsSort: typeof GetPostsSort;\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_BulkGetPostReactionsRequest = BulkGetPostReactionsRequest;\n    type blogV3Post_universal_d_BulkGetPostReactionsResponse = BulkGetPostReactionsResponse;\n    type blogV3Post_universal_d_Reactions = Reactions;\n    type blogV3Post_universal_d_ListDemoPostsRequest = ListDemoPostsRequest;\n    type blogV3Post_universal_d_ListDemoPostsResponse = ListDemoPostsResponse;\n    type blogV3Post_universal_d_OldBlogMigratedEvent = OldBlogMigratedEvent;\n    type blogV3Post_universal_d_ListMigratedPostsRequest = ListMigratedPostsRequest;\n    type blogV3Post_universal_d_BlogCursorPaging = BlogCursorPaging;\n    type blogV3Post_universal_d_ListMigratedPostsResponse = ListMigratedPostsResponse;\n    type blogV3Post_universal_d_PostMigrationMetaData = PostMigrationMetaData;\n    type blogV3Post_universal_d_CursorMetaData = CursorMetaData;\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    type blogV3Post_universal_d_ListTemplatesOptions = ListTemplatesOptions;\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    type blogV3Post_universal_d_ListDemoPostsOptions = ListDemoPostsOptions;\n    type blogV3Post_universal_d_ListMigratedPostsOptions = ListMigratedPostsOptions;\n    type blogV3Post_universal_d_QueryPublicationsCountStatsOptions = QueryPublicationsCountStatsOptions;\n    const blogV3Post_universal_d_queryPostCountStats: typeof queryPostCountStats;\n    type blogV3Post_universal_d_QueryPostCountStatsOptions = QueryPostCountStatsOptions;\n    type blogV3Post_universal_d_GetTotalPublicationsOptions = GetTotalPublicationsOptions;\n    const blogV3Post_universal_d_getTotalPosts: typeof getTotalPosts;\n    type blogV3Post_universal_d_GetTotalPostsOptions = GetTotalPostsOptions;\n    type blogV3Post_universal_d_SendActionEventOptions = SendActionEventOptions;\n    namespace blogV3Post_universal_d {\n        export { __debug$1 as __debug, blogV3Post_universal_d_Post as Post, blogV3Post_universal_d_CoverMedia as CoverMedia, blogV3Post_universal_d_CoverMediaMediaOneOf as CoverMediaMediaOneOf, blogV3Post_universal_d_PostCountInfo as PostCountInfo, blogV3Post_universal_d_Metrics as Metrics, SeoSchema$1 as SeoSchema, Keyword$1 as Keyword, Tag$1 as Tag, Settings$1 as Settings, blogV3Post_universal_d_RichContent as RichContent, blogV3Post_universal_d_Node as Node, blogV3Post_universal_d_NodeDataOneOf as NodeDataOneOf, blogV3Post_universal_d_NodeType as NodeType, blogV3Post_universal_d_NodeStyle as NodeStyle, blogV3Post_universal_d_ButtonData as ButtonData, blogV3Post_universal_d_Border as Border, blogV3Post_universal_d_Colors as Colors, blogV3Post_universal_d_PluginContainerData as PluginContainerData, blogV3Post_universal_d_WidthType as WidthType, blogV3Post_universal_d_PluginContainerDataWidth as PluginContainerDataWidth, blogV3Post_universal_d_PluginContainerDataWidthDataOneOf as PluginContainerDataWidthDataOneOf, blogV3Post_universal_d_PluginContainerDataAlignment as PluginContainerDataAlignment, blogV3Post_universal_d_Spoiler as Spoiler, blogV3Post_universal_d_Height as Height, blogV3Post_universal_d_Type as Type, blogV3Post_universal_d_Styles as Styles, blogV3Post_universal_d_Link as Link, blogV3Post_universal_d_LinkDataOneOf as LinkDataOneOf, blogV3Post_universal_d_Target as Target, blogV3Post_universal_d_Rel as Rel, blogV3Post_universal_d_CodeBlockData as CodeBlockData, blogV3Post_universal_d_TextStyle as TextStyle, blogV3Post_universal_d_TextAlignment as TextAlignment, blogV3Post_universal_d_DividerData as DividerData, blogV3Post_universal_d_LineStyle as LineStyle, blogV3Post_universal_d_Width as Width, blogV3Post_universal_d_Alignment as Alignment, blogV3Post_universal_d_FileData as FileData, blogV3Post_universal_d_ViewMode as ViewMode, blogV3Post_universal_d_FileSource as FileSource, blogV3Post_universal_d_FileSourceDataOneOf as FileSourceDataOneOf, blogV3Post_universal_d_PDFSettings as PDFSettings, blogV3Post_universal_d_GalleryData as GalleryData, blogV3Post_universal_d_Media as Media, blogV3Post_universal_d_Image as Image, blogV3Post_universal_d_Video as Video, blogV3Post_universal_d_Item as Item, blogV3Post_universal_d_ItemDataOneOf as ItemDataOneOf, blogV3Post_universal_d_GalleryOptions as GalleryOptions, blogV3Post_universal_d_LayoutType as LayoutType, blogV3Post_universal_d_Orientation as Orientation, blogV3Post_universal_d_Crop as Crop, blogV3Post_universal_d_ThumbnailsAlignment as ThumbnailsAlignment, blogV3Post_universal_d_Layout as Layout, blogV3Post_universal_d_ItemStyle as ItemStyle, blogV3Post_universal_d_Thumbnails as Thumbnails, blogV3Post_universal_d_GIFData as GIFData, blogV3Post_universal_d_GIF as GIF, blogV3Post_universal_d_HeadingData as HeadingData, blogV3Post_universal_d_HTMLData as HTMLData, blogV3Post_universal_d_HTMLDataDataOneOf as HTMLDataDataOneOf, blogV3Post_universal_d_Source as Source, blogV3Post_universal_d_ImageData as ImageData, blogV3Post_universal_d_LinkPreviewData as LinkPreviewData, blogV3Post_universal_d_MapData as MapData, blogV3Post_universal_d_MapSettings as MapSettings, blogV3Post_universal_d_MapType as MapType, blogV3Post_universal_d_ParagraphData as ParagraphData, blogV3Post_universal_d_PollData as PollData, blogV3Post_universal_d_ViewRole as ViewRole, blogV3Post_universal_d_VoteRole as VoteRole, blogV3Post_universal_d_Permissions as Permissions, blogV3Post_universal_d_Option as Option, blogV3Post_universal_d_PollSettings as PollSettings, blogV3Post_universal_d_PollLayoutType as PollLayoutType, blogV3Post_universal_d_PollLayoutDirection as PollLayoutDirection, blogV3Post_universal_d_PollLayout as PollLayout, blogV3Post_universal_d_OptionLayout as OptionLayout, blogV3Post_universal_d_BackgroundType as BackgroundType, blogV3Post_universal_d_Gradient as Gradient, blogV3Post_universal_d_Background as Background, blogV3Post_universal_d_BackgroundBackgroundOneOf as BackgroundBackgroundOneOf, blogV3Post_universal_d_PollDesign as PollDesign, blogV3Post_universal_d_OptionDesign as OptionDesign, blogV3Post_universal_d_Poll as Poll, blogV3Post_universal_d_PollDataLayout as PollDataLayout, blogV3Post_universal_d_Design as Design, blogV3Post_universal_d_TextData as TextData, blogV3Post_universal_d_Decoration as Decoration, blogV3Post_universal_d_DecorationDataOneOf as DecorationDataOneOf, blogV3Post_universal_d_DecorationType as DecorationType, blogV3Post_universal_d_AnchorData as AnchorData, blogV3Post_universal_d_ColorData as ColorData, blogV3Post_universal_d_LinkData as LinkData, blogV3Post_universal_d_MentionData as MentionData, blogV3Post_universal_d_FontSizeData as FontSizeData, blogV3Post_universal_d_FontType as FontType, blogV3Post_universal_d_AppEmbedData as AppEmbedData, blogV3Post_universal_d_AppEmbedDataAppDataOneOf as AppEmbedDataAppDataOneOf, blogV3Post_universal_d_AppType as AppType, blogV3Post_universal_d_BookingData as BookingData, blogV3Post_universal_d_EventData as EventData, blogV3Post_universal_d_VideoData as VideoData, blogV3Post_universal_d_PlaybackOptions as PlaybackOptions, blogV3Post_universal_d_EmbedData as EmbedData, blogV3Post_universal_d_Oembed as Oembed, blogV3Post_universal_d_CollapsibleListData as CollapsibleListData, blogV3Post_universal_d_InitialExpandedItems as InitialExpandedItems, blogV3Post_universal_d_Direction as Direction, blogV3Post_universal_d_TableData as TableData, blogV3Post_universal_d_Dimensions as Dimensions, blogV3Post_universal_d_TableCellData as TableCellData, blogV3Post_universal_d_VerticalAlignment as VerticalAlignment, blogV3Post_universal_d_CellStyle as CellStyle, blogV3Post_universal_d_BorderColors as BorderColors, blogV3Post_universal_d_NullValue as NullValue, blogV3Post_universal_d_ListValue as ListValue, blogV3Post_universal_d_AudioData as AudioData, blogV3Post_universal_d_OrderedListData as OrderedListData, blogV3Post_universal_d_BulletedListData as BulletedListData, blogV3Post_universal_d_BlockquoteData as BlockquoteData, blogV3Post_universal_d_Metadata as Metadata, blogV3Post_universal_d_DocumentStyle as DocumentStyle, blogV3Post_universal_d_TextNodeStyle as TextNodeStyle, blogV3Post_universal_d_ModerationDetails as ModerationDetails, blogV3Post_universal_d_ModerationStatusStatus as ModerationStatusStatus, blogV3Post_universal_d_BlogMedia as BlogMedia, blogV3Post_universal_d_BlogMediaMediaOneOf as BlogMediaMediaOneOf, blogV3Post_universal_d_WixMedia as WixMedia, blogV3Post_universal_d_VideoResolution as VideoResolution, blogV3Post_universal_d_EmbedMedia as EmbedMedia, blogV3Post_universal_d_EmbedThumbnail as EmbedThumbnail, blogV3Post_universal_d_EmbedVideo as EmbedVideo, blogV3Post_universal_d_ListTemplatesRequest as ListTemplatesRequest, blogV3Post_universal_d_GetPostTemplatesSort as GetPostTemplatesSort, blogV3Post_universal_d_BlogPaging as BlogPaging, blogV3Post_universal_d_ListTemplatesResponse as ListTemplatesResponse, MetaData$1 as MetaData, blogV3Post_universal_d_Category as Category, blogV3Post_universal_d_GetTemplateRequest as GetTemplateRequest, blogV3Post_universal_d_GetTemplateResponse as GetTemplateResponse, blogV3Post_universal_d_CreateDraftPostFromTemplateRequest as CreateDraftPostFromTemplateRequest, blogV3Post_universal_d_CreateDraftPostFromTemplateResponse as CreateDraftPostFromTemplateResponse, blogV3Post_universal_d_DraftPost as DraftPost, blogV3Post_universal_d_Origin as Origin, blogV3Post_universal_d_Status as Status, blogV3Post_universal_d_DraftPostTranslation as DraftPostTranslation, blogV3Post_universal_d_GetTotalLikesPerMemberRequest as GetTotalLikesPerMemberRequest, blogV3Post_universal_d_GetTotalLikesPerMemberResponse as GetTotalLikesPerMemberResponse, blogV3Post_universal_d_PostLiked as PostLiked, blogV3Post_universal_d_PostLikedInitiatorOneOf as PostLikedInitiatorOneOf, blogV3Post_universal_d_PostUnliked as PostUnliked, blogV3Post_universal_d_PostUnlikedInitiatorOneOf as PostUnlikedInitiatorOneOf, blogV3Post_universal_d_PostCountersUpdated as PostCountersUpdated, blogV3Post_universal_d_PostCountersUpdatedInitiatorOneOf as PostCountersUpdatedInitiatorOneOf, Field$1 as Field, blogV3Post_universal_d_PostOwnerChanged as PostOwnerChanged, blogV3Post_universal_d_InitialPostsCopied as InitialPostsCopied, blogV3Post_universal_d_GetPostRequest as GetPostRequest, blogV3Post_universal_d_PostFieldField as PostFieldField, blogV3Post_universal_d_GetPostResponse as GetPostResponse, blogV3Post_universal_d_GetPostBySlugRequest as GetPostBySlugRequest, blogV3Post_universal_d_GetPostBySlugResponse as GetPostBySlugResponse, blogV3Post_universal_d_ListPostsRequest as ListPostsRequest, blogV3Post_universal_d_GetPostsSort as GetPostsSort, blogV3Post_universal_d_ListPostsResponse as ListPostsResponse, blogV3Post_universal_d_QueryPostsRequest as QueryPostsRequest, Sorting$1 as Sorting, SortOrder$1 as SortOrder, PlatformQuery$1 as PlatformQuery, PlatformQueryPagingMethodOneOf$1 as PlatformQueryPagingMethodOneOf, Paging$1 as Paging, CursorPaging$1 as CursorPaging, blogV3Post_universal_d_QueryPostsResponse as QueryPostsResponse, PagingMetadataV2$1 as PagingMetadataV2, Cursors$1 as Cursors, blogV3Post_universal_d_GetPostMetricsRequest as GetPostMetricsRequest, blogV3Post_universal_d_GetPostMetricsResponse as GetPostMetricsResponse, blogV3Post_universal_d_BulkGetPostMetricsRequest as BulkGetPostMetricsRequest, blogV3Post_universal_d_BulkGetPostMetricsResponse as BulkGetPostMetricsResponse, blogV3Post_universal_d_BulkGetPostReactionsRequest as BulkGetPostReactionsRequest, blogV3Post_universal_d_BulkGetPostReactionsResponse as BulkGetPostReactionsResponse, blogV3Post_universal_d_Reactions as Reactions, blogV3Post_universal_d_ListDemoPostsRequest as ListDemoPostsRequest, blogV3Post_universal_d_ListDemoPostsResponse as ListDemoPostsResponse, blogV3Post_universal_d_OldBlogMigratedEvent as OldBlogMigratedEvent, blogV3Post_universal_d_ListMigratedPostsRequest as ListMigratedPostsRequest, blogV3Post_universal_d_BlogCursorPaging as BlogCursorPaging, blogV3Post_universal_d_ListMigratedPostsResponse as ListMigratedPostsResponse, blogV3Post_universal_d_PostMigrationMetaData as PostMigrationMetaData, blogV3Post_universal_d_CursorMetaData as CursorMetaData, blogV3Post_universal_d_QueryPublicationsCountStatsRequest as QueryPublicationsCountStatsRequest, blogV3Post_universal_d_QueryPublicationsCountStatsRequestOrder as QueryPublicationsCountStatsRequestOrder, blogV3Post_universal_d_QueryPublicationsCountStatsResponse as QueryPublicationsCountStatsResponse, blogV3Post_universal_d_PeriodPublicationsCount as PeriodPublicationsCount, blogV3Post_universal_d_QueryPostCountStatsRequest as QueryPostCountStatsRequest, blogV3Post_universal_d_Order as Order, blogV3Post_universal_d_QueryPostCountStatsResponse as QueryPostCountStatsResponse, blogV3Post_universal_d_PeriodPostCount as PeriodPostCount, blogV3Post_universal_d_GetTotalPublicationsRequest as GetTotalPublicationsRequest, blogV3Post_universal_d_GetTotalPublicationsResponse as GetTotalPublicationsResponse, blogV3Post_universal_d_GetTotalPostsRequest as GetTotalPostsRequest, blogV3Post_universal_d_GetTotalPostsResponse as GetTotalPostsResponse, blogV3Post_universal_d_SendActionEventRequest as SendActionEventRequest, blogV3Post_universal_d_SendActionEventRequestActionOneOf as SendActionEventRequestActionOneOf, blogV3Post_universal_d_SendActionEventResponse as SendActionEventResponse, blogV3Post_universal_d_ListTemplatesOptions as ListTemplatesOptions, blogV3Post_universal_d_getPost as getPost, blogV3Post_universal_d_GetPostOptions as GetPostOptions, blogV3Post_universal_d_getPostBySlug as getPostBySlug, blogV3Post_universal_d_GetPostBySlugOptions as GetPostBySlugOptions, blogV3Post_universal_d_listPosts as listPosts, blogV3Post_universal_d_ListPostsOptions as ListPostsOptions, blogV3Post_universal_d_queryPosts as queryPosts, blogV3Post_universal_d_QueryPostsOptions as QueryPostsOptions, blogV3Post_universal_d_PostsQueryResult as PostsQueryResult, blogV3Post_universal_d_PostsQueryBuilder as PostsQueryBuilder, blogV3Post_universal_d_getPostMetrics as getPostMetrics, blogV3Post_universal_d_ListDemoPostsOptions as ListDemoPostsOptions, blogV3Post_universal_d_ListMigratedPostsOptions as ListMigratedPostsOptions, blogV3Post_universal_d_QueryPublicationsCountStatsOptions as QueryPublicationsCountStatsOptions, blogV3Post_universal_d_queryPostCountStats as queryPostCountStats, blogV3Post_universal_d_QueryPostCountStatsOptions as QueryPostCountStatsOptions, blogV3Post_universal_d_GetTotalPublicationsOptions as GetTotalPublicationsOptions, blogV3Post_universal_d_getTotalPosts as getTotalPosts, blogV3Post_universal_d_GetTotalPostsOptions as GetTotalPostsOptions, blogV3Post_universal_d_SendActionEventOptions as SendActionEventOptions, };\n    }\n    const __debug: {\n        verboseLogging: {\n            on: () => boolean;\n            off: () => boolean;\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;\n        /**\n         * Date the tag was last updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\n        /**\n         * Reserved for internal use.\n         * @readonly\n         */\n        publicationCount?: number;\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-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    /**\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?: 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 focused */\n        isMain?: boolean;\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 redirects feature creating `301 redirects` on a slug change is enabled.\n         *\n         *\n         * Default: 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;\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    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-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;\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    interface CreateTagResponse {\n        /** Tag info. */\n        tag?: Tag;\n    }\n    interface UpdateTagRequest {\n        /** Tag info. */\n        tag?: Tag;\n        /** Field mask of fields to update. */\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 GetTagByLabelRequest {\n        /** Tag label. */\n        label: string;\n        /**\n         * Tag language.\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         * If omitted, tags in all languages are returned.\n         */\n        language?: string | null;\n        /**\n         * __Deprecated.__ Use `fieldsets` instead.\n         * This parameter will be removed on June 30, 2023.\n         *\n         * List of tag fields to be included in the response.\n         */\n        fieldsToInclude?: Field[];\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         * __Deprecated.__ Use `fieldsets` instead.\n         * This parameter will be removed on June 30, 2023.\n         *\n         * List of tag fields to be included in the response.\n         */\n        fieldsToInclude?: Field[];\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         * __Deprecated.__ Use `fieldsets` instead.\n         * This parameter will be removed on June 30, 2023.\n         *\n         * List of tag fields to be included in the response.\n         */\n        fieldsToInclude?: Field[];\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 GetTagBySlugResponse {\n        /** Tag info. */\n        tag?: Tag;\n    }\n    interface QueryTagsRequest {\n        /**\n         * __Deprecated.__ Use `query` instead.\n         * This parameter will be removed on June 30, 2023.\n         *\n         * Filter object.\n         * For a detailed list of supported filters, see [Field Support for Filtering and Sorting](https://dev.wix.com/api/rest/community/blog/filter-and-sort).\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/api/rest/community/blog/filter-and-sort).\n         */\n        sort?: Sorting[];\n        /**\n         * __Deprecated.__ Use `query` instead.\n         * This parameter will be removed on June 30, 2023.\n         *\n         * Pagination options.\n         */\n        paging?: Paging;\n        /**\n         * __Deprecated.__ Use `fieldsets` instead.\n         * This parameter will be removed on June 30, 2023.\n         *\n         * List of tag fields to be included in the response.\n         */\n        fieldsToInclude?: Field[];\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 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 TagsFieldSet {\n        /** Includes tag URL when TRUE. Defaults to FALSE. */\n        includeUrl?: boolean;\n    }\n    interface PlatformQuery extends PlatformQueryPagingMethodOneOf {\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        /** 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 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 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        /**\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         */\n        metaData?: MetaData;\n        /** Details on the paged set of results returned. */\n        pagingMetadata?: PagingMetadataV2;\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 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 ListTagsRequest 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        /**\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        /** 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    /** @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 DeleteTagRequest {\n        /** Tag ID. */\n        tagId: string;\n    }\n    interface DeleteTagResponse {\n    }\n    interface GetOrCreateTagOptions {\n        /** Tag language. */\n        language?: 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 CreateTagOptions {\n        /**\n         * Tag language.\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;\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    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;\n            /**\n             * Date the tag was last updated.\n             * @readonly\n             */\n            _updatedDate?: Date;\n            /**\n             * Reserved for internal use.\n             * @readonly\n             */\n            publicationCount?: number;\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-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        /** Field mask of fields to update. */\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 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     * 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 GetTagByLabelRequest\n     * @requiredField label\n     * @param options - Options specifying which additional fields to return.\n     */\n    function getTagByLabel(label: string, options?: GetTagByLabelOptions): Promise<GetTagByLabelResponse>;\n    interface GetTagByLabelOptions {\n        /**\n         * Tag language.\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         * If omitted, tags in all languages are returned.\n         */\n        language?: string | null;\n        /**\n         * List of additional tag fields to be included in the response. By default, any fields not passed are not returned.\n         *\n         * Supported Values:\n         *  `\"URL\"`\n         */\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     */\n    function getTag(tagId: string, options?: GetTagOptions): Promise<GetTagResponse>;\n    interface GetTagOptions {\n        /**\n         * List of additional tag fields to be included in the response. By default, any fields not passed are not returned.\n         *\n         * Supported Values:\n         *  `\"URL\"`\n         */\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     */\n    function getTagBySlug(slug: string, options?: GetTagBySlugOptions): Promise<GetTagBySlugResponse>;\n    interface GetTagBySlugOptions {\n        /**\n         * List of additional tag fields to be included in the response. By default, any fields not passed are not returned.\n         *\n         * Supported Values:\n         *  `\"URL\"`\n         */\n        fieldsets?: Field[];\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     */\n    function queryTags(options?: QueryTagsOptions): TagsQueryBuilder;\n    interface QueryTagsOptions {\n        /**\n         * List of additional tag fields to be included in the response. By default, any fields not passed are not returned.\n         *\n         * Supported Values:\n         *  `\"URL\"`\n         */\n        fieldsets?: Field[] | 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 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: string, value: any) => TagsQueryBuilder;\n        /** @param propertyName - Property whose value is compared with `value`.\n         * @param value - Value to compare against.\n         */\n        ne: (propertyName: string, value: any) => TagsQueryBuilder;\n        /** @param propertyName - Property whose value is compared with `value`.\n         * @param value - Value to compare against.\n         */\n        ge: (propertyName: string, value: any) => TagsQueryBuilder;\n        /** @param propertyName - Property whose value is compared with `value`.\n         * @param value - Value to compare against.\n         */\n        gt: (propertyName: string, value: any) => TagsQueryBuilder;\n        /** @param propertyName - Property whose value is compared with `value`.\n         * @param value - Value to compare against.\n         */\n        le: (propertyName: string, value: any) => TagsQueryBuilder;\n        /** @param propertyName - Property whose value is compared with `value`.\n         * @param value - Value to compare against.\n         */\n        lt: (propertyName: string, 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: string, 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: string, value: any[]) => TagsQueryBuilder;\n        /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n        ascending: (...propertyNames: string[]) => TagsQueryBuilder;\n        /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n        descending: (...propertyNames: string[]) => 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    interface ListTagsOptions {\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    const blogV3Tag_universal_d___debug: typeof __debug;\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_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_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_TagsFieldSet = TagsFieldSet;\n    type blogV3Tag_universal_d_PlatformQuery = PlatformQuery;\n    type blogV3Tag_universal_d_PlatformQueryPagingMethodOneOf = PlatformQueryPagingMethodOneOf;\n    type blogV3Tag_universal_d_CursorPaging = CursorPaging;\n    type blogV3Tag_universal_d_QueryTagsResponse = QueryTagsResponse;\n    type blogV3Tag_universal_d_MetaData = MetaData;\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_DeleteTagRequest = DeleteTagRequest;\n    type blogV3Tag_universal_d_DeleteTagResponse = DeleteTagResponse;\n    type blogV3Tag_universal_d_GetOrCreateTagOptions = GetOrCreateTagOptions;\n    type blogV3Tag_universal_d_CreateTagOptions = CreateTagOptions;\n    type blogV3Tag_universal_d_UpdateTagOptions = UpdateTagOptions;\n    type blogV3Tag_universal_d_BulkCreateTagsOptions = BulkCreateTagsOptions;\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    type blogV3Tag_universal_d_ListTagsOptions = ListTagsOptions;\n    namespace blogV3Tag_universal_d {\n        export { blogV3Tag_universal_d___debug as __debug, blogV3Tag_universal_d_Tag as Tag, blogV3Tag_universal_d_SeoSchema as SeoSchema, blogV3Tag_universal_d_Keyword as Keyword, blogV3Tag_universal_d_SeoSchemaTag as SeoSchemaTag, blogV3Tag_universal_d_Settings as Settings, blogV3Tag_universal_d_InitialTagsCopied as InitialTagsCopied, blogV3Tag_universal_d_GetOrCreateTagRequest as GetOrCreateTagRequest, blogV3Tag_universal_d_Field as Field, blogV3Tag_universal_d_GetOrCreateTagResponse as GetOrCreateTagResponse, blogV3Tag_universal_d_CreateTagRequest as CreateTagRequest, blogV3Tag_universal_d_CreateTagResponse as CreateTagResponse, blogV3Tag_universal_d_UpdateTagRequest as UpdateTagRequest, blogV3Tag_universal_d_UpdateTagResponse as UpdateTagResponse, blogV3Tag_universal_d_BulkCreateTagsRequest as BulkCreateTagsRequest, blogV3Tag_universal_d_BulkCreateTagsResponse as BulkCreateTagsResponse, blogV3Tag_universal_d_BulkTagResult as BulkTagResult, blogV3Tag_universal_d_ItemMetadata as ItemMetadata, blogV3Tag_universal_d_ApplicationError as ApplicationError, blogV3Tag_universal_d_BulkActionMetadata as BulkActionMetadata, blogV3Tag_universal_d_GetTagByLabelRequest as GetTagByLabelRequest, blogV3Tag_universal_d_GetTagByLabelResponse as GetTagByLabelResponse, blogV3Tag_universal_d_GetTagRequest as GetTagRequest, blogV3Tag_universal_d_GetTagResponse as GetTagResponse, blogV3Tag_universal_d_GetTagBySlugRequest as GetTagBySlugRequest, blogV3Tag_universal_d_GetTagBySlugResponse as GetTagBySlugResponse, blogV3Tag_universal_d_QueryTagsRequest as QueryTagsRequest, blogV3Tag_universal_d_Sorting as Sorting, blogV3Tag_universal_d_SortOrder as SortOrder, blogV3Tag_universal_d_Paging as Paging, blogV3Tag_universal_d_TagsFieldSet as TagsFieldSet, blogV3Tag_universal_d_PlatformQuery as PlatformQuery, blogV3Tag_universal_d_PlatformQueryPagingMethodOneOf as PlatformQueryPagingMethodOneOf, blogV3Tag_universal_d_CursorPaging as CursorPaging, blogV3Tag_universal_d_QueryTagsResponse as QueryTagsResponse, blogV3Tag_universal_d_MetaData as MetaData, blogV3Tag_universal_d_PagingMetadataV2 as PagingMetadataV2, blogV3Tag_universal_d_Cursors as Cursors, blogV3Tag_universal_d_ListTagsRequest as ListTagsRequest, blogV3Tag_universal_d_ListTagsRequestPagingMethodOneOf as ListTagsRequestPagingMethodOneOf, blogV3Tag_universal_d_ListTagsResponse as ListTagsResponse, blogV3Tag_universal_d_DeleteTagRequest as DeleteTagRequest, blogV3Tag_universal_d_DeleteTagResponse as DeleteTagResponse, blogV3Tag_universal_d_GetOrCreateTagOptions as GetOrCreateTagOptions, blogV3Tag_universal_d_CreateTagOptions as CreateTagOptions, blogV3Tag_universal_d_UpdateTagOptions as UpdateTagOptions, blogV3Tag_universal_d_BulkCreateTagsOptions as BulkCreateTagsOptions, blogV3Tag_universal_d_getTagByLabel as getTagByLabel, blogV3Tag_universal_d_GetTagByLabelOptions as GetTagByLabelOptions, blogV3Tag_universal_d_getTag as getTag, blogV3Tag_universal_d_GetTagOptions as GetTagOptions, blogV3Tag_universal_d_getTagBySlug as getTagBySlug, blogV3Tag_universal_d_GetTagBySlugOptions as GetTagBySlugOptions, blogV3Tag_universal_d_queryTags as queryTags, blogV3Tag_universal_d_QueryTagsOptions as QueryTagsOptions, blogV3Tag_universal_d_TagsQueryResult as TagsQueryResult, blogV3Tag_universal_d_TagsQueryBuilder as TagsQueryBuilder, blogV3Tag_universal_d_ListTagsOptions as ListTagsOptions, };\n    }\n    export { blogV3Category_universal_d as categories, blogV3Post_universal_d as posts, blogV3Tag_universal_d as tags };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-ecom-backend.d.ts",
      "content": "declare module \"wix-ecom-backend\" {\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$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$5;\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;\n        /**\n         * Date and time the cart was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\n        /** Contact info. */\n        contactInfo?: AddressWithContact$4;\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    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$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$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         * 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$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$4;\n        /**\n         * Item type. Either a preset type or custom.\n         * @readonly\n         */\n        itemType?: ItemType$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?: PaymentOptionType$4;\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$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$3;\n        /**\n         * Tax group ID for this line item.\n         * @readonly\n         */\n        taxGroupId?: string | null;\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$3;\n        /**\n         * Whether to save the payment method on the order.\n         *\n         * Default: `false`\n         * @readonly\n         */\n        savePaymentMethod?: boolean;\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 [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.\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$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$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        /** Description line name. */\n        name?: DescriptionLineName$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    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        UNRECOGNISED = \"UNRECOGNISED\",\n        PLAIN_TEXT = \"PLAIN_TEXT\",\n        COLOR = \"COLOR\"\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        NOT_FOUND = \"NOT_FOUND\",\n        /** Not in stock */\n        NOT_AVAILABLE = \"NOT_AVAILABLE\",\n        /** Available quantity is less than requested */\n        PARTIALLY_AVAILABLE = \"PARTIALLY_AVAILABLE\"\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 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$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$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$4 {\n        /** Subscription option settings. */\n        subscriptionSettings?: SubscriptionSettings$5;\n        /** Subscription option title. */\n        title?: Title$3;\n        /** Subscription option description. */\n        description?: Description$3;\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         */\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    /** 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 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$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 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 the 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 the checkout. 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;\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$3 {\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$4;\n        /** Item image. */\n        image?: string;\n        /**\n         * Whether to save the payment method on the order.\n         *\n         * Default: `false`\n         */\n        savePaymentMethod?: boolean | null;\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    /** 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$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 CartDiscount$1 extends CartDiscountDiscountSourceOneOf$1 {\n        /** Coupon details. */\n        coupon?: Coupon$4;\n        /** Merchant discount. */\n        merchantDiscount?: MerchantDiscount$4;\n    }\n    /** @oneof */\n    interface CartDiscountDiscountSourceOneOf$1 {\n        /** Coupon details. */\n        coupon?: Coupon$4;\n        /** Merchant discount. */\n        merchantDiscount?: MerchantDiscount$4;\n    }\n    interface Coupon$4 {\n        /** Coupon ID. */\n        _id?: string;\n        /** Coupon code. */\n        code?: string;\n    }\n    interface MerchantDiscount$4 {\n        /** Discount value. */\n        amount?: MultiCurrencyPrice$4;\n    }\n    /** Billing Info and shipping details */\n    interface AddressWithContact$4 {\n        /** Address. */\n        address?: Address$5;\n        /** Contact details. */\n        contactDetails?: FullAddressContactDetails$4;\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    }\n    interface StreetAddress$4 {\n        /** Street number. */\n        number?: string;\n        /** Street name. */\n        name?: string;\n    }\n    interface AddressLocation$4 {\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?: VatId$5;\n    }\n    interface VatId$5 {\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$5;\n    }\n    /** tax info types */\n    enum VatType$5 {\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 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 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$2[];\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$3[];\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$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$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?: PaymentOptionType$4;\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        /** 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         * 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    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$3[];\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$3[];\n        /** Selected shipping option. */\n        selectedShippingOption?: SelectedShippingOption$1;\n        /** Shipping address. Used for calculating tax and shipping (when applicable). */\n        shippingAddress?: Address$5;\n        /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n        billingAddress?: Address$5;\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$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$1[];\n        /** Price summary. */\n        priceSummary?: PriceSummary$4;\n        /** Applied gift card. */\n        giftCard?: GiftCard$4;\n        /** Tax summary. */\n        taxSummary?: TaxSummary$4;\n        /** Shipping information. */\n        shippingInfo?: ShippingInformation$2;\n        /** Applied discounts. */\n        appliedDiscounts?: AppliedDiscount$5[];\n        /** Calculation errors. */\n        calculationErrors?: CalculationErrors$3;\n        /** Weight measurement unit - defaults to site's weight unit. */\n        weightUnit?: WeightUnit$5;\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$4;\n        /**\n         * Remaining amount for the order to be fully paid.\n         * @readonly\n         */\n        payLater?: PriceSummary$4;\n        /** Information about valid and invalid memberships, and which ones are selected for usage. */\n        membershipOptions?: MembershipOptions$3;\n        /** Additional fees */\n        additionalFees?: AdditionalFee$4[];\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$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?: PaymentOptionType$4;\n    }\n    interface LineItemPricesData$1 {\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$4;\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$4 {\n        /** Amount for which tax is calculated. */\n        taxableAmount?: MultiCurrencyPrice$4;\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$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$4;\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$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$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 PriceSummary$4 {\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$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$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$4 {\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         * Tax calculator that was active when the order was created.\n         * @deprecated\n         */\n        calculationDetails?: TaxCalculationDetails$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$7;\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$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    /**\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$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$4;\n    }\n    interface ShippingInformation$2 {\n        /** Shipping region. */\n        region?: ShippingRegion$4;\n        /** Selected shipping option. */\n        selectedCarrierServiceOption?: SelectedCarrierServiceOption$3;\n        /** All shipping options. */\n        carrierServiceOptions?: CarrierServiceOption$3[];\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 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$4;\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    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    interface PickupDetails$5 {\n        /** Pickup address. */\n        address?: Address$5;\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;\n        /** ending time of the delivery time slot */\n        to?: Date;\n    }\n    interface SelectedCarrierServiceOptionPrices$3 {\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$4;\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$3 {\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$3;\n    }\n    enum ChargeType$3 {\n        HANDLING_FEE = \"HANDLING_FEE\",\n        INSURANCE = \"INSURANCE\"\n    }\n    interface CarrierServiceOption$3 {\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$4;\n    }\n    interface ShippingPrice$4 {\n        /** Shipping price. */\n        price?: MultiCurrencyPrice$4;\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$3;\n        /** Price of added cost. */\n        price?: MultiCurrencyPrice$4;\n    }\n    interface AppliedDiscount$5 extends AppliedDiscountDiscountSourceOneOf$4 {\n        /** Coupon details. */\n        coupon?: V1Coupon$1;\n        /** Merchant discount. */\n        merchantDiscount?: V1MerchantDiscount$1;\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    /** @oneof */\n    interface AppliedDiscountDiscountSourceOneOf$4 {\n        /** Coupon details. */\n        coupon?: V1Coupon$1;\n        /** Merchant discount. */\n        merchantDiscount?: V1MerchantDiscount$1;\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$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    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$5 {\n        /** Discount rule ID */\n        _id?: string;\n        /** Discount rule name */\n        name?: DiscountRuleName$5;\n        /** Discount value. */\n        amount?: MultiCurrencyPrice$4;\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$4 {\n        /** ID of line item the discount applies to. */\n        _id?: string;\n        /** Discount value. */\n        totalDiscountAmount?: MultiCurrencyPrice$4;\n    }\n    interface CalculationErrors$3 extends CalculationErrorsShippingCalculationErrorOneOf$3 {\n        /** General shipping calculation error. */\n        generalShippingCalculationError?: Details$3;\n        /** Carrier errors. */\n        carrierErrors?: CarrierErrors$3;\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$7[];\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$3 {\n        /** General shipping calculation error. */\n        generalShippingCalculationError?: Details$3;\n        /** Carrier errors. */\n        carrierErrors?: CarrierErrors$3;\n    }\n    interface Details$3 extends DetailsKindOneOf$3 {\n        applicationError?: ApplicationError$7;\n        validationError?: ValidationError$3;\n        systemError?: SystemError$3;\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$3 {\n        applicationError?: ApplicationError$7;\n        validationError?: ValidationError$3;\n        systemError?: SystemError$3;\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    }\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$3 {\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 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$1[];\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;\n        /** Additional data about this membership. */\n        additionalData?: Record<string, any> | null;\n    }\n    interface MembershipName$5 {\n        /** The name of this membership */\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        /** How much credit this membership has in total */\n        total?: number;\n        /** How much credit remained for this membership */\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$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$4;\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$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    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    }\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    /** 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    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$5;\n        /** Shipping address. Used for calculating tax and shipping (when applicable). */\n        shippingAddress?: Address$5;\n        /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n        billingAddress?: Address$5;\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 = \"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 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$1;\n        /** Shipping address. Used for calculating tax and shipping (when applicable). */\n        shippingAddress?: Address$5;\n        /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n        billingAddress?: Address$5;\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$1 {\n    }\n    interface DeleteCartResponse$1 {\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;\n        /**\n         * Whether the event was triggered as a result of a privacy regulation application\n         * (for example, GDPR).\n         */\n        triggeredByAnonymizeRequest?: boolean | null;\n        /** If present, indicates the action that triggered the event. */\n        originatedFrom?: string | null;\n        /**\n         * A sequence number defining the order of updates to the underlying entity.\n         * For example, given that some entity was updated at 16:00 and than again at 16:01,\n         * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n         * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n         * To do so, you will need to persist this number on your end, and compare the sequence number from the\n         * message against the one you have 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        /** 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;\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    interface EntityDeletedEvent$b {\n        /** Entity that was deleted */\n        deletedEntityAsJson?: string | null;\n    }\n    interface ActionEvent$b {\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    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$2[];\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$3[];\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$3[];\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$5;\n        /** Shipping address. Used for calculating tax and shipping (when applicable). */\n        shippingAddress?: Address$5;\n        /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n        billingAddress?: Address$5;\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$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$1;\n        /** Shipping address. Used for calculating tax and shipping (when applicable). */\n        shippingAddress?: Address$5;\n        /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n        billingAddress?: Address$5;\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$1 {\n        /** ID of the cart to delete. */\n        _id: string;\n    }\n    interface Empty$7 {\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.productName\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - Admin Permissions\n     * @permissionScopeId SCOPE.ECOM.MANAGE-ADMIN\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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$2[];\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$3[];\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - Admin Permissions\n     * @permissionScopeId SCOPE.ECOM.MANAGE-ADMIN\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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$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$5;\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;\n            /**\n             * Date and time the cart was updated.\n             * @readonly\n             */\n            _updatedDate?: Date;\n            /** Contact info. */\n            contactInfo?: AddressWithContact$4;\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        /** 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$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$3[];\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Read eCommerce - all read permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-STORES.READ-ORDERS\n     * @permissionScope Read Stores - all read permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @returns Fulfilled - The specified cart.\n     */\n    function getCart(_id: string): Promise<Cart$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.productName\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - Admin Permissions\n     * @permissionScopeId SCOPE.ECOM.MANAGE-ADMIN\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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$3[];\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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$5;\n        /** Shipping address. Used for calculating tax and shipping (when applicable). */\n        shippingAddress?: Address$5;\n        /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n        billingAddress?: Address$5;\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 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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Read eCommerce - all read permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-STORES.READ-ORDERS\n     * @permissionScope Read Stores - all read permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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$1;\n        /** Shipping address. Used for calculating tax and shipping (when applicable). */\n        shippingAddress?: Address$5;\n        /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n        billingAddress?: Address$5;\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 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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @returns Fulfilled - When the cart is deleted. Rejected - Error message.\n     */\n    function deleteCart(_id: string): Promise<void>;\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_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 { Cart$1 as Cart, LineItem$6 as LineItem, CatalogReference$7 as CatalogReference, ProductName$4 as ProductName, MultiCurrencyPrice$4 as MultiCurrencyPrice, DescriptionLine$4 as DescriptionLine, DescriptionLineValueOneOf$4 as DescriptionLineValueOneOf, DescriptionLineDescriptionLineValueOneOf$4 as DescriptionLineDescriptionLineValueOneOf, DescriptionLineName$4 as DescriptionLineName, PlainTextValue$4 as PlainTextValue, Color$4 as Color, DescriptionLineType$4 as DescriptionLineType, ItemAvailabilityInfo$3 as ItemAvailabilityInfo, ItemAvailabilityStatus$3 as ItemAvailabilityStatus, PhysicalProperties$4 as PhysicalProperties, Scope$4 as Scope, Group$3 as Group, ItemType$4 as ItemType, ItemTypeItemTypeDataOneOf$4 as ItemTypeItemTypeDataOneOf, ItemTypeItemType$4 as ItemTypeItemType, SubscriptionOptionInfo$4 as SubscriptionOptionInfo, SubscriptionSettings$5 as SubscriptionSettings, SubscriptionFrequency$5 as SubscriptionFrequency, Title$3 as Title, Description$3 as Description, SecuredMedia$3 as SecuredMedia, FileType$3 as FileType, PaymentOptionType$4 as PaymentOptionType, ServiceProperties$4 as ServiceProperties, PriceDescription$4 as PriceDescription, SelectedMembership$3 as SelectedMembership, CatalogOverrideFields$3 as CatalogOverrideFields, TaxableAddress$2 as TaxableAddress, TaxableAddressTaxableAddressDataOneOf$2 as TaxableAddressTaxableAddressDataOneOf, TaxableAddressType$2 as TaxableAddressType, BuyerInfo$6 as BuyerInfo, BuyerInfoIdOneOf$4 as BuyerInfoIdOneOf, WeightUnit$5 as WeightUnit, CartDiscount$1 as CartDiscount, CartDiscountDiscountSourceOneOf$1 as CartDiscountDiscountSourceOneOf, Coupon$4 as Coupon, MerchantDiscount$4 as MerchantDiscount, AddressWithContact$4 as AddressWithContact, Address$5 as Address, StreetAddress$4 as StreetAddress, AddressLocation$4 as AddressLocation, FullAddressContactDetails$4 as FullAddressContactDetails, VatId$5 as VatId, VatType$5 as VatType, SelectedShippingOption$1 as SelectedShippingOption, ExtendedFields$5 as ExtendedFields, GetCurrentCartRequest$1 as GetCurrentCartRequest, GetCurrentCartResponse$1 as GetCurrentCartResponse, UpdateCartRequest$1 as UpdateCartRequest, MerchantDiscountInput$2 as MerchantDiscountInput, CustomLineItem$3 as CustomLineItem, UpdateCartResponse$1 as UpdateCartResponse, AddToCurrentCartRequest$1 as AddToCurrentCartRequest, AddToCartResponse$1 as AddToCartResponse, AddToCurrentCartAndEstimateTotalsRequest$1 as AddToCurrentCartAndEstimateTotalsRequest, SelectedMemberships$3 as SelectedMemberships, HostSelectedMembership$1 as HostSelectedMembership, EstimateTotalsResponse$1 as EstimateTotalsResponse, CalculatedLineItem$1 as CalculatedLineItem, LineItemPricesData$1 as LineItemPricesData, ItemTaxFullDetails$4 as ItemTaxFullDetails, TaxRateBreakdown$3 as TaxRateBreakdown, TaxBreakdown$3 as TaxBreakdown, JurisdictionType$4 as JurisdictionType, PriceSummary$4 as PriceSummary, GiftCard$4 as GiftCard, TaxSummary$4 as TaxSummary, TaxCalculationDetails$3 as TaxCalculationDetails, TaxCalculationDetailsCalculationDetailsOneOf$3 as TaxCalculationDetailsCalculationDetailsOneOf, RateType$3 as RateType, ManualCalculationReason$3 as ManualCalculationReason, AutoTaxFallbackCalculationDetails$3 as AutoTaxFallbackCalculationDetails, FallbackReason$3 as FallbackReason, ApplicationError$7 as ApplicationError, AggregatedTaxBreakdown$3 as AggregatedTaxBreakdown, ShippingInformation$2 as ShippingInformation, ShippingRegion$4 as ShippingRegion, SelectedCarrierServiceOption$3 as SelectedCarrierServiceOption, DeliveryLogistics$4 as DeliveryLogistics, PickupDetails$5 as PickupDetails, PickupMethod$4 as PickupMethod, DeliveryTimeSlot$4 as DeliveryTimeSlot, SelectedCarrierServiceOptionPrices$3 as SelectedCarrierServiceOptionPrices, SelectedCarrierServiceOptionOtherCharge$3 as SelectedCarrierServiceOptionOtherCharge, ChargeType$3 as ChargeType, CarrierServiceOption$3 as CarrierServiceOption, ShippingOption$3 as ShippingOption, ShippingPrice$4 as ShippingPrice, OtherCharge$3 as OtherCharge, AppliedDiscount$5 as AppliedDiscount, AppliedDiscountDiscountSourceOneOf$4 as AppliedDiscountDiscountSourceOneOf, DiscountType$5 as DiscountType, V1Coupon$1 as V1Coupon, V1MerchantDiscount$1 as V1MerchantDiscount, DiscountRule$5 as DiscountRule, DiscountRuleName$5 as DiscountRuleName, LineItemDiscount$4 as LineItemDiscount, CalculationErrors$3 as CalculationErrors, CalculationErrorsShippingCalculationErrorOneOf$3 as CalculationErrorsShippingCalculationErrorOneOf, Details$3 as Details, DetailsKindOneOf$3 as DetailsKindOneOf, ValidationError$3 as ValidationError, RuleType$3 as RuleType, FieldViolation$3 as FieldViolation, SystemError$3 as SystemError, CarrierErrors$3 as CarrierErrors, CarrierError$3 as CarrierError, MembershipOptions$3 as MembershipOptions, Membership$3 as Membership, MembershipName$5 as MembershipName, MembershipPaymentCredits$3 as MembershipPaymentCredits, InvalidMembership$3 as InvalidMembership, AdditionalFee$4 as AdditionalFee, Violation$3 as Violation, Severity$3 as Severity, Target$3 as Target, TargetTargetTypeOneOf$3 as TargetTargetTypeOneOf, NameInOther$3 as NameInOther, NameInLineItem$3 as NameInLineItem, Other$3 as Other, TargetLineItem$3 as TargetLineItem, RemoveLineItemsFromCurrentCartRequest$1 as RemoveLineItemsFromCurrentCartRequest, RemoveLineItemsResponse$2 as RemoveLineItemsResponse, CreateCheckoutFromCurrentCartRequest$1 as CreateCheckoutFromCurrentCartRequest, ChannelType$5 as ChannelType, CreateCheckoutResponse$2 as CreateCheckoutResponse, RemoveCouponFromCurrentCartRequest$1 as RemoveCouponFromCurrentCartRequest, RemoveCouponResponse$2 as RemoveCouponResponse, UpdateCurrentCartLineItemQuantityRequest$1 as UpdateCurrentCartLineItemQuantityRequest, LineItemQuantityUpdate$2 as LineItemQuantityUpdate, UpdateLineItemsQuantityResponse$2 as UpdateLineItemsQuantityResponse, EstimateCurrentCartTotalsRequest$1 as EstimateCurrentCartTotalsRequest, DeleteCurrentCartRequest$1 as DeleteCurrentCartRequest, DeleteCartResponse$1 as DeleteCartResponse, DomainEvent$b as DomainEvent, DomainEventBodyOneOf$b as DomainEventBodyOneOf, EntityCreatedEvent$b as EntityCreatedEvent, RestoreInfo$7 as RestoreInfo, EntityUpdatedEvent$b as EntityUpdatedEvent, EntityDeletedEvent$b as EntityDeletedEvent, ActionEvent$b as ActionEvent, MessageEnvelope$b as MessageEnvelope, IdentificationData$b as IdentificationData, IdentificationDataIdOneOf$b as IdentificationDataIdOneOf, WebhookIdentityType$b as WebhookIdentityType, CreateCartRequest$1 as CreateCartRequest, CreateCartResponse$1 as CreateCartResponse, GetCartRequest$1 as GetCartRequest, GetCartResponse$1 as GetCartResponse, GetCartByCheckoutIdRequest$1 as GetCartByCheckoutIdRequest, GetCartByCheckoutIdResponse$1 as GetCartByCheckoutIdResponse, AddToCartRequest$1 as AddToCartRequest, RemoveLineItemsRequest$2 as RemoveLineItemsRequest, CreateCheckoutRequest$2 as CreateCheckoutRequest, RemoveCouponRequest$2 as RemoveCouponRequest, UpdateLineItemsQuantityRequest$2 as UpdateLineItemsQuantityRequest, EstimateTotalsRequest$1 as EstimateTotalsRequest, DeleteCartRequest$1 as DeleteCartRequest, Empty$7 as Empty, ecomV1CartCart_universal_d_createCart as createCart, ecomV1CartCart_universal_d_CreateCartOptions as CreateCartOptions, ecomV1CartCart_universal_d_updateCart as updateCart, ecomV1CartCart_universal_d_UpdateCartOptions as UpdateCartOptions, ecomV1CartCart_universal_d_getCart as getCart, ecomV1CartCart_universal_d_addToCart as addToCart, ecomV1CartCart_universal_d_AddToCartOptions as AddToCartOptions, removeLineItems$1 as removeLineItems, createCheckout$1 as createCheckout, CreateCheckoutOptions$1 as CreateCheckoutOptions, removeCoupon$1 as removeCoupon, updateLineItemsQuantity$1 as updateLineItemsQuantity, ecomV1CartCart_universal_d_estimateTotals as estimateTotals, ecomV1CartCart_universal_d_EstimateTotalsOptions as EstimateTotalsOptions, ecomV1CartCart_universal_d_deleteCart as deleteCart, };\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$5[];\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$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$4[];\n        /** Custom fields. */\n        customFields?: CustomField$3[];\n        /**\n         * Weight measurement unit - defaults to site's weight unit.\n         * @readonly\n         */\n        weightUnit?: WeightUnit$4;\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         * + `\"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         * @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$2;\n        /**\n         * Date and time the checkout was created.\n         * @readonly\n         */\n        _createdDate?: Date;\n        /**\n         * Date and time the checkout was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\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$2;\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         * 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         * 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$4;\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    interface LineItem$5 {\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$3;\n        /**\n         * Total line item price **after** catalog-defined discount and line item discounts.\n         * @readonly\n         */\n        lineItemPrice?: 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 all discounts and tax.\n         * @readonly\n         */\n        totalPriceAfterTax?: MultiCurrencyPrice$3;\n        /**\n         * Total price after discounts, and before tax.\n         * @readonly\n         */\n        totalPriceBeforeTax?: MultiCurrencyPrice$3;\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$3;\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$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$3;\n        /**\n         * Item type. Either a preset type or custom.\n         * @readonly\n         */\n        itemType?: ItemType$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. Amount to be paid is defined by deposit_amount field.\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$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$3;\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$2;\n        /**\n         * Whether to save the payment method on the order.\n         *\n         * Default: `false`\n         * @readonly\n         */\n        savePaymentMethod?: boolean;\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 [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.\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$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 ItemTaxFullDetails$3 {\n        /** Amount for which tax is calculated. */\n        taxableAmount?: MultiCurrencyPrice$3;\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$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$3;\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$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$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 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        /** Description line name. */\n        name?: DescriptionLineName$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    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        UNRECOGNISED = \"UNRECOGNISED\",\n        PLAIN_TEXT = \"PLAIN_TEXT\",\n        COLOR = \"COLOR\"\n    }\n    interface ItemAvailabilityInfo$2 {\n        /**\n         * Item availability status.\n         * + `\"NOT_FOUND\"`: Item does not exist\n         * + `\"NOT_AVAILABLE\"`: Item 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        NOT_FOUND = \"NOT_FOUND\",\n        /** Not in stock */\n        NOT_AVAILABLE = \"NOT_AVAILABLE\",\n        /** Available quantity is less than requested */\n        PARTIALLY_AVAILABLE = \"PARTIALLY_AVAILABLE\"\n    }\n    interface PhysicalProperties$3 {\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$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$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$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$3 {\n        /** Subscription option settings. */\n        subscriptionSettings?: SubscriptionSettings$4;\n        /** Subscription option title. */\n        title?: Title$2;\n        /** Subscription option description. */\n        description?: Description$2;\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         */\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    /** 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 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$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 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 the 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 the checkout. 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;\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$2 {\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$3;\n        /** Item image. */\n        image?: string;\n        /**\n         * Whether to save the payment method on the order.\n         *\n         * Default: `false`\n         */\n        savePaymentMethod?: boolean | null;\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    /** Billing Info and shipping details */\n    interface AddressWithContact$3 {\n        /** Address. */\n        address?: ApiAddress;\n        /** Contact details. */\n        contactDetails?: FullAddressContactDetails$3;\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$3;\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$3 {\n        /** Street number. */\n        number?: string;\n        /** Street name. */\n        name?: string;\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$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?: 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$3;\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$3;\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    interface DeliveryLogistics$3 {\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$4;\n    }\n    interface PickupDetails$4 {\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$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;\n        /** ending time of the delivery time slot */\n        to?: Date;\n    }\n    interface SelectedCarrierServiceOptionPrices$2 {\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$3;\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$2 {\n        /** Type of additional cost. */\n        type?: ChargeType$2;\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$2 {\n        HANDLING_FEE = \"HANDLING_FEE\",\n        INSURANCE = \"INSURANCE\"\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$2 {\n        /** Carrier ID. */\n        carrierId?: string;\n        /** Shipping options offered by this carrier for this request. */\n        shippingOptions?: ShippingOption$2[];\n    }\n    interface ShippingOption$2 {\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$3;\n        /** Sipping price information. */\n        cost?: ShippingPrice$3;\n    }\n    interface ShippingPrice$3 {\n        /** Shipping price. */\n        price?: MultiCurrencyPrice$3;\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$2;\n        /** Price of added cost. */\n        price?: MultiCurrencyPrice$3;\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         * 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    interface PriceSummary$3 {\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 CalculationErrors$2 extends CalculationErrorsShippingCalculationErrorOneOf$2 {\n        /** General shipping calculation error. */\n        generalShippingCalculationError?: Details$2;\n        /** Carrier errors. */\n        carrierErrors?: CarrierErrors$2;\n        /** Tax calculation error. */\n        taxCalculationError?: Details$2;\n        /** Coupon calculation error. */\n        couponCalculationError?: Details$2;\n        /** Gift card calculation error. */\n        giftCardCalculationError?: Details$2;\n        /** Order validation errors. */\n        orderValidationErrors?: ApplicationError$6[];\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$2;\n        /** Discount Rule calculation error. */\n        discountsCalculationError?: Details$2;\n    }\n    /** @oneof */\n    interface CalculationErrorsShippingCalculationErrorOneOf$2 {\n        /** General shipping calculation error. */\n        generalShippingCalculationError?: Details$2;\n        /** Carrier errors. */\n        carrierErrors?: CarrierErrors$2;\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    }\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$2 {\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 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$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 AppliedDiscount$4 extends AppliedDiscountDiscountSourceOneOf$3 {\n        /** Coupon details. */\n        coupon?: Coupon$3;\n        /** Merchant discount. */\n        merchantDiscount?: MerchantDiscount$3;\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    /** @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$4;\n    }\n    enum DiscountType$4 {\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$3;\n        /** Coupon name. */\n        name?: string;\n    }\n    interface MerchantDiscount$3 {\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$4 {\n        /** Discount rule ID */\n        _id?: string;\n        /** Discount rule name */\n        name?: DiscountRuleName$4;\n        /** Discount value. */\n        amount?: MultiCurrencyPrice$3;\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$3 {\n        /** ID of line item the discount applies to. */\n        _id?: string;\n        /** Discount value. */\n        totalDiscountAmount?: MultiCurrencyPrice$3;\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$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 TaxSummary$3 {\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         * Tax calculator that was active when the order was created.\n         * @deprecated\n         */\n        calculationDetails?: TaxCalculationDetails$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$6;\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$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$3;\n    }\n    enum ChannelType$4 {\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 CreatedBy$2 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$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;\n        /** Additional data about this membership. */\n        additionalData?: Record<string, any> | null;\n    }\n    interface MembershipName$4 {\n        /** The name of this membership */\n        original?: string;\n        /** Optional - Translated name of this membership. Defaults to `original` when not provided. */\n        translated?: string | null;\n    }\n    interface MembershipPaymentCredits$2 {\n        /** How much credit this membership has in total */\n        total?: number;\n        /** How much credit remained for this membership */\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$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$3;\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$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    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$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    }\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    /** 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    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 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 [Wix Dev Center](https://dev.wix.com/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 [Wix Dev Center](https://dev.wix.com/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 UpdatedCheckoutMessage {\n        /** Previous checkout. */\n        oldCheckout?: Checkout$1;\n        /** Updated checkout. */\n        updatedCheckout?: Checkout$1;\n    }\n    interface CreateCheckoutRequest$1 {\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$5[];\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         * **Required**\n         *  Sales channel type.\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         * `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$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$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?: 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$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        /** 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         * 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    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$1 {\n        /** Newly created checkout. */\n        checkout?: Checkout$1;\n    }\n    interface ShippingCalculationErrorData extends ShippingCalculationErrorDataShippingCalculationErrorOneOf {\n        generalShippingCalculationError?: Details$2;\n        carrierErrors?: CarrierErrors$2;\n    }\n    /** @oneof */\n    interface ShippingCalculationErrorDataShippingCalculationErrorOneOf {\n        generalShippingCalculationError?: Details$2;\n        carrierErrors?: CarrierErrors$2;\n    }\n    interface GetCheckoutRequest {\n        /** Checkout ID. */\n        _id: string;\n    }\n    interface GetCheckoutResponse {\n        /** The requested checkout. */\n        checkout?: Checkout$1;\n    }\n    interface GetCheckoutWithAllExtendedFieldsRequest {\n        /** Checkout ID. */\n        _id?: string;\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    interface GetWixCheckoutURLResponse {\n        /** Checkout URL. */\n        checkoutUrl?: string;\n    }\n    interface GetCheckoutURLRequest {\n        /** Checkout ID. */\n        _id: string;\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         * `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$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$2[];\n    }\n    interface UpdateCheckoutResponse {\n        /** Updated checkout. */\n        checkout?: Checkout$1;\n    }\n    interface RemoveCouponRequest$1 {\n        /** ID of the checkout to remove the coupon from. */\n        _id: string;\n    }\n    interface RemoveCouponResponse$1 {\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$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$2[];\n    }\n    interface AddToCheckoutResponse {\n        /** Updated checkout. */\n        checkout?: Checkout$1;\n    }\n    interface RemoveLineItemsRequest$1 {\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$1 {\n        /** Updated checkout after removal of line items. */\n        checkout?: Checkout$1;\n    }\n    interface CreateOrderRequest$1 {\n        /** Checkout ID. */\n        _id: 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$2[];\n    }\n    interface CreateOrderAndChargeRequest {\n        /** Checkout ID. */\n        _id: string;\n        /** Payment token. */\n        paymentToken?: string | null;\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    interface MarkCheckoutAsCompletedResponse {\n    }\n    /** Triggered when buyer successfully completed checkout flow */\n    interface CheckoutMarkedAsCompleted {\n        checkout?: Checkout$1;\n    }\n    interface UpdateLineItemsQuantityRequest$1 {\n        /** Checkout ID. */\n        _id: string;\n        /** Line item info to update. */\n        lineItems: LineItemQuantityUpdate$1[];\n    }\n    interface LineItemQuantityUpdate$1 {\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$1 {\n        /** Updated checkout. */\n        checkout?: Checkout$1;\n    }\n    interface GetCheckoutPaymentSettingsRequest {\n        /** Checkout ID. */\n        _id: string;\n    }\n    interface GetCheckoutPaymentSettingsResponse {\n        blockedPaymentOptions?: PaymentOption[];\n    }\n    enum PaymentOption {\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;\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$4;\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$2;\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$2;\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    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        /** 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$4;\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$4 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$4;\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$4 {\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$4;\n    }\n    /** Brazilian tax info types */\n    enum VatType$4 {\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;\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;\n    }\n    interface ShipmentDetails$1 {\n        /** Shipping destination address */\n        address?: Address$4;\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 {\n        /** Pickup address */\n        address?: PickupAddress$2;\n        /** Store owner's pickup instructions */\n        pickupInstructions?: string | null;\n    }\n    interface PickupAddress$2 {\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$3;\n    }\n    interface Discount$3 {\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$2 {\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$4;\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$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;\n        /**\n         * Whether the event was triggered as a result of a privacy regulation application\n         * (for example, GDPR).\n         */\n        triggeredByAnonymizeRequest?: boolean | null;\n        /** If present, indicates the action that triggered the event. */\n        originatedFrom?: string | null;\n        /**\n         * A sequence number defining the order of updates to the underlying entity.\n         * For example, given that some entity was updated at 16:00 and than again at 16:01,\n         * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n         * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n         * To do so, you will need to persist this number on your end, and compare the sequence number from the\n         * message against the one you have 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        /** 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;\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    interface EntityDeletedEvent$a {\n        /** Entity that was deleted */\n        deletedEntityAsJson?: string | null;\n    }\n    interface ActionEvent$a {\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 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.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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - Admin Permissions\n     * @permissionScopeId SCOPE.ECOM.MANAGE-ADMIN\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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$5[];\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         * **Required**\n         *  Sales channel type.\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         * `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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Read eCommerce - all read permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-STORES.READ-ORDERS\n     * @permissionScope Read Stores - all read permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @returns Fulfilled - the requested checkout.\n     */\n    function getCheckout(_id: string, options?: GetCheckoutOptions): Promise<Checkout$1>;\n    interface GetCheckoutOptions {\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Read eCommerce - all read permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-STORES.READ-ORDERS\n     * @permissionScope Read Stores - all read permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function getCheckoutByCartId(_id: string): Promise<GetCheckoutByCartIdResponse>;\n    interface GetWixCheckoutUrlOptions {\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Read eCommerce - all read permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-STORES.READ-ORDERS\n     * @permissionScope Read Stores - all read permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function getCheckoutUrl(_id: string, options?: GetCheckoutUrlOptions): Promise<GetCheckoutURLResponse>;\n    interface GetCheckoutUrlOptions {\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - Admin Permissions\n     * @permissionScopeId SCOPE.ECOM.MANAGE-ADMIN\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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$5[];\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$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$4[];\n        /** Custom fields. */\n        customFields?: CustomField$3[];\n        /**\n         * Weight measurement unit - defaults to site's weight unit.\n         * @readonly\n         */\n        weightUnit?: WeightUnit$4;\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         * + `\"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         * @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$2;\n        /**\n         * Date and time the checkout was created.\n         * @readonly\n         */\n        _createdDate?: Date;\n        /**\n         * Date and time the checkout was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\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$2;\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         * 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         * 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$4;\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    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         * `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$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$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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function removeCoupon(_id: string): Promise<RemoveCouponResponse$1>;\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - Admin Permissions\n     * @permissionScopeId SCOPE.ECOM.MANAGE-ADMIN\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function addToCheckout(_id: string, options?: AddToCheckoutOptions): Promise<AddToCheckoutResponse>;\n    interface AddToCheckoutOptions {\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$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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function removeLineItems(_id: string, lineItemIds: string[]): Promise<RemoveLineItemsResponse$1>;\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function createOrder$1(_id: string, options?: CreateOrderOptions$1): Promise<CreateOrderResponse$1>;\n    interface CreateOrderOptions$1 {\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 CreateOrderAndChargeOptions {\n        /** Payment token. */\n        paymentToken?: string | null;\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function markCheckoutAsCompleted(_id: string): Promise<void>;\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function updateLineItemsQuantity(_id: string, lineItems: LineItemQuantityUpdate$1[]): Promise<UpdateLineItemsQuantityResponse$1>;\n    /** @param _id - Checkout ID.\n     * @public\n     * @documentationMaturity preview\n     * @requiredField _id\n     * @permissionId ECOM.READ_PAYMENT_SETTINGS\n     * @adminMethod\n     */\n    function getCheckoutPaymentSettings(_id: string): Promise<GetCheckoutPaymentSettingsResponse>;\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_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_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_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_GetCheckoutPaymentSettingsRequest = GetCheckoutPaymentSettingsRequest;\n    type ecomV1CheckoutCheckout_universal_d_GetCheckoutPaymentSettingsResponse = GetCheckoutPaymentSettingsResponse;\n    type ecomV1CheckoutCheckout_universal_d_PaymentOption = PaymentOption;\n    const ecomV1CheckoutCheckout_universal_d_PaymentOption: typeof PaymentOption;\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_V1PickupDetails = V1PickupDetails;\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    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    type ecomV1CheckoutCheckout_universal_d_CreateOrderAndChargeOptions = CreateOrderAndChargeOptions;\n    const ecomV1CheckoutCheckout_universal_d_markCheckoutAsCompleted: typeof markCheckoutAsCompleted;\n    const ecomV1CheckoutCheckout_universal_d_updateLineItemsQuantity: typeof updateLineItemsQuantity;\n    const ecomV1CheckoutCheckout_universal_d_getCheckoutPaymentSettings: typeof getCheckoutPaymentSettings;\n    namespace ecomV1CheckoutCheckout_universal_d {\n        export { Checkout$1 as Checkout, LineItem$5 as LineItem, CatalogReference$6 as CatalogReference, ProductName$3 as ProductName, MultiCurrencyPrice$3 as MultiCurrencyPrice, ItemTaxFullDetails$3 as ItemTaxFullDetails, TaxRateBreakdown$2 as TaxRateBreakdown, TaxBreakdown$2 as TaxBreakdown, JurisdictionType$3 as JurisdictionType, DescriptionLine$3 as DescriptionLine, DescriptionLineValueOneOf$3 as DescriptionLineValueOneOf, DescriptionLineDescriptionLineValueOneOf$3 as DescriptionLineDescriptionLineValueOneOf, DescriptionLineName$3 as DescriptionLineName, PlainTextValue$3 as PlainTextValue, Color$3 as Color, DescriptionLineType$3 as DescriptionLineType, ItemAvailabilityInfo$2 as ItemAvailabilityInfo, ItemAvailabilityStatus$2 as ItemAvailabilityStatus, PhysicalProperties$3 as PhysicalProperties, Scope$3 as Scope, Group$2 as Group, ItemType$3 as ItemType, ItemTypeItemTypeDataOneOf$3 as ItemTypeItemTypeDataOneOf, ItemTypeItemType$3 as ItemTypeItemType, SubscriptionOptionInfo$3 as SubscriptionOptionInfo, SubscriptionSettings$4 as SubscriptionSettings, SubscriptionFrequency$4 as SubscriptionFrequency, Title$2 as Title, Description$2 as Description, SecuredMedia$2 as SecuredMedia, FileType$2 as FileType, PaymentOptionType$3 as PaymentOptionType, ServiceProperties$3 as ServiceProperties, PriceDescription$3 as PriceDescription, CatalogOverrideFields$2 as CatalogOverrideFields, TaxableAddress$1 as TaxableAddress, TaxableAddressTaxableAddressDataOneOf$1 as TaxableAddressTaxableAddressDataOneOf, TaxableAddressType$1 as TaxableAddressType, AddressWithContact$3 as AddressWithContact, ecomV1CheckoutCheckout_universal_d_ApiAddress as ApiAddress, StreetAddress$3 as StreetAddress, AddressLocation$3 as AddressLocation, FullAddressContactDetails$3 as FullAddressContactDetails, ecomV1CheckoutCheckout_universal_d_CommonVatId as CommonVatId, ecomV1CheckoutCheckout_universal_d_CommonVatType as CommonVatType, ShippingInfo$2 as ShippingInfo, SelectedCarrierServiceOption$2 as SelectedCarrierServiceOption, DeliveryLogistics$3 as DeliveryLogistics, PickupDetails$4 as PickupDetails, PickupMethod$3 as PickupMethod, DeliveryTimeSlot$3 as DeliveryTimeSlot, SelectedCarrierServiceOptionPrices$2 as SelectedCarrierServiceOptionPrices, SelectedCarrierServiceOptionOtherCharge$2 as SelectedCarrierServiceOptionOtherCharge, ChargeType$2 as ChargeType, ShippingRegion$3 as ShippingRegion, CarrierServiceOption$2 as CarrierServiceOption, ShippingOption$2 as ShippingOption, ShippingPrice$3 as ShippingPrice, OtherCharge$2 as OtherCharge, BuyerInfo$5 as BuyerInfo, BuyerInfoIdOneOf$3 as BuyerInfoIdOneOf, PriceSummary$3 as PriceSummary, CalculationErrors$2 as CalculationErrors, CalculationErrorsShippingCalculationErrorOneOf$2 as CalculationErrorsShippingCalculationErrorOneOf, Details$2 as Details, DetailsKindOneOf$2 as DetailsKindOneOf, ApplicationError$6 as ApplicationError, ValidationError$2 as ValidationError, RuleType$2 as RuleType, FieldViolation$2 as FieldViolation, SystemError$2 as SystemError, CarrierErrors$2 as CarrierErrors, CarrierError$2 as CarrierError, GiftCard$3 as GiftCard, AppliedDiscount$4 as AppliedDiscount, AppliedDiscountDiscountSourceOneOf$3 as AppliedDiscountDiscountSourceOneOf, DiscountType$4 as DiscountType, Coupon$3 as Coupon, MerchantDiscount$3 as MerchantDiscount, DiscountRule$4 as DiscountRule, DiscountRuleName$4 as DiscountRuleName, LineItemDiscount$3 as LineItemDiscount, CustomField$3 as CustomField, WeightUnit$4 as WeightUnit, TaxSummary$3 as TaxSummary, TaxCalculationDetails$2 as TaxCalculationDetails, TaxCalculationDetailsCalculationDetailsOneOf$2 as TaxCalculationDetailsCalculationDetailsOneOf, RateType$2 as RateType, ManualCalculationReason$2 as ManualCalculationReason, AutoTaxFallbackCalculationDetails$2 as AutoTaxFallbackCalculationDetails, FallbackReason$2 as FallbackReason, AggregatedTaxBreakdown$2 as AggregatedTaxBreakdown, ChannelType$4 as ChannelType, CreatedBy$2 as CreatedBy, CreatedByIdOneOf$1 as CreatedByIdOneOf, MembershipOptions$2 as MembershipOptions, Membership$2 as Membership, MembershipName$4 as MembershipName, MembershipPaymentCredits$2 as MembershipPaymentCredits, InvalidMembership$2 as InvalidMembership, SelectedMemberships$2 as SelectedMemberships, SelectedMembership$2 as SelectedMembership, AdditionalFee$3 as AdditionalFee, ConversionInfo$1 as ConversionInfo, Violation$2 as Violation, Severity$2 as Severity, Target$2 as Target, TargetTargetTypeOneOf$2 as TargetTargetTypeOneOf, NameInOther$2 as NameInOther, NameInLineItem$2 as NameInLineItem, Other$2 as Other, TargetLineItem$2 as TargetLineItem, ExtendedFields$4 as ExtendedFields, CustomSettings$1 as CustomSettings, CustomContentReference$1 as CustomContentReference, ExternalReference$1 as ExternalReference, ecomV1CheckoutCheckout_universal_d_UpdatedCheckoutMessage as UpdatedCheckoutMessage, CreateCheckoutRequest$1 as CreateCheckoutRequest, CustomLineItem$2 as CustomLineItem, MerchantDiscountInput$1 as MerchantDiscountInput, CreateCheckoutResponse$1 as CreateCheckoutResponse, ecomV1CheckoutCheckout_universal_d_ShippingCalculationErrorData as ShippingCalculationErrorData, ecomV1CheckoutCheckout_universal_d_ShippingCalculationErrorDataShippingCalculationErrorOneOf as ShippingCalculationErrorDataShippingCalculationErrorOneOf, ecomV1CheckoutCheckout_universal_d_GetCheckoutRequest as GetCheckoutRequest, ecomV1CheckoutCheckout_universal_d_GetCheckoutResponse as GetCheckoutResponse, ecomV1CheckoutCheckout_universal_d_GetCheckoutWithAllExtendedFieldsRequest as GetCheckoutWithAllExtendedFieldsRequest, ecomV1CheckoutCheckout_universal_d_GetCheckoutWithAllExtendedFieldsResponse as GetCheckoutWithAllExtendedFieldsResponse, ecomV1CheckoutCheckout_universal_d_GetCheckoutByCartIdRequest as GetCheckoutByCartIdRequest, ecomV1CheckoutCheckout_universal_d_GetCheckoutByCartIdResponse as GetCheckoutByCartIdResponse, ecomV1CheckoutCheckout_universal_d_GetWixCheckoutURLRequest as GetWixCheckoutURLRequest, ecomV1CheckoutCheckout_universal_d_GetWixCheckoutURLResponse as GetWixCheckoutURLResponse, ecomV1CheckoutCheckout_universal_d_GetCheckoutURLRequest as GetCheckoutURLRequest, ecomV1CheckoutCheckout_universal_d_GetCheckoutURLResponse as GetCheckoutURLResponse, ecomV1CheckoutCheckout_universal_d_UpdateCheckoutRequest as UpdateCheckoutRequest, ecomV1CheckoutCheckout_universal_d_UpdateCheckoutResponse as UpdateCheckoutResponse, RemoveCouponRequest$1 as RemoveCouponRequest, RemoveCouponResponse$1 as RemoveCouponResponse, ecomV1CheckoutCheckout_universal_d_RemoveGiftCardRequest as RemoveGiftCardRequest, ecomV1CheckoutCheckout_universal_d_RemoveGiftCardResponse as RemoveGiftCardResponse, ecomV1CheckoutCheckout_universal_d_RemoveOverrideCheckoutUrlRequest as RemoveOverrideCheckoutUrlRequest, ecomV1CheckoutCheckout_universal_d_RemoveOverrideCheckoutUrlResponse as RemoveOverrideCheckoutUrlResponse, ecomV1CheckoutCheckout_universal_d_AddToCheckoutRequest as AddToCheckoutRequest, ecomV1CheckoutCheckout_universal_d_AddToCheckoutResponse as AddToCheckoutResponse, RemoveLineItemsRequest$1 as RemoveLineItemsRequest, RemoveLineItemsResponse$1 as RemoveLineItemsResponse, CreateOrderRequest$1 as CreateOrderRequest, CreateOrderResponse$1 as CreateOrderResponse, ecomV1CheckoutCheckout_universal_d_CreateOrderResponseIdOneOf as CreateOrderResponseIdOneOf, ecomV1CheckoutCheckout_universal_d_PaymentErrorResponseData as PaymentErrorResponseData, ecomV1CheckoutCheckout_universal_d_DoublePaymentErrorData as DoublePaymentErrorData, ecomV1CheckoutCheckout_universal_d_DoublePaymentErrorDataIdOneOf as DoublePaymentErrorDataIdOneOf, ecomV1CheckoutCheckout_universal_d_RedeemErrorData as RedeemErrorData, ecomV1CheckoutCheckout_universal_d_ViolationsList as ViolationsList, ecomV1CheckoutCheckout_universal_d_CreateOrderAndChargeRequest as CreateOrderAndChargeRequest, ecomV1CheckoutCheckout_universal_d_CreateOrderAndChargeResponse as CreateOrderAndChargeResponse, ecomV1CheckoutCheckout_universal_d_CreateOrderAndChargeResponseIdOneOf as CreateOrderAndChargeResponseIdOneOf, ecomV1CheckoutCheckout_universal_d_MarkCheckoutAsCompletedRequest as MarkCheckoutAsCompletedRequest, ecomV1CheckoutCheckout_universal_d_MarkCheckoutAsCompletedResponse as MarkCheckoutAsCompletedResponse, ecomV1CheckoutCheckout_universal_d_CheckoutMarkedAsCompleted as CheckoutMarkedAsCompleted, UpdateLineItemsQuantityRequest$1 as UpdateLineItemsQuantityRequest, LineItemQuantityUpdate$1 as LineItemQuantityUpdate, UpdateLineItemsQuantityResponse$1 as UpdateLineItemsQuantityResponse, ecomV1CheckoutCheckout_universal_d_GetCheckoutPaymentSettingsRequest as GetCheckoutPaymentSettingsRequest, ecomV1CheckoutCheckout_universal_d_GetCheckoutPaymentSettingsResponse as GetCheckoutPaymentSettingsResponse, ecomV1CheckoutCheckout_universal_d_PaymentOption as PaymentOption, ecomV1CheckoutCheckout_universal_d_SubscriptionCreated as SubscriptionCreated, ecomV1CheckoutCheckout_universal_d_Subscription as Subscription, ecomV1CheckoutCheckout_universal_d_V1BuyerInfo as V1BuyerInfo, IdentityType$2 as IdentityType, V1LineItem$1 as V1LineItem, OptionSelection$1 as OptionSelection, CustomTextFieldSelection$1 as CustomTextFieldSelection, ecomV1CheckoutCheckout_universal_d_ChargeDetails as ChargeDetails, ecomV1CheckoutCheckout_universal_d_ProductDetails as ProductDetails, LineItemType$1 as LineItemType, MediaItem$1 as MediaItem, MediaItemType$1 as MediaItemType, Totals$1 as Totals, ecomV1CheckoutCheckout_universal_d_StoreSettings as StoreSettings, Address$4 as Address, AddressAddressLine1OptionsOneOf$1 as AddressAddressLine1OptionsOneOf, FullName$1 as FullName, Street$1 as Street, VatId$4 as VatId, VatType$4 as VatType, ecomV1CheckoutCheckout_universal_d_V1ShippingInfo as V1ShippingInfo, ecomV1CheckoutCheckout_universal_d_V1ShippingInfoDetailsOneOf as V1ShippingInfoDetailsOneOf, ShipmentDetails$1 as ShipmentDetails, ecomV1CheckoutCheckout_universal_d_V1PickupDetails as V1PickupDetails, PickupAddress$2 as PickupAddress, AppliedCoupon$1 as AppliedCoupon, ecomV1CheckoutCheckout_universal_d_V1CustomField as V1CustomField, ecomV1CheckoutCheckout_universal_d_V1SubscriptionOptionInfo as V1SubscriptionOptionInfo, Discount$3 as Discount, ecomV1CheckoutCheckout_universal_d_DiscountDiscountType as DiscountDiscountType, ChannelInfo$2 as ChannelInfo, ecomV1CheckoutCheckout_universal_d_ChannelInfoChannelType as ChannelInfoChannelType, ecomV1CheckoutCheckout_universal_d_V1SubscriptionSettings as V1SubscriptionSettings, BillingInfo$1 as BillingInfo, Empty$6 as Empty, DomainEvent$a as DomainEvent, DomainEventBodyOneOf$a as DomainEventBodyOneOf, EntityCreatedEvent$a as EntityCreatedEvent, RestoreInfo$6 as RestoreInfo, EntityUpdatedEvent$a as EntityUpdatedEvent, EntityDeletedEvent$a as EntityDeletedEvent, ActionEvent$a as ActionEvent, MessageEnvelope$a as MessageEnvelope, IdentificationData$a as IdentificationData, IdentificationDataIdOneOf$a as IdentificationDataIdOneOf, WebhookIdentityType$a as WebhookIdentityType, ecomV1CheckoutCheckout_universal_d_createCheckout as createCheckout, ecomV1CheckoutCheckout_universal_d_CreateCheckoutOptions as CreateCheckoutOptions, ecomV1CheckoutCheckout_universal_d_getCheckout as getCheckout, ecomV1CheckoutCheckout_universal_d_GetCheckoutOptions as GetCheckoutOptions, ecomV1CheckoutCheckout_universal_d_getCheckoutByCartId as getCheckoutByCartId, ecomV1CheckoutCheckout_universal_d_GetWixCheckoutUrlOptions as GetWixCheckoutUrlOptions, ecomV1CheckoutCheckout_universal_d_getCheckoutUrl as getCheckoutUrl, ecomV1CheckoutCheckout_universal_d_GetCheckoutUrlOptions as GetCheckoutUrlOptions, ecomV1CheckoutCheckout_universal_d_updateCheckout as updateCheckout, ecomV1CheckoutCheckout_universal_d_UpdateCheckout as UpdateCheckout, ecomV1CheckoutCheckout_universal_d_UpdateCheckoutOptions as UpdateCheckoutOptions, ecomV1CheckoutCheckout_universal_d_removeCoupon as removeCoupon, ecomV1CheckoutCheckout_universal_d_removeGiftCard as removeGiftCard, ecomV1CheckoutCheckout_universal_d_removeOverrideCheckoutUrl as removeOverrideCheckoutUrl, ecomV1CheckoutCheckout_universal_d_addToCheckout as addToCheckout, ecomV1CheckoutCheckout_universal_d_AddToCheckoutOptions as AddToCheckoutOptions, ecomV1CheckoutCheckout_universal_d_removeLineItems as removeLineItems, createOrder$1 as createOrder, CreateOrderOptions$1 as CreateOrderOptions, ecomV1CheckoutCheckout_universal_d_CreateOrderAndChargeOptions as CreateOrderAndChargeOptions, ecomV1CheckoutCheckout_universal_d_markCheckoutAsCompleted as markCheckoutAsCompleted, ecomV1CheckoutCheckout_universal_d_updateLineItemsQuantity as updateLineItemsQuantity, ecomV1CheckoutCheckout_universal_d_getCheckoutPaymentSettings as getCheckoutPaymentSettings, };\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$5;\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$2;\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;\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$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 [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    enum Status$2 {\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    }\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$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$3;\n        /** Filter object. */\n        filter?: Record<string, any> | null;\n        /** Sorting options. For example, `[{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]`. */\n        sort?: Sorting$3[];\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$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 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$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 QueryBackInStockNotificationRequestsResponse {\n        /** Retrieved back in stock requests. */\n        requests?: BackInStockNotificationRequest[];\n        /** Details on the paged set of results returned. */\n        metadata?: 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$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 GetBackInStockNotificationRequestsCountByCatalogReferencesRequest {\n        /** `catalogReference` items to retrieve the notification request for. */\n        catalogReferences: CatalogReference$5[];\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$5;\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$5;\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$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. */\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$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    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    interface EntityDeletedEvent$9 {\n        /** Entity that was deleted */\n        deletedEntityAsJson?: string | null;\n    }\n    interface ActionEvent$9 {\n        bodyAsJson?: string;\n    }\n    interface Empty$5 {\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     * 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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @applicableIdentity APP\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @applicableIdentity APP\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @applicableIdentity APP\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function queryBackInStockNotificationRequests(): RequestsQueryBuilder;\n    interface QueryCursorResult$3 {\n        cursors: Cursors$3;\n        hasNext: () => boolean;\n        hasPrev: () => boolean;\n        length: number;\n        pageSize: number;\n    }\n    interface RequestsQueryResult extends QueryCursorResult$3 {\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function getBackInStockNotificationRequestsCountByCatalogReferences(catalogReferences: CatalogReference$5[]): 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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @applicableIdentity APP\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$5;\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    type ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_BackInStockNotificationRequest = BackInStockNotificationRequest;\n    type ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_InvalidateCache = InvalidateCache;\n    type ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_InvalidateCacheGetByOneOf = InvalidateCacheGetByOneOf;\n    type ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_Page = Page;\n    type ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_URI = URI;\n    type ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_File = File;\n    type ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_CreateBackInStockNotificationRequestRequest = CreateBackInStockNotificationRequestRequest;\n    type ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_BackInStockItemDetails = BackInStockItemDetails;\n    type ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_CreateBackInStockNotificationRequestResponse = CreateBackInStockNotificationRequestResponse;\n    type ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_GetBackInStockNotificationRequestRequest = GetBackInStockNotificationRequestRequest;\n    type ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_GetBackInStockNotificationRequestResponse = GetBackInStockNotificationRequestResponse;\n    type ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_DeleteBackInStockNotificationRequestRequest = DeleteBackInStockNotificationRequestRequest;\n    type ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_DeleteBackInStockNotificationRequestResponse = DeleteBackInStockNotificationRequestResponse;\n    type ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_MarkAsNotificationSentRequest = MarkAsNotificationSentRequest;\n    type ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_MarkAsNotificationSentResponse = MarkAsNotificationSentResponse;\n    type ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_QueryBackInStockNotificationRequestsRequest = QueryBackInStockNotificationRequestsRequest;\n    type ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_QueryBackInStockNotificationRequestsResponse = QueryBackInStockNotificationRequestsResponse;\n    type ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_GetBackInStockNotificationRequestsCountByCatalogReferencesRequest = GetBackInStockNotificationRequestsCountByCatalogReferencesRequest;\n    type ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_GetBackInStockNotificationRequestsCountByCatalogReferencesResponse = GetBackInStockNotificationRequestsCountByCatalogReferencesResponse;\n    type ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_BackInStockNotificationRequestsCount = BackInStockNotificationRequestsCount;\n    type ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_ReportItemsBackInStockRequest = ReportItemsBackInStockRequest;\n    type ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_ReportItemsBackInStockResponse = ReportItemsBackInStockResponse;\n    const ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_createBackInStockNotificationRequest: typeof createBackInStockNotificationRequest;\n    const ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_getBackInStockNotificationRequest: typeof getBackInStockNotificationRequest;\n    const ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_deleteBackInStockNotificationRequest: typeof deleteBackInStockNotificationRequest;\n    const ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_markAsNotificationSent: typeof markAsNotificationSent;\n    const ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_queryBackInStockNotificationRequests: typeof queryBackInStockNotificationRequests;\n    type ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_RequestsQueryResult = RequestsQueryResult;\n    type ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_RequestsQueryBuilder = RequestsQueryBuilder;\n    const ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_getBackInStockNotificationRequestsCountByCatalogReferences: typeof getBackInStockNotificationRequestsCountByCatalogReferences;\n    const ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_reportItemsBackInStock: typeof reportItemsBackInStock;\n    type ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_ReportItemsBackInStockOptions = ReportItemsBackInStockOptions;\n    namespace ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d {\n        export { ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_BackInStockNotificationRequest as BackInStockNotificationRequest, CatalogReference$5 as CatalogReference, Status$2 as Status, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_InvalidateCache as InvalidateCache, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_InvalidateCacheGetByOneOf as InvalidateCacheGetByOneOf, App$1 as App, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_Page as Page, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_URI as URI, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_File as File, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_CreateBackInStockNotificationRequestRequest as CreateBackInStockNotificationRequestRequest, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_BackInStockItemDetails as BackInStockItemDetails, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_CreateBackInStockNotificationRequestResponse as CreateBackInStockNotificationRequestResponse, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_GetBackInStockNotificationRequestRequest as GetBackInStockNotificationRequestRequest, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_GetBackInStockNotificationRequestResponse as GetBackInStockNotificationRequestResponse, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_DeleteBackInStockNotificationRequestRequest as DeleteBackInStockNotificationRequestRequest, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_DeleteBackInStockNotificationRequestResponse as DeleteBackInStockNotificationRequestResponse, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_MarkAsNotificationSentRequest as MarkAsNotificationSentRequest, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_MarkAsNotificationSentResponse as MarkAsNotificationSentResponse, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_QueryBackInStockNotificationRequestsRequest as QueryBackInStockNotificationRequestsRequest, PlatformQuery$2 as PlatformQuery, PlatformQueryPagingMethodOneOf$2 as PlatformQueryPagingMethodOneOf, Sorting$3 as Sorting, SortOrder$3 as SortOrder, PlatformPaging$2 as PlatformPaging, CursorPaging$3 as CursorPaging, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_QueryBackInStockNotificationRequestsResponse as QueryBackInStockNotificationRequestsResponse, PlatformPagingMetadata$2 as PlatformPagingMetadata, Cursors$3 as Cursors, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_GetBackInStockNotificationRequestsCountByCatalogReferencesRequest as GetBackInStockNotificationRequestsCountByCatalogReferencesRequest, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_GetBackInStockNotificationRequestsCountByCatalogReferencesResponse as GetBackInStockNotificationRequestsCountByCatalogReferencesResponse, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_BackInStockNotificationRequestsCount as BackInStockNotificationRequestsCount, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_ReportItemsBackInStockRequest as ReportItemsBackInStockRequest, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_ReportItemsBackInStockResponse as ReportItemsBackInStockResponse, DomainEvent$9 as DomainEvent, DomainEventBodyOneOf$9 as DomainEventBodyOneOf, EntityCreatedEvent$9 as EntityCreatedEvent, EntityUpdatedEvent$9 as EntityUpdatedEvent, EntityDeletedEvent$9 as EntityDeletedEvent, ActionEvent$9 as ActionEvent, Empty$5 as Empty, MessageEnvelope$9 as MessageEnvelope, IdentificationData$9 as IdentificationData, IdentificationDataIdOneOf$9 as IdentificationDataIdOneOf, WebhookIdentityType$9 as WebhookIdentityType, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_createBackInStockNotificationRequest as createBackInStockNotificationRequest, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_getBackInStockNotificationRequest as getBackInStockNotificationRequest, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_deleteBackInStockNotificationRequest as deleteBackInStockNotificationRequest, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_markAsNotificationSent as markAsNotificationSent, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_queryBackInStockNotificationRequests as queryBackInStockNotificationRequests, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_RequestsQueryResult as RequestsQueryResult, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_RequestsQueryBuilder as RequestsQueryBuilder, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_getBackInStockNotificationRequestsCountByCatalogReferences as getBackInStockNotificationRequestsCountByCatalogReferences, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_reportItemsBackInStock as reportItemsBackInStock, ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d_ReportItemsBackInStockOptions as ReportItemsBackInStockOptions, };\n    }\n    interface Cart {\n        /** Cart ID. */\n        _id?: string | null;\n        /**\n         * Line items.\n         * @readonly\n         */\n        lineItems?: LineItem$4[];\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         * 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$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$2;\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;\n    }\n    interface LineItem$4 {\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$4;\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$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         * Line item description lines. Used for displaying the cart, checkout and order.\n         * @readonly\n         */\n        descriptionLines?: DescriptionLine$2[];\n        /**\n         * Line item image details.\n         * @readonly\n         */\n        image?: 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$2;\n        /**\n         * Item type. Either a preset type or custom.\n         * @readonly\n         */\n        itemType?: ItemType$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         * @readonly\n         */\n        paymentOption?: PaymentOptionType$2;\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 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$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$2;\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$1;\n        /**\n         * Tax group ID for this line item.\n         * @readonly\n         */\n        taxGroupId?: string | null;\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 to save the payment method on the order.\n         *\n         * Default: `false`\n         * @readonly\n         */\n        savePaymentMethod?: boolean;\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 [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.\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$2 {\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$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 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        /** Description line name. */\n        name?: DescriptionLineName$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    interface DescriptionLineName$2 {\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$2 {\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$2 {\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$2 {\n        UNRECOGNISED = \"UNRECOGNISED\",\n        PLAIN_TEXT = \"PLAIN_TEXT\",\n        COLOR = \"COLOR\"\n    }\n    interface ItemAvailabilityInfo$1 {\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$1;\n        /** Quantity available. */\n        quantityAvailable?: number | null;\n    }\n    enum ItemAvailabilityStatus$1 {\n        AVAILABLE = \"AVAILABLE\",\n        NOT_FOUND = \"NOT_FOUND\",\n        /** Not in stock */\n        NOT_AVAILABLE = \"NOT_AVAILABLE\",\n        /** Available quantity is less than requested */\n        PARTIALLY_AVAILABLE = \"PARTIALLY_AVAILABLE\"\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 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$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 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    interface SubscriptionOptionInfo$2 {\n        /** Subscription option settings. */\n        subscriptionSettings?: SubscriptionSettings$3;\n        /** Subscription option title. */\n        title?: Title$1;\n        /** Subscription option description. */\n        description?: Description$1;\n    }\n    interface SubscriptionSettings$3 {\n        /** Frequency of recurring payment. */\n        frequency?: SubscriptionFrequency$3;\n        /**\n         * Interval of recurring payment.\n         *\n         * Default: `1`.\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    /** 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 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$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    /** 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 the 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 the checkout. 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$2 {\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$2 {\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$1 {\n        /** Membership ID. */\n        _id?: string;\n        /** ID of the app providing this payment option. */\n        appId?: string;\n    }\n    interface CatalogOverrideFields$1 {\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$2;\n        /** Item image. */\n        image?: string;\n        /**\n         * Whether to save the payment method on the order.\n         *\n         * Default: `false`\n         */\n        savePaymentMethod?: boolean | 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    /** Buyer Info */\n    interface BuyerInfo$4 extends BuyerInfoIdOneOf$2 {\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$2 {\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$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 CartDiscount extends CartDiscountDiscountSourceOneOf {\n        /** Coupon details. */\n        coupon?: Coupon$2;\n        /** Merchant discount. */\n        merchantDiscount?: MerchantDiscount$2;\n    }\n    /** @oneof */\n    interface CartDiscountDiscountSourceOneOf {\n        /** Coupon details. */\n        coupon?: Coupon$2;\n        /** Merchant discount. */\n        merchantDiscount?: MerchantDiscount$2;\n    }\n    interface Coupon$2 {\n        /** Coupon ID. */\n        _id?: string;\n        /** Coupon code. */\n        code?: string;\n    }\n    interface MerchantDiscount$2 {\n        /** Discount value. */\n        amount?: MultiCurrencyPrice$2;\n    }\n    /** Billing Info and shipping details */\n    interface AddressWithContact$2 {\n        /** Address. */\n        address?: Address$3;\n        /** Contact details. */\n        contactDetails?: FullAddressContactDetails$2;\n    }\n    /** Physical address */\n    interface Address$3 {\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    }\n    interface StreetAddress$2 {\n        /** Street number. */\n        number?: string;\n        /** Street name. */\n        name?: string;\n    }\n    interface AddressLocation$2 {\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 SelectedShippingOption {\n        /** Carrier ID. */\n        carrierId?: string | null;\n        /** Selected shipping option code. For example, \"usps_std_overnight\". */\n        code?: 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    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[];\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$1[];\n    }\n    interface MerchantDiscountInput {\n        /** Discount amount. */\n        amount?: string;\n        /** IDs of the line items the discount applies to. */\n        lineItemIds?: string[];\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 displaying the cart, checkout and order. */\n        descriptionLines?: DescriptionLine$2[];\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$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$2;\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$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?: PaymentOptionType$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$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        /** 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 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    interface UpdateCartResponse {\n        /** Updated Cart. */\n        cart?: Cart;\n    }\n    interface AddToCurrentCartRequest {\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$1[];\n    }\n    interface AddToCartResponse {\n        /** Updated cart. */\n        cart?: Cart;\n    }\n    interface AddToCurrentCartAndEstimateTotalsRequest {\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$1[];\n        /** Selected shipping option. */\n        selectedShippingOption?: SelectedShippingOption;\n        /** Shipping address. Used for calculating tax and shipping (when applicable). */\n        shippingAddress?: Address$3;\n        /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n        billingAddress?: Address$3;\n        /** The selected membership payment options and which line items they apply to. */\n        selectedMemberships?: SelectedMemberships$1;\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$1 {\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[];\n        /** Price summary. */\n        priceSummary?: PriceSummary$2;\n        /** Applied gift card. */\n        giftCard?: GiftCard$2;\n        /** Tax summary. */\n        taxSummary?: TaxSummary$2;\n        /** Shipping information. */\n        shippingInfo?: ShippingInformation$1;\n        /** Applied discounts. */\n        appliedDiscounts?: AppliedDiscount$3[];\n        /** Calculation errors. */\n        calculationErrors?: CalculationErrors$1;\n        /** Weight measurement unit - defaults to site's weight unit. */\n        weightUnit?: WeightUnit$3;\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$2;\n        /**\n         * Remaining amount for the order to be fully paid.\n         * @readonly\n         */\n        payLater?: PriceSummary$2;\n        /** Information about valid and invalid memberships, and which ones are selected for usage. */\n        membershipOptions?: MembershipOptions$1;\n        /** Additional fees */\n        additionalFees?: AdditionalFee$2[];\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    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. 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?: PaymentOptionType$2;\n    }\n    interface LineItemPricesData {\n        /** Total price after discounts and after tax. */\n        totalPriceAfterTax?: MultiCurrencyPrice$2;\n        /** Total price after discounts, and before tax. */\n        totalPriceBeforeTax?: MultiCurrencyPrice$2;\n        /** Tax details. */\n        taxDetails?: ItemTaxFullDetails$2;\n        /** Total discount for all line items. */\n        totalDiscount?: MultiCurrencyPrice$2;\n        /** Catalog price after catalog discount and automatic discounts. */\n        price?: MultiCurrencyPrice$2;\n        /** Item price **before** line item discounts and **after** catalog-defined discount. Defaults to `price` when not provided. */\n        priceBeforeDiscounts?: MultiCurrencyPrice$2;\n        /** Total price **after** catalog-defined discount and line item discounts. */\n        lineItemPrice?: MultiCurrencyPrice$2;\n        /** Item price **before** line item discounts and **before** catalog-defined discount. Defaults to `price` when not provided. */\n        fullPrice?: MultiCurrencyPrice$2;\n    }\n    interface ItemTaxFullDetails$2 {\n        /** Amount for which tax is calculated. */\n        taxableAmount?: MultiCurrencyPrice$2;\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$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$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 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$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$2;\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 PriceSummary$2 {\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 GiftCard$2 {\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 TaxSummary$2 {\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         * Tax calculator that was active when the order was created.\n         * @deprecated\n         */\n        calculationDetails?: TaxCalculationDetails$1;\n    }\n    interface TaxCalculationDetails$1 extends TaxCalculationDetailsCalculationDetailsOneOf$1 {\n        /** Reason the manual calculation was used. */\n        manualRateReason?: ManualCalculationReason$1;\n        /** Error details and reason for tax rate fallback. */\n        autoTaxFallbackDetails?: AutoTaxFallbackCalculationDetails$1;\n        /**\n         * Rate calculation type. Supported values:\n         * + `\"AUTO_RATE\"`\n         * + `\"FALLBACK_RATE\"`\n         * + `\"MANUAL_RATE\"`\n         * + `\"NO_TAX_COLLECTED\"`\n         */\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        /**\n         * Reason for fallback. Supported values:\n         * + `\"AUTO_TAX_FAILED\"`\n         * + `\"AUTO_TAX_DEACTIVATED\"`\n         */\n        fallbackReason?: FallbackReason$1;\n        /** invalid request (i.e. address), timeout, internal error, license error, and others will be encoded here */\n        error?: ApplicationError$5;\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    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    /**\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$2;\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    interface ShippingInformation$1 {\n        /** Shipping region. */\n        region?: ShippingRegion$2;\n        /** Selected shipping option. */\n        selectedCarrierServiceOption?: SelectedCarrierServiceOption$1;\n        /** All shipping options. */\n        carrierServiceOptions?: CarrierServiceOption$1[];\n    }\n    interface ShippingRegion$2 {\n        /**\n         * Shipping region ID.\n         * @readonly\n         */\n        _id?: string;\n        /** Shipping region name. */\n        name?: string;\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$2;\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    interface DeliveryLogistics$2 {\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$3;\n    }\n    interface PickupDetails$3 {\n        /** Pickup address. */\n        address?: Address$3;\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$2;\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        /** 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$2;\n        /** Total price of shipping after discounts (when relevant), and before tax. */\n        totalPriceBeforeTax?: MultiCurrencyPrice$2;\n        /** Tax details. */\n        taxDetails?: ItemTaxFullDetails$2;\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$1 {\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$1;\n    }\n    enum ChargeType$1 {\n        HANDLING_FEE = \"HANDLING_FEE\",\n        INSURANCE = \"INSURANCE\"\n    }\n    interface CarrierServiceOption$1 {\n        /** Carrier ID. */\n        carrierId?: string;\n        /** Shipping options offered by this carrier for this request. */\n        shippingOptions?: ShippingOption$1[];\n    }\n    interface ShippingOption$1 {\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$2;\n        /** Sipping price information. */\n        cost?: ShippingPrice$2;\n    }\n    interface ShippingPrice$2 {\n        /** Shipping price. */\n        price?: MultiCurrencyPrice$2;\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$1;\n        /** Price of added cost. */\n        price?: MultiCurrencyPrice$2;\n    }\n    interface AppliedDiscount$3 extends AppliedDiscountDiscountSourceOneOf$2 {\n        /** Coupon details. */\n        coupon?: V1Coupon;\n        /** Merchant discount. */\n        merchantDiscount?: V1MerchantDiscount;\n        /** Discount rule */\n        discountRule?: DiscountRule$3;\n        /** Discount type. */\n        discountType?: DiscountType$3;\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    /** @oneof */\n    interface AppliedDiscountDiscountSourceOneOf$2 {\n        /** Coupon details. */\n        coupon?: V1Coupon;\n        /** Merchant discount. */\n        merchantDiscount?: V1MerchantDiscount;\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 V1Coupon {\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    interface V1MerchantDiscount {\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$3 {\n        /** Discount rule ID */\n        _id?: string;\n        /** Discount rule name */\n        name?: DiscountRuleName$3;\n        /** Discount value. */\n        amount?: MultiCurrencyPrice$2;\n    }\n    interface DiscountRuleName$3 {\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$2 {\n        /** ID of line item the discount applies to. */\n        _id?: string;\n        /** Discount value. */\n        totalDiscountAmount?: MultiCurrencyPrice$2;\n    }\n    interface CalculationErrors$1 extends CalculationErrorsShippingCalculationErrorOneOf$1 {\n        /** General shipping calculation error. */\n        generalShippingCalculationError?: Details$1;\n        /** Carrier errors. */\n        carrierErrors?: CarrierErrors$1;\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$5[];\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$1 {\n        /** General shipping calculation error. */\n        generalShippingCalculationError?: Details$1;\n        /** Carrier errors. */\n        carrierErrors?: CarrierErrors$1;\n    }\n    interface Details$1 extends DetailsKindOneOf$1 {\n        applicationError?: ApplicationError$5;\n        validationError?: ValidationError$1;\n        systemError?: SystemError$1;\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$1 {\n        applicationError?: ApplicationError$5;\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    }\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$1 {\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    interface MembershipOptions$1 {\n        /** List of payment options that can be used. */\n        eligibleMemberships?: Membership$1[];\n        /** List of payment options that are owned by the member, but cannot be used due to reason provided. */\n        invalidMemberships?: InvalidMembership$1[];\n        /** The selected membership payment options and which line items they apply to. */\n        selectedMemberships?: HostSelectedMembership[];\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        /** Membership name translated into buyer's language. Defaults to `original` when not defined. */\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 AdditionalFee$2 {\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$2;\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    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    }\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    /** 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    interface RemoveLineItemsFromCurrentCartRequest {\n        /** IDs of the line items to remove from the cart. */\n        lineItemIds: string[];\n    }\n    interface RemoveLineItemsResponse {\n        /** Updated cart. */\n        cart?: Cart;\n    }\n    interface CreateCheckoutFromCurrentCartRequest {\n        /** **Required**. Sales channel type. */\n        channelType?: ChannelType$3;\n        /** Shipping address. Used for calculating tax and shipping (when applicable). */\n        shippingAddress?: Address$3;\n        /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n        billingAddress?: Address$3;\n        /** Selected shipping option. */\n        selectedShippingOption?: SelectedShippingOption;\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$3 {\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 CreateCheckoutResponse {\n        /** The newly created checkout's ID. */\n        checkoutId?: string;\n    }\n    interface RemoveCouponFromCurrentCartRequest {\n    }\n    interface RemoveCouponResponse {\n        /** Updated cart. */\n        cart?: Cart;\n    }\n    interface UpdateCurrentCartLineItemQuantityRequest {\n        /** Line item IDs and their new quantity. */\n        lineItems: LineItemQuantityUpdate[];\n    }\n    interface LineItemQuantityUpdate {\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 {\n        /** Updated cart. */\n        cart?: Cart;\n    }\n    interface EstimateCurrentCartTotalsRequest {\n        /** Selected shipping option. */\n        selectedShippingOption?: SelectedShippingOption;\n        /** Shipping address. Used for calculating tax and shipping (when applicable). */\n        shippingAddress?: Address$3;\n        /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n        billingAddress?: Address$3;\n        /** The selected membership payment options and which line items they apply to. */\n        selectedMemberships?: SelectedMemberships$1;\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$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        /** 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 | 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    interface EntityDeletedEvent$8 {\n        /** Entity that was deleted */\n        deletedEntityAsJson?: string | null;\n    }\n    interface ActionEvent$8 {\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$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 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[];\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$1[];\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$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$1[];\n    }\n    interface RemoveLineItemsRequest {\n        /** Cart ID. */\n        _id: string;\n        /** IDs of the line items to remove from the cart. */\n        lineItemIds: string[];\n    }\n    interface CreateCheckoutRequest {\n        /** Cart ID. */\n        _id: string;\n        /** **Required**. Sales channel type. */\n        channelType?: ChannelType$3;\n        /** Shipping address. Used for calculating tax and shipping (when applicable). */\n        shippingAddress?: Address$3;\n        /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n        billingAddress?: Address$3;\n        /** Selected shipping option. */\n        selectedShippingOption?: SelectedShippingOption;\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 {\n        /** Cart ID. */\n        _id: string;\n    }\n    interface UpdateLineItemsQuantityRequest {\n        /** Cart ID. */\n        _id: string;\n        /** Line item IDs and their new quantity. */\n        lineItems: LineItemQuantityUpdate[];\n    }\n    interface EstimateTotalsRequest {\n        /** Cart ID. */\n        _id: string;\n        /** Selected shipping option. */\n        selectedShippingOption?: SelectedShippingOption;\n        /** Shipping address. Used for calculating tax and shipping (when applicable). */\n        shippingAddress?: Address$3;\n        /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n        billingAddress?: Address$3;\n        /** The selected membership payment options and which line items they apply to. */\n        selectedMemberships?: SelectedMemberships$1;\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$4 {\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Read eCommerce - all read permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-STORES.READ-ORDERS\n     * @permissionScope Read Stores - all read permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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[];\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$1[];\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.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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function addToCurrentCart(options?: AddToCurrentCartOptions): Promise<AddToCartResponse>;\n    interface AddToCurrentCartOptions {\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$1[];\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function removeLineItemsFromCurrentCart(lineItemIds: string[]): Promise<RemoveLineItemsResponse>;\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function createCheckoutFromCurrentCart(options?: CreateCheckoutFromCurrentCartOptions): Promise<CreateCheckoutResponse>;\n    interface CreateCheckoutFromCurrentCartOptions {\n        /** **Required**. Sales channel type. */\n        channelType?: ChannelType$3;\n        /** Shipping address. Used for calculating tax and shipping (when applicable). */\n        shippingAddress?: Address$3;\n        /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n        billingAddress?: Address$3;\n        /** Selected shipping option. */\n        selectedShippingOption?: SelectedShippingOption;\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @returns Fulfilled - Updated current cart.\n     */\n    function removeCouponFromCurrentCart(): Promise<RemoveCouponResponse>;\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @returns Fulfilled - The updated current cart.\n     */\n    function updateCurrentCartLineItemQuantity(lineItems: LineItemQuantityUpdate[]): Promise<UpdateLineItemsQuantityResponse>;\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Read eCommerce - all read permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-STORES.READ-ORDERS\n     * @permissionScope Read Stores - all read permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function estimateCurrentCartTotals(options?: EstimateCurrentCartTotalsOptions): Promise<EstimateTotalsResponse>;\n    interface EstimateCurrentCartTotalsOptions {\n        /** Selected shipping option. */\n        selectedShippingOption?: SelectedShippingOption;\n        /** Shipping address. Used for calculating tax and shipping (when applicable). */\n        shippingAddress?: Address$3;\n        /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n        billingAddress?: Address$3;\n        /** The selected membership payment options and which line items they apply to. */\n        selectedMemberships?: SelectedMemberships$1;\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @returns Fulfilled - When the current cart is deleted. Rejected - Error message.\n     */\n    function deleteCurrentCart(): Promise<void>;\n    type ecomV1CartCurrentCart_universal_d_Cart = Cart;\n    type ecomV1CartCurrentCart_universal_d_TaxableAddress = TaxableAddress;\n    type ecomV1CartCurrentCart_universal_d_TaxableAddressTaxableAddressDataOneOf = TaxableAddressTaxableAddressDataOneOf;\n    type ecomV1CartCurrentCart_universal_d_TaxableAddressType = TaxableAddressType;\n    const ecomV1CartCurrentCart_universal_d_TaxableAddressType: typeof TaxableAddressType;\n    type ecomV1CartCurrentCart_universal_d_CartDiscount = CartDiscount;\n    type ecomV1CartCurrentCart_universal_d_CartDiscountDiscountSourceOneOf = CartDiscountDiscountSourceOneOf;\n    type ecomV1CartCurrentCart_universal_d_SelectedShippingOption = SelectedShippingOption;\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_MerchantDiscountInput = MerchantDiscountInput;\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_CalculatedLineItem = CalculatedLineItem;\n    type ecomV1CartCurrentCart_universal_d_LineItemPricesData = LineItemPricesData;\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_RemoveLineItemsResponse = RemoveLineItemsResponse;\n    type ecomV1CartCurrentCart_universal_d_CreateCheckoutFromCurrentCartRequest = CreateCheckoutFromCurrentCartRequest;\n    type ecomV1CartCurrentCart_universal_d_CreateCheckoutResponse = CreateCheckoutResponse;\n    type ecomV1CartCurrentCart_universal_d_RemoveCouponFromCurrentCartRequest = RemoveCouponFromCurrentCartRequest;\n    type ecomV1CartCurrentCart_universal_d_RemoveCouponResponse = RemoveCouponResponse;\n    type ecomV1CartCurrentCart_universal_d_UpdateCurrentCartLineItemQuantityRequest = UpdateCurrentCartLineItemQuantityRequest;\n    type ecomV1CartCurrentCart_universal_d_LineItemQuantityUpdate = LineItemQuantityUpdate;\n    type ecomV1CartCurrentCart_universal_d_UpdateLineItemsQuantityResponse = UpdateLineItemsQuantityResponse;\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_RemoveLineItemsRequest = RemoveLineItemsRequest;\n    type ecomV1CartCurrentCart_universal_d_CreateCheckoutRequest = CreateCheckoutRequest;\n    type ecomV1CartCurrentCart_universal_d_RemoveCouponRequest = RemoveCouponRequest;\n    type ecomV1CartCurrentCart_universal_d_UpdateLineItemsQuantityRequest = UpdateLineItemsQuantityRequest;\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 { ecomV1CartCurrentCart_universal_d_Cart as Cart, LineItem$4 as LineItem, CatalogReference$4 as CatalogReference, ProductName$2 as ProductName, MultiCurrencyPrice$2 as MultiCurrencyPrice, DescriptionLine$2 as DescriptionLine, DescriptionLineValueOneOf$2 as DescriptionLineValueOneOf, DescriptionLineDescriptionLineValueOneOf$2 as DescriptionLineDescriptionLineValueOneOf, DescriptionLineName$2 as DescriptionLineName, PlainTextValue$2 as PlainTextValue, Color$2 as Color, DescriptionLineType$2 as DescriptionLineType, ItemAvailabilityInfo$1 as ItemAvailabilityInfo, ItemAvailabilityStatus$1 as ItemAvailabilityStatus, PhysicalProperties$2 as PhysicalProperties, Scope$2 as Scope, Group$1 as Group, ItemType$2 as ItemType, ItemTypeItemTypeDataOneOf$2 as ItemTypeItemTypeDataOneOf, ItemTypeItemType$2 as ItemTypeItemType, SubscriptionOptionInfo$2 as SubscriptionOptionInfo, SubscriptionSettings$3 as SubscriptionSettings, SubscriptionFrequency$3 as SubscriptionFrequency, Title$1 as Title, Description$1 as Description, SecuredMedia$1 as SecuredMedia, FileType$1 as FileType, PaymentOptionType$2 as PaymentOptionType, ServiceProperties$2 as ServiceProperties, PriceDescription$2 as PriceDescription, SelectedMembership$1 as SelectedMembership, CatalogOverrideFields$1 as CatalogOverrideFields, ecomV1CartCurrentCart_universal_d_TaxableAddress as TaxableAddress, ecomV1CartCurrentCart_universal_d_TaxableAddressTaxableAddressDataOneOf as TaxableAddressTaxableAddressDataOneOf, ecomV1CartCurrentCart_universal_d_TaxableAddressType as TaxableAddressType, BuyerInfo$4 as BuyerInfo, BuyerInfoIdOneOf$2 as BuyerInfoIdOneOf, WeightUnit$3 as WeightUnit, ecomV1CartCurrentCart_universal_d_CartDiscount as CartDiscount, ecomV1CartCurrentCart_universal_d_CartDiscountDiscountSourceOneOf as CartDiscountDiscountSourceOneOf, Coupon$2 as Coupon, MerchantDiscount$2 as MerchantDiscount, AddressWithContact$2 as AddressWithContact, Address$3 as Address, StreetAddress$2 as StreetAddress, AddressLocation$2 as AddressLocation, FullAddressContactDetails$2 as FullAddressContactDetails, VatId$3 as VatId, VatType$3 as VatType, ecomV1CartCurrentCart_universal_d_SelectedShippingOption as SelectedShippingOption, ExtendedFields$3 as ExtendedFields, ecomV1CartCurrentCart_universal_d_GetCurrentCartRequest as GetCurrentCartRequest, ecomV1CartCurrentCart_universal_d_GetCurrentCartResponse as GetCurrentCartResponse, ecomV1CartCurrentCart_universal_d_UpdateCartRequest as UpdateCartRequest, ecomV1CartCurrentCart_universal_d_MerchantDiscountInput as MerchantDiscountInput, CustomLineItem$1 as CustomLineItem, ecomV1CartCurrentCart_universal_d_UpdateCartResponse as UpdateCartResponse, ecomV1CartCurrentCart_universal_d_AddToCurrentCartRequest as AddToCurrentCartRequest, ecomV1CartCurrentCart_universal_d_AddToCartResponse as AddToCartResponse, ecomV1CartCurrentCart_universal_d_AddToCurrentCartAndEstimateTotalsRequest as AddToCurrentCartAndEstimateTotalsRequest, SelectedMemberships$1 as SelectedMemberships, ecomV1CartCurrentCart_universal_d_HostSelectedMembership as HostSelectedMembership, ecomV1CartCurrentCart_universal_d_EstimateTotalsResponse as EstimateTotalsResponse, ecomV1CartCurrentCart_universal_d_CalculatedLineItem as CalculatedLineItem, ecomV1CartCurrentCart_universal_d_LineItemPricesData as LineItemPricesData, ItemTaxFullDetails$2 as ItemTaxFullDetails, TaxRateBreakdown$1 as TaxRateBreakdown, TaxBreakdown$1 as TaxBreakdown, JurisdictionType$2 as JurisdictionType, PriceSummary$2 as PriceSummary, GiftCard$2 as GiftCard, TaxSummary$2 as TaxSummary, TaxCalculationDetails$1 as TaxCalculationDetails, TaxCalculationDetailsCalculationDetailsOneOf$1 as TaxCalculationDetailsCalculationDetailsOneOf, RateType$1 as RateType, ManualCalculationReason$1 as ManualCalculationReason, AutoTaxFallbackCalculationDetails$1 as AutoTaxFallbackCalculationDetails, FallbackReason$1 as FallbackReason, ApplicationError$5 as ApplicationError, AggregatedTaxBreakdown$1 as AggregatedTaxBreakdown, ShippingInformation$1 as ShippingInformation, ShippingRegion$2 as ShippingRegion, SelectedCarrierServiceOption$1 as SelectedCarrierServiceOption, DeliveryLogistics$2 as DeliveryLogistics, PickupDetails$3 as PickupDetails, PickupMethod$2 as PickupMethod, DeliveryTimeSlot$2 as DeliveryTimeSlot, SelectedCarrierServiceOptionPrices$1 as SelectedCarrierServiceOptionPrices, SelectedCarrierServiceOptionOtherCharge$1 as SelectedCarrierServiceOptionOtherCharge, ChargeType$1 as ChargeType, CarrierServiceOption$1 as CarrierServiceOption, ShippingOption$1 as ShippingOption, ShippingPrice$2 as ShippingPrice, OtherCharge$1 as OtherCharge, AppliedDiscount$3 as AppliedDiscount, AppliedDiscountDiscountSourceOneOf$2 as AppliedDiscountDiscountSourceOneOf, DiscountType$3 as DiscountType, ecomV1CartCurrentCart_universal_d_V1Coupon as V1Coupon, ecomV1CartCurrentCart_universal_d_V1MerchantDiscount as V1MerchantDiscount, DiscountRule$3 as DiscountRule, DiscountRuleName$3 as DiscountRuleName, LineItemDiscount$2 as LineItemDiscount, CalculationErrors$1 as CalculationErrors, CalculationErrorsShippingCalculationErrorOneOf$1 as CalculationErrorsShippingCalculationErrorOneOf, Details$1 as Details, DetailsKindOneOf$1 as DetailsKindOneOf, ValidationError$1 as ValidationError, RuleType$1 as RuleType, FieldViolation$1 as FieldViolation, SystemError$1 as SystemError, CarrierErrors$1 as CarrierErrors, CarrierError$1 as CarrierError, MembershipOptions$1 as MembershipOptions, Membership$1 as Membership, MembershipName$3 as MembershipName, MembershipPaymentCredits$1 as MembershipPaymentCredits, InvalidMembership$1 as InvalidMembership, AdditionalFee$2 as AdditionalFee, Violation$1 as Violation, Severity$1 as Severity, Target$1 as Target, TargetTargetTypeOneOf$1 as TargetTargetTypeOneOf, NameInOther$1 as NameInOther, NameInLineItem$1 as NameInLineItem, Other$1 as Other, TargetLineItem$1 as TargetLineItem, ecomV1CartCurrentCart_universal_d_RemoveLineItemsFromCurrentCartRequest as RemoveLineItemsFromCurrentCartRequest, ecomV1CartCurrentCart_universal_d_RemoveLineItemsResponse as RemoveLineItemsResponse, ecomV1CartCurrentCart_universal_d_CreateCheckoutFromCurrentCartRequest as CreateCheckoutFromCurrentCartRequest, ChannelType$3 as ChannelType, ecomV1CartCurrentCart_universal_d_CreateCheckoutResponse as CreateCheckoutResponse, ecomV1CartCurrentCart_universal_d_RemoveCouponFromCurrentCartRequest as RemoveCouponFromCurrentCartRequest, ecomV1CartCurrentCart_universal_d_RemoveCouponResponse as RemoveCouponResponse, ecomV1CartCurrentCart_universal_d_UpdateCurrentCartLineItemQuantityRequest as UpdateCurrentCartLineItemQuantityRequest, ecomV1CartCurrentCart_universal_d_LineItemQuantityUpdate as LineItemQuantityUpdate, ecomV1CartCurrentCart_universal_d_UpdateLineItemsQuantityResponse as UpdateLineItemsQuantityResponse, ecomV1CartCurrentCart_universal_d_EstimateCurrentCartTotalsRequest as EstimateCurrentCartTotalsRequest, ecomV1CartCurrentCart_universal_d_DeleteCurrentCartRequest as DeleteCurrentCartRequest, ecomV1CartCurrentCart_universal_d_DeleteCartResponse as DeleteCartResponse, DomainEvent$8 as DomainEvent, DomainEventBodyOneOf$8 as DomainEventBodyOneOf, EntityCreatedEvent$8 as EntityCreatedEvent, RestoreInfo$5 as RestoreInfo, EntityUpdatedEvent$8 as EntityUpdatedEvent, EntityDeletedEvent$8 as EntityDeletedEvent, ActionEvent$8 as ActionEvent, MessageEnvelope$8 as MessageEnvelope, IdentificationData$8 as IdentificationData, IdentificationDataIdOneOf$8 as IdentificationDataIdOneOf, WebhookIdentityType$8 as WebhookIdentityType, ecomV1CartCurrentCart_universal_d_CreateCartRequest as CreateCartRequest, ecomV1CartCurrentCart_universal_d_CreateCartResponse as CreateCartResponse, ecomV1CartCurrentCart_universal_d_GetCartRequest as GetCartRequest, ecomV1CartCurrentCart_universal_d_GetCartResponse as GetCartResponse, ecomV1CartCurrentCart_universal_d_GetCartByCheckoutIdRequest as GetCartByCheckoutIdRequest, ecomV1CartCurrentCart_universal_d_GetCartByCheckoutIdResponse as GetCartByCheckoutIdResponse, ecomV1CartCurrentCart_universal_d_AddToCartRequest as AddToCartRequest, ecomV1CartCurrentCart_universal_d_RemoveLineItemsRequest as RemoveLineItemsRequest, ecomV1CartCurrentCart_universal_d_CreateCheckoutRequest as CreateCheckoutRequest, ecomV1CartCurrentCart_universal_d_RemoveCouponRequest as RemoveCouponRequest, ecomV1CartCurrentCart_universal_d_UpdateLineItemsQuantityRequest as UpdateLineItemsQuantityRequest, ecomV1CartCurrentCart_universal_d_EstimateTotalsRequest as EstimateTotalsRequest, ecomV1CartCurrentCart_universal_d_DeleteCartRequest as DeleteCartRequest, Empty$4 as Empty, ecomV1CartCurrentCart_universal_d_getCurrentCart as getCurrentCart, ecomV1CartCurrentCart_universal_d_updateCurrentCart as updateCurrentCart, ecomV1CartCurrentCart_universal_d_UpdateCurrentCartOptions as UpdateCurrentCartOptions, ecomV1CartCurrentCart_universal_d_addToCurrentCart as addToCurrentCart, ecomV1CartCurrentCart_universal_d_AddToCurrentCartOptions as AddToCurrentCartOptions, ecomV1CartCurrentCart_universal_d_removeLineItemsFromCurrentCart as removeLineItemsFromCurrentCart, ecomV1CartCurrentCart_universal_d_createCheckoutFromCurrentCart as createCheckoutFromCurrentCart, ecomV1CartCurrentCart_universal_d_CreateCheckoutFromCurrentCartOptions as CreateCheckoutFromCurrentCartOptions, ecomV1CartCurrentCart_universal_d_removeCouponFromCurrentCart as removeCouponFromCurrentCart, ecomV1CartCurrentCart_universal_d_updateCurrentCartLineItemQuantity as updateCurrentCartLineItemQuantity, ecomV1CartCurrentCart_universal_d_estimateCurrentCartTotals as estimateCurrentCartTotals, ecomV1CartCurrentCart_universal_d_EstimateCurrentCartTotalsOptions as EstimateCurrentCartTotalsOptions, ecomV1CartCurrentCart_universal_d_deleteCurrentCart as deleteCurrentCart, };\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @applicableIdentity APP\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function stopCollectingRequests(appId: string): Promise<StopCollectingRequestsResponse>;\n    /**\n     * Retrieves back in stock request settings.\n     * @public\n     * @documentationMaturity preview\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\n     */\n    function getSettings(): Promise<GetSettingsResponse>;\n    type ecomV1BackInStockSettingsBackInStockSettings_universal_d_BackInStockSettings = BackInStockSettings;\n    type ecomV1BackInStockSettingsBackInStockSettings_universal_d_BackInStockCollectionState = BackInStockCollectionState;\n    type ecomV1BackInStockSettingsBackInStockSettings_universal_d_StartCollectingRequestsRequest = StartCollectingRequestsRequest;\n    type ecomV1BackInStockSettingsBackInStockSettings_universal_d_StartCollectingRequestsResponse = StartCollectingRequestsResponse;\n    type ecomV1BackInStockSettingsBackInStockSettings_universal_d_StopCollectingRequestsRequest = StopCollectingRequestsRequest;\n    type ecomV1BackInStockSettingsBackInStockSettings_universal_d_StopCollectingRequestsResponse = StopCollectingRequestsResponse;\n    type ecomV1BackInStockSettingsBackInStockSettings_universal_d_GetSettingsRequest = GetSettingsRequest;\n    type ecomV1BackInStockSettingsBackInStockSettings_universal_d_GetSettingsResponse = GetSettingsResponse;\n    const ecomV1BackInStockSettingsBackInStockSettings_universal_d_startCollectingRequests: typeof startCollectingRequests;\n    const ecomV1BackInStockSettingsBackInStockSettings_universal_d_stopCollectingRequests: typeof stopCollectingRequests;\n    const ecomV1BackInStockSettingsBackInStockSettings_universal_d_getSettings: typeof getSettings;\n    namespace ecomV1BackInStockSettingsBackInStockSettings_universal_d {\n        export { ecomV1BackInStockSettingsBackInStockSettings_universal_d_BackInStockSettings as BackInStockSettings, ecomV1BackInStockSettingsBackInStockSettings_universal_d_BackInStockCollectionState as BackInStockCollectionState, ecomV1BackInStockSettingsBackInStockSettings_universal_d_StartCollectingRequestsRequest as StartCollectingRequestsRequest, ecomV1BackInStockSettingsBackInStockSettings_universal_d_StartCollectingRequestsResponse as StartCollectingRequestsResponse, ecomV1BackInStockSettingsBackInStockSettings_universal_d_StopCollectingRequestsRequest as StopCollectingRequestsRequest, ecomV1BackInStockSettingsBackInStockSettings_universal_d_StopCollectingRequestsResponse as StopCollectingRequestsResponse, ecomV1BackInStockSettingsBackInStockSettings_universal_d_GetSettingsRequest as GetSettingsRequest, ecomV1BackInStockSettingsBackInStockSettings_universal_d_GetSettingsResponse as GetSettingsResponse, ecomV1BackInStockSettingsBackInStockSettings_universal_d_startCollectingRequests as startCollectingRequests, ecomV1BackInStockSettingsBackInStockSettings_universal_d_stopCollectingRequests as stopCollectingRequests, ecomV1BackInStockSettingsBackInStockSettings_universal_d_getSettings as getSettings, };\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;\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;\n        /** Buyer information. */\n        buyerInfo?: BuyerInfo$3;\n        /** Order fulfillment status. */\n        fulfillmentStatus?: FulfillmentStatus$2;\n        /** Fulfillment tracking information. */\n        trackingInfo?: V2FulfillmentTrackingInfo;\n    }\n    /** Buyer Info */\n    interface BuyerInfo$3 {\n        /** Wix customer ID */\n        _id?: string | null;\n        /**\n         * Deprecated (use identityType instead)\n         * @readonly\n         * @deprecated\n         */\n        type?: IdentityType$1;\n        /** Customer type */\n        identityType?: IdentityType$1;\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    enum IdentityType$1 {\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    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$3;\n    }\n    interface BulkOrderFulfillmentsResult {\n        /** Item metadata. */\n        itemMetadata?: ItemMetadata$3;\n        /** List of order IDs and their associated fulfillments. */\n        ordersWithFulfillments?: OrderWithFulfillments;\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$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$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 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;\n        /**\n         * Whether the event was triggered as a result of a privacy regulation application\n         * (for example, GDPR).\n         */\n        triggeredByAnonymizeRequest?: boolean | null;\n        /** If present, indicates the action that triggered the event. */\n        originatedFrom?: string | null;\n        /**\n         * A sequence number defining the order of updates to the underlying entity.\n         * For example, given that some entity was updated at 16:00 and than again at 16:01,\n         * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n         * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n         * To do so, you will need to persist this number on your end, and compare the sequence number from the\n         * message against the one you have 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        /** 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$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    interface EntityDeletedEvent$7 {\n        /** Entity that was deleted */\n        deletedEntityAsJson?: string | null;\n    }\n    interface ActionEvent$7 {\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     * 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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Read eCommerce - all read permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-STORES.READ-ORDERS\n     * @permissionScope Read Stores - all read permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Read eCommerce - all read permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-STORES.READ-ORDERS\n     * @permissionScope Read Stores - all read permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\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;\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    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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function bulkCreateFulfillments(ordersWithFulfillments: BulkCreateOrderWithFulfillments[]): Promise<BulkCreateFulfillmentResponse>;\n    type ecomV1FulfillmentsOrderFulfillments_universal_d_OrderWithFulfillments = OrderWithFulfillments;\n    type ecomV1FulfillmentsOrderFulfillments_universal_d_FulfillmentFulfillmentInfoOneOf = FulfillmentFulfillmentInfoOneOf;\n    type ecomV1FulfillmentsOrderFulfillments_universal_d_CustomFulfillmentInfo = CustomFulfillmentInfo;\n    type ecomV1FulfillmentsOrderFulfillments_universal_d_FulfillmentCreated = FulfillmentCreated;\n    type ecomV1FulfillmentsOrderFulfillments_universal_d_V2FulfillmentTrackingInfo = V2FulfillmentTrackingInfo;\n    type ecomV1FulfillmentsOrderFulfillments_universal_d_FulfillmentUpdated = FulfillmentUpdated;\n    type ecomV1FulfillmentsOrderFulfillments_universal_d_FulfillmentDeleted = FulfillmentDeleted;\n    type ecomV1FulfillmentsOrderFulfillments_universal_d_ListFulfillmentsForSingleOrderRequest = ListFulfillmentsForSingleOrderRequest;\n    type ecomV1FulfillmentsOrderFulfillments_universal_d_ListFulfillmentsForSingleOrderResponse = ListFulfillmentsForSingleOrderResponse;\n    type ecomV1FulfillmentsOrderFulfillments_universal_d_ListFulfillmentsForMultipleOrdersRequest = ListFulfillmentsForMultipleOrdersRequest;\n    type ecomV1FulfillmentsOrderFulfillments_universal_d_ListFulfillmentsForMultipleOrdersResponse = ListFulfillmentsForMultipleOrdersResponse;\n    type ecomV1FulfillmentsOrderFulfillments_universal_d_CreateFulfillmentRequest = CreateFulfillmentRequest;\n    type ecomV1FulfillmentsOrderFulfillments_universal_d_CreateFulfillmentResponse = CreateFulfillmentResponse;\n    type ecomV1FulfillmentsOrderFulfillments_universal_d_UpdateFulfillmentRequest = UpdateFulfillmentRequest;\n    type ecomV1FulfillmentsOrderFulfillments_universal_d_UpdateFulfillmentResponse = UpdateFulfillmentResponse;\n    type ecomV1FulfillmentsOrderFulfillments_universal_d_DeleteFulfillmentRequest = DeleteFulfillmentRequest;\n    type ecomV1FulfillmentsOrderFulfillments_universal_d_DeleteFulfillmentResponse = DeleteFulfillmentResponse;\n    type ecomV1FulfillmentsOrderFulfillments_universal_d_BulkCreateFulfillmentRequest = BulkCreateFulfillmentRequest;\n    type ecomV1FulfillmentsOrderFulfillments_universal_d_BulkCreateOrderWithFulfillments = BulkCreateOrderWithFulfillments;\n    type ecomV1FulfillmentsOrderFulfillments_universal_d_BulkCreateFulfillmentResponse = BulkCreateFulfillmentResponse;\n    type ecomV1FulfillmentsOrderFulfillments_universal_d_BulkOrderFulfillmentsResult = BulkOrderFulfillmentsResult;\n    const ecomV1FulfillmentsOrderFulfillments_universal_d_listFulfillmentsForSingleOrder: typeof listFulfillmentsForSingleOrder;\n    const ecomV1FulfillmentsOrderFulfillments_universal_d_listFulfillmentsForMultipleOrders: typeof listFulfillmentsForMultipleOrders;\n    const ecomV1FulfillmentsOrderFulfillments_universal_d_createFulfillment: typeof createFulfillment;\n    const ecomV1FulfillmentsOrderFulfillments_universal_d_updateFulfillment: typeof updateFulfillment;\n    type ecomV1FulfillmentsOrderFulfillments_universal_d_UpdateFulfillmentOptions = UpdateFulfillmentOptions;\n    type ecomV1FulfillmentsOrderFulfillments_universal_d_UpdateFulfillmentIdentifiers = UpdateFulfillmentIdentifiers;\n    const ecomV1FulfillmentsOrderFulfillments_universal_d_deleteFulfillment: typeof deleteFulfillment;\n    type ecomV1FulfillmentsOrderFulfillments_universal_d_DeleteFulfillmentIdentifiers = DeleteFulfillmentIdentifiers;\n    const ecomV1FulfillmentsOrderFulfillments_universal_d_bulkCreateFulfillments: typeof bulkCreateFulfillments;\n    namespace ecomV1FulfillmentsOrderFulfillments_universal_d {\n        export { ecomV1FulfillmentsOrderFulfillments_universal_d_OrderWithFulfillments as OrderWithFulfillments, Fulfillment$1 as Fulfillment, ecomV1FulfillmentsOrderFulfillments_universal_d_FulfillmentFulfillmentInfoOneOf as FulfillmentFulfillmentInfoOneOf, FulfillmentLineItem$1 as FulfillmentLineItem, FulfillmentTrackingInfo$1 as FulfillmentTrackingInfo, ecomV1FulfillmentsOrderFulfillments_universal_d_CustomFulfillmentInfo as CustomFulfillmentInfo, ecomV1FulfillmentsOrderFulfillments_universal_d_FulfillmentCreated as FulfillmentCreated, BuyerInfo$3 as BuyerInfo, IdentityType$1 as IdentityType, FulfillmentStatus$2 as FulfillmentStatus, ecomV1FulfillmentsOrderFulfillments_universal_d_V2FulfillmentTrackingInfo as V2FulfillmentTrackingInfo, ecomV1FulfillmentsOrderFulfillments_universal_d_FulfillmentUpdated as FulfillmentUpdated, ecomV1FulfillmentsOrderFulfillments_universal_d_FulfillmentDeleted as FulfillmentDeleted, ecomV1FulfillmentsOrderFulfillments_universal_d_ListFulfillmentsForSingleOrderRequest as ListFulfillmentsForSingleOrderRequest, ecomV1FulfillmentsOrderFulfillments_universal_d_ListFulfillmentsForSingleOrderResponse as ListFulfillmentsForSingleOrderResponse, ecomV1FulfillmentsOrderFulfillments_universal_d_ListFulfillmentsForMultipleOrdersRequest as ListFulfillmentsForMultipleOrdersRequest, ecomV1FulfillmentsOrderFulfillments_universal_d_ListFulfillmentsForMultipleOrdersResponse as ListFulfillmentsForMultipleOrdersResponse, ecomV1FulfillmentsOrderFulfillments_universal_d_CreateFulfillmentRequest as CreateFulfillmentRequest, ecomV1FulfillmentsOrderFulfillments_universal_d_CreateFulfillmentResponse as CreateFulfillmentResponse, ecomV1FulfillmentsOrderFulfillments_universal_d_UpdateFulfillmentRequest as UpdateFulfillmentRequest, ecomV1FulfillmentsOrderFulfillments_universal_d_UpdateFulfillmentResponse as UpdateFulfillmentResponse, ecomV1FulfillmentsOrderFulfillments_universal_d_DeleteFulfillmentRequest as DeleteFulfillmentRequest, ecomV1FulfillmentsOrderFulfillments_universal_d_DeleteFulfillmentResponse as DeleteFulfillmentResponse, ecomV1FulfillmentsOrderFulfillments_universal_d_BulkCreateFulfillmentRequest as BulkCreateFulfillmentRequest, ecomV1FulfillmentsOrderFulfillments_universal_d_BulkCreateOrderWithFulfillments as BulkCreateOrderWithFulfillments, ecomV1FulfillmentsOrderFulfillments_universal_d_BulkCreateFulfillmentResponse as BulkCreateFulfillmentResponse, ecomV1FulfillmentsOrderFulfillments_universal_d_BulkOrderFulfillmentsResult as BulkOrderFulfillmentsResult, ItemMetadata$3 as ItemMetadata, ApplicationError$4 as ApplicationError, BulkActionMetadata$3 as BulkActionMetadata, DomainEvent$7 as DomainEvent, DomainEventBodyOneOf$7 as DomainEventBodyOneOf, EntityCreatedEvent$7 as EntityCreatedEvent, RestoreInfo$4 as RestoreInfo, EntityUpdatedEvent$7 as EntityUpdatedEvent, EntityDeletedEvent$7 as EntityDeletedEvent, ActionEvent$7 as ActionEvent, MessageEnvelope$7 as MessageEnvelope, IdentificationData$7 as IdentificationData, IdentificationDataIdOneOf$7 as IdentificationDataIdOneOf, WebhookIdentityType$7 as WebhookIdentityType, ecomV1FulfillmentsOrderFulfillments_universal_d_listFulfillmentsForSingleOrder as listFulfillmentsForSingleOrder, ecomV1FulfillmentsOrderFulfillments_universal_d_listFulfillmentsForMultipleOrders as listFulfillmentsForMultipleOrders, ecomV1FulfillmentsOrderFulfillments_universal_d_createFulfillment as createFulfillment, ecomV1FulfillmentsOrderFulfillments_universal_d_updateFulfillment as updateFulfillment, ecomV1FulfillmentsOrderFulfillments_universal_d_UpdateFulfillmentOptions as UpdateFulfillmentOptions, ecomV1FulfillmentsOrderFulfillments_universal_d_UpdateFulfillmentIdentifiers as UpdateFulfillmentIdentifiers, ecomV1FulfillmentsOrderFulfillments_universal_d_deleteFulfillment as deleteFulfillment, ecomV1FulfillmentsOrderFulfillments_universal_d_DeleteFulfillmentIdentifiers as DeleteFulfillmentIdentifiers, ecomV1FulfillmentsOrderFulfillments_universal_d_bulkCreateFulfillments as bulkCreateFulfillments, };\n    }\n    interface Recommendation {\n        /** Recommended items. */\n        items?: CatalogReference$3[];\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$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 [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 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 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        _id?: string;\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    }\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$3[];\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$3[];\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     * @permissionScope Read eCommerce - all read permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\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     * @permissionScope Read eCommerce - all read permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\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$3[];\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    type ecomRecommendationsV1RecommendationRecommendations_universal_d_Recommendation = Recommendation;\n    type ecomRecommendationsV1RecommendationRecommendations_universal_d_Algorithm = Algorithm;\n    type ecomRecommendationsV1RecommendationRecommendations_universal_d_ListAvailableAlgorithmsRequest = ListAvailableAlgorithmsRequest;\n    type ecomRecommendationsV1RecommendationRecommendations_universal_d_ListAvailableAlgorithmsResponse = ListAvailableAlgorithmsResponse;\n    type ecomRecommendationsV1RecommendationRecommendations_universal_d_AlgorithmInfo = AlgorithmInfo;\n    type ecomRecommendationsV1RecommendationRecommendations_universal_d_AlgorithmConfig = AlgorithmConfig;\n    type ecomRecommendationsV1RecommendationRecommendations_universal_d_AlgorithmType = AlgorithmType;\n    const ecomRecommendationsV1RecommendationRecommendations_universal_d_AlgorithmType: typeof AlgorithmType;\n    type ecomRecommendationsV1RecommendationRecommendations_universal_d_GetRecommendationRequest = GetRecommendationRequest;\n    type ecomRecommendationsV1RecommendationRecommendations_universal_d_GetRecommendationResponse = GetRecommendationResponse;\n    type ecomRecommendationsV1RecommendationRecommendations_universal_d_ItemAppIdNotSupportedByProvider = ItemAppIdNotSupportedByProvider;\n    type ecomRecommendationsV1RecommendationRecommendations_universal_d_RecommendationAlgorithmNotSupported = RecommendationAlgorithmNotSupported;\n    const ecomRecommendationsV1RecommendationRecommendations_universal_d_listAvailableAlgorithms: typeof listAvailableAlgorithms;\n    const ecomRecommendationsV1RecommendationRecommendations_universal_d_getRecommendation: typeof getRecommendation;\n    type ecomRecommendationsV1RecommendationRecommendations_universal_d_GetRecommendationOptions = GetRecommendationOptions;\n    namespace ecomRecommendationsV1RecommendationRecommendations_universal_d {\n        export { ecomRecommendationsV1RecommendationRecommendations_universal_d_Recommendation as Recommendation, CatalogReference$3 as CatalogReference, ecomRecommendationsV1RecommendationRecommendations_universal_d_Algorithm as Algorithm, ecomRecommendationsV1RecommendationRecommendations_universal_d_ListAvailableAlgorithmsRequest as ListAvailableAlgorithmsRequest, ecomRecommendationsV1RecommendationRecommendations_universal_d_ListAvailableAlgorithmsResponse as ListAvailableAlgorithmsResponse, ecomRecommendationsV1RecommendationRecommendations_universal_d_AlgorithmInfo as AlgorithmInfo, ecomRecommendationsV1RecommendationRecommendations_universal_d_AlgorithmConfig as AlgorithmConfig, ecomRecommendationsV1RecommendationRecommendations_universal_d_AlgorithmType as AlgorithmType, ecomRecommendationsV1RecommendationRecommendations_universal_d_GetRecommendationRequest as GetRecommendationRequest, ecomRecommendationsV1RecommendationRecommendations_universal_d_GetRecommendationResponse as GetRecommendationResponse, ecomRecommendationsV1RecommendationRecommendations_universal_d_ItemAppIdNotSupportedByProvider as ItemAppIdNotSupportedByProvider, ecomRecommendationsV1RecommendationRecommendations_universal_d_RecommendationAlgorithmNotSupported as RecommendationAlgorithmNotSupported, ecomRecommendationsV1RecommendationRecommendations_universal_d_listAvailableAlgorithms as listAvailableAlgorithms, ecomRecommendationsV1RecommendationRecommendations_universal_d_getRecommendation as getRecommendation, ecomRecommendationsV1RecommendationRecommendations_universal_d_GetRecommendationOptions as GetRecommendationOptions, };\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$1;\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?: V1LineItem[];\n        /**\n         * Custom line items. Custom line items don't trigger the Catalog service plugin.\n         *\n         * Max: 300 items\n         */\n        customLineItems?: CustomLineItem[];\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         * 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    enum Status$1 {\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 V1LineItem {\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$2;\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$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 [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 CatalogOverrideFields {\n        /** Item name. */\n        productName?: ProductName$1;\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$1[];\n        /** Physical properties of the item. */\n        physicalProperties?: PhysicalProperties$1;\n        /** Item image. */\n        image?: string;\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    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        /** Description line name. */\n        name?: DescriptionLineName$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    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        UNRECOGNISED = \"UNRECOGNISED\",\n        PLAIN_TEXT = \"PLAIN_TEXT\",\n        COLOR = \"COLOR\"\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 CustomLineItem {\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$1;\n        /** Custom line item description lines. Used for display purposes for the cart, checkout and order. */\n        descriptionLines?: DescriptionLine$1[];\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$1;\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$1;\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$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$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$1;\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        /** 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$2;\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 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    interface SubscriptionOptionInfo$1 {\n        /** Subscription option settings. */\n        subscriptionSettings?: SubscriptionSettings$2;\n        /** Subscription option title. */\n        title?: Title;\n        /** Subscription option description. */\n        description?: Description;\n    }\n    interface SubscriptionSettings$2 {\n        /** Frequency of recurring payment. */\n        frequency?: SubscriptionFrequency$2;\n        /**\n         * Interval of recurring payment.\n         *\n         * Default: `1`.\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    /** 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 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$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 the 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 the checkout. 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$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;\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 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 CustomContentReference {\n        /**\n         * ID of the app providing the content.\n         *\n         * You can get your app's ID from its page in the [Wix Dev Center](https://dev.wix.com/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 [Wix Dev Center](https://dev.wix.com/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 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    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;\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         *\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$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. </ 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$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 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?: LineItem$3[];\n        /** Billing information. */\n        billingInfo?: AddressWithContact$1;\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$2;\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$1;\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$1;\n        /**\n         * Applied discounts.\n         * @readonly\n         */\n        appliedDiscounts?: AppliedDiscount$2[];\n        /** Custom fields. */\n        customFields?: CustomField$2[];\n        /**\n         * Weight measurement unit - defaults to site's weight unit.\n         * @readonly\n         */\n        weightUnit?: WeightUnit$2;\n        /**\n         * Tax summary.\n         * @readonly\n         */\n        taxSummary?: TaxSummary$1;\n        /**\n         * The currency used when submitting the order.\n         * @readonly\n         */\n        currency?: string;\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         * @readonly\n         */\n        channelType?: ChannelType$2;\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$1;\n        /**\n         * Date and time the checkout was created.\n         * @readonly\n         */\n        _createdDate?: Date;\n        /**\n         * Date and time the checkout was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\n        /**\n         * Minimal amount to pay in order to place the order.\n         * @readonly\n         */\n        payNow?: PriceSummary$1;\n        /**\n         * Remaining amount for the order to be fully paid.\n         * @readonly\n         */\n        payLater?: PriceSummary$1;\n        /** Memberships to apply when creating the order. */\n        membershipOptions?: MembershipOptions;\n        /** Additional Fees. */\n        additionalFees?: AdditionalFee$1[];\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         * 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         * 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 Wix Dev Center before they can be accessed with API calls.\n         */\n        extendedFields?: ExtendedFields$2;\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    interface LineItem$3 {\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$2;\n        /**\n         * Item name.\n         * + Stores - `product.name`\n         * + Bookings - `service.info.name`\n         * + Events - `ticket.name`\n         * @readonly\n         */\n        productName?: ProductName$1;\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$1;\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$1[];\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$1;\n        /**\n         * Item type. Either a preset type or custom.\n         * @readonly\n         */\n        itemType?: ItemType$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$1;\n        /**\n         * Service properties. When relevant, this contains information such as date and number of participants.\n         * @readonly\n         */\n        serviceProperties?: ServiceProperties$1;\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$1;\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         * 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 to save the payment method on the order.\n         *\n         * Default: `false`\n         * @readonly\n         */\n        savePaymentMethod?: boolean;\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$1 {\n        /** Amount for which tax is calculated. */\n        taxableAmount?: MultiCurrencyPrice$1;\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[];\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$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 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$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$1;\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 ItemAvailabilityInfo {\n        /**\n         * Item availability status.\n         * + `\"NOT_FOUND\"`: Item does not exist\n         * + `\"NOT_AVAILABLE\"`: Item not in stock\n         * + `\"PARTIALLY_AVAILABLE\"`: Available quantity is less than requested\n         */\n        status?: ItemAvailabilityStatus;\n        /** Quantity available. */\n        quantityAvailable?: number | null;\n    }\n    enum ItemAvailabilityStatus {\n        AVAILABLE = \"AVAILABLE\",\n        NOT_FOUND = \"NOT_FOUND\",\n        /** 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;\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    /** Billing Info and shipping details */\n    interface AddressWithContact$1 {\n        /** Address. */\n        address?: Address$2;\n        /** Contact details. */\n        contactDetails?: FullAddressContactDetails$1;\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$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    }\n    interface StreetAddress$1 {\n        /** Street number. */\n        number?: string;\n        /** Street name. */\n        name?: string;\n    }\n    interface AddressLocation$1 {\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 ShippingInfo$1 {\n        /** Shipping address and contact details. */\n        shippingDestination?: AddressWithContact$1;\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?: ShippingRegion$1;\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?: 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    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$2;\n    }\n    interface PickupDetails$2 {\n        /** Pickup address. */\n        address?: Address$2;\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;\n        /** ending time of the delivery time slot */\n        to?: Date;\n    }\n    interface SelectedCarrierServiceOptionPrices {\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$1;\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 {\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 ShippingRegion$1 {\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?: DeliveryLogistics$1;\n        /** Sipping price information. */\n        cost?: ShippingPrice$1;\n    }\n    interface ShippingPrice$1 {\n        /** Shipping price. */\n        price?: MultiCurrencyPrice$1;\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$1;\n    }\n    interface BuyerInfo$2 extends BuyerInfoIdOneOf$1 {\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         * 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$1 {\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    interface PriceSummary$1 {\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 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$3[];\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$3;\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$3;\n        validationError?: ValidationError;\n        systemError?: SystemError;\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    /**\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    }\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$1 {\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    interface AppliedDiscount$2 extends AppliedDiscountDiscountSourceOneOf$1 {\n        /** Coupon details. */\n        coupon?: Coupon$1;\n        /** Merchant discount. */\n        merchantDiscount?: MerchantDiscount$1;\n        /** Discount rule */\n        discountRule?: DiscountRule$2;\n        /** Discount type. */\n        discountType?: DiscountType$2;\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    /** @oneof */\n    interface AppliedDiscountDiscountSourceOneOf$1 {\n        /** Coupon details. */\n        coupon?: Coupon$1;\n        /** Merchant discount. */\n        merchantDiscount?: MerchantDiscount$1;\n        /** Discount rule */\n        discountRule?: DiscountRule$2;\n    }\n    enum DiscountType$2 {\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 value. */\n        amount?: MultiCurrencyPrice$1;\n        /** Coupon name. */\n        name?: string;\n    }\n    interface MerchantDiscount$1 {\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$2 {\n        /** Discount rule ID */\n        _id?: string;\n        /** Discount rule name */\n        name?: DiscountRuleName$2;\n        /** Discount value. */\n        amount?: MultiCurrencyPrice$1;\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$1 {\n        /** ID of line item the discount applies to. */\n        _id?: string;\n        /** Discount value. */\n        totalDiscountAmount?: MultiCurrencyPrice$1;\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    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 TaxSummary$1 {\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         * Tax calculator that was active when the order was created.\n         * @deprecated\n         */\n        calculationDetails?: TaxCalculationDetails;\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$3;\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?: JurisdictionType$1;\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    enum ChannelType$2 {\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 CreatedBy$1 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$2;\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;\n        /** Additional data about this membership. */\n        additionalData?: Record<string, any> | null;\n    }\n    interface MembershipName$2 {\n        /** The name of this membership */\n        original?: string;\n        /** Optional - Translated name of this membership. Defaults to `original` when not provided. */\n        translated?: string | null;\n    }\n    interface MembershipPaymentCredits {\n        /** How much credit this membership has in total */\n        total?: number;\n        /** How much credit remained for this membership */\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 AdditionalFee$1 {\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$1;\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    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    }\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    /** 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    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$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;\n        /**\n         * Whether the event was triggered as a result of a privacy regulation application\n         * (for example, GDPR).\n         */\n        triggeredByAnonymizeRequest?: boolean | null;\n        /** If present, indicates the action that triggered the event. */\n        originatedFrom?: string | null;\n        /**\n         * A sequence number defining the order of updates to the underlying entity.\n         * For example, given that some entity was updated at 16:00 and than again at 16:01,\n         * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n         * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n         * To do so, you will need to persist this number on your end, and compare the sequence number from the\n         * message against the one you have 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        /** 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$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    interface EntityDeletedEvent$6 {\n        /** Entity that was deleted */\n        deletedEntityAsJson?: 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$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 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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @applicableIdentity APP\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @applicableIdentity APP\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @applicableIdentity APP\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$1;\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?: V1LineItem[];\n        /**\n         * Custom line items. Custom line items don't trigger the Catalog service plugin.\n         *\n         * Max: 300 items\n         */\n        customLineItems?: CustomLineItem[];\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         * 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    interface UpdateCheckoutTemplateOptions {\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @applicableIdentity APP\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionId ECOM.CHECKOUT_TEMPLATE_READ\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function queryCheckoutTemplates(): CheckoutTemplatesQueryBuilder;\n    interface QueryCursorResult$2 {\n        cursors: Cursors$2;\n        hasNext: () => boolean;\n        hasPrev: () => boolean;\n        length: number;\n        pageSize: number;\n    }\n    interface CheckoutTemplatesQueryResult extends QueryCursorResult$2 {\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CheckoutTemplate = CheckoutTemplate;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CheckoutCustomization = CheckoutCustomization;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_WebClientCustomization = WebClientCustomization;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_V1LineItem = V1LineItem;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CatalogOverrideFields = CatalogOverrideFields;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CustomLineItem = CustomLineItem;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_Title = Title;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_Description = Description;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_SecuredMedia = SecuredMedia;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_FileType = FileType;\n    const ecomV1CheckoutTemplateCheckoutTemplates_universal_d_FileType: typeof FileType;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CustomContentReference = CustomContentReference;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_ExternalReference = ExternalReference;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CreateCheckoutTemplateRequest = CreateCheckoutTemplateRequest;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CreateCheckoutTemplateResponse = CreateCheckoutTemplateResponse;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_GetCheckoutTemplateRequest = GetCheckoutTemplateRequest;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_GetCheckoutTemplateResponse = GetCheckoutTemplateResponse;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_UpdateCheckoutTemplateRequest = UpdateCheckoutTemplateRequest;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_UpdateCheckoutTemplateResponse = UpdateCheckoutTemplateResponse;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_DeleteCheckoutTemplateRequest = DeleteCheckoutTemplateRequest;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_DeleteCheckoutTemplateResponse = DeleteCheckoutTemplateResponse;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_QueryCheckoutTemplatesRequest = QueryCheckoutTemplatesRequest;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CursorQuery = CursorQuery;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_QueryCheckoutTemplatesResponse = QueryCheckoutTemplatesResponse;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CreateCheckoutFromTemplateRequest = CreateCheckoutFromTemplateRequest;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CreateCheckoutFromTemplateResponse = CreateCheckoutFromTemplateResponse;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CheckoutTemplateUsed = CheckoutTemplateUsed;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_Checkout = Checkout;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_TaxRateBreakdown = TaxRateBreakdown;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_TaxBreakdown = TaxBreakdown;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_ItemAvailabilityInfo = ItemAvailabilityInfo;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_ItemAvailabilityStatus = ItemAvailabilityStatus;\n    const ecomV1CheckoutTemplateCheckoutTemplates_universal_d_ItemAvailabilityStatus: typeof ItemAvailabilityStatus;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_Group = Group;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_SelectedCarrierServiceOption = SelectedCarrierServiceOption;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_SelectedCarrierServiceOptionPrices = SelectedCarrierServiceOptionPrices;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_SelectedCarrierServiceOptionOtherCharge = SelectedCarrierServiceOptionOtherCharge;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_ChargeType = ChargeType;\n    const ecomV1CheckoutTemplateCheckoutTemplates_universal_d_ChargeType: typeof ChargeType;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CarrierServiceOption = CarrierServiceOption;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_ShippingOption = ShippingOption;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_OtherCharge = OtherCharge;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CalculationErrors = CalculationErrors;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CalculationErrorsShippingCalculationErrorOneOf = CalculationErrorsShippingCalculationErrorOneOf;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_Details = Details;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_DetailsKindOneOf = DetailsKindOneOf;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_ValidationError = ValidationError;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_RuleType = RuleType;\n    const ecomV1CheckoutTemplateCheckoutTemplates_universal_d_RuleType: typeof RuleType;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_FieldViolation = FieldViolation;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_SystemError = SystemError;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CarrierErrors = CarrierErrors;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CarrierError = CarrierError;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_TaxCalculationDetails = TaxCalculationDetails;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_TaxCalculationDetailsCalculationDetailsOneOf = TaxCalculationDetailsCalculationDetailsOneOf;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_RateType = RateType;\n    const ecomV1CheckoutTemplateCheckoutTemplates_universal_d_RateType: typeof RateType;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_ManualCalculationReason = ManualCalculationReason;\n    const ecomV1CheckoutTemplateCheckoutTemplates_universal_d_ManualCalculationReason: typeof ManualCalculationReason;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_AutoTaxFallbackCalculationDetails = AutoTaxFallbackCalculationDetails;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_FallbackReason = FallbackReason;\n    const ecomV1CheckoutTemplateCheckoutTemplates_universal_d_FallbackReason: typeof FallbackReason;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_AggregatedTaxBreakdown = AggregatedTaxBreakdown;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CreatedByIdOneOf = CreatedByIdOneOf;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_MembershipOptions = MembershipOptions;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_Membership = Membership;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_MembershipPaymentCredits = MembershipPaymentCredits;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_InvalidMembership = InvalidMembership;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_SelectedMemberships = SelectedMemberships;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_SelectedMembership = SelectedMembership;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_ConversionInfo = ConversionInfo;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_Violation = Violation;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_Severity = Severity;\n    const ecomV1CheckoutTemplateCheckoutTemplates_universal_d_Severity: typeof Severity;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_Target = Target;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_TargetTargetTypeOneOf = TargetTargetTypeOneOf;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_NameInOther = NameInOther;\n    const ecomV1CheckoutTemplateCheckoutTemplates_universal_d_NameInOther: typeof NameInOther;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_NameInLineItem = NameInLineItem;\n    const ecomV1CheckoutTemplateCheckoutTemplates_universal_d_NameInLineItem: typeof NameInLineItem;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_Other = Other;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_TargetLineItem = TargetLineItem;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CustomSettings = CustomSettings;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CreateAndRedirectToCheckoutRequest = CreateAndRedirectToCheckoutRequest;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_RawHttpResponse = RawHttpResponse;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_HeadersEntry = HeadersEntry;\n    const ecomV1CheckoutTemplateCheckoutTemplates_universal_d_createCheckoutTemplate: typeof createCheckoutTemplate;\n    const ecomV1CheckoutTemplateCheckoutTemplates_universal_d_getCheckoutTemplate: typeof getCheckoutTemplate;\n    const ecomV1CheckoutTemplateCheckoutTemplates_universal_d_updateCheckoutTemplate: typeof updateCheckoutTemplate;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_UpdateCheckoutTemplate = UpdateCheckoutTemplate;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_UpdateCheckoutTemplateOptions = UpdateCheckoutTemplateOptions;\n    const ecomV1CheckoutTemplateCheckoutTemplates_universal_d_deleteCheckoutTemplate: typeof deleteCheckoutTemplate;\n    const ecomV1CheckoutTemplateCheckoutTemplates_universal_d_queryCheckoutTemplates: typeof queryCheckoutTemplates;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CheckoutTemplatesQueryResult = CheckoutTemplatesQueryResult;\n    type ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CheckoutTemplatesQueryBuilder = CheckoutTemplatesQueryBuilder;\n    const ecomV1CheckoutTemplateCheckoutTemplates_universal_d_createCheckoutFromTemplate: typeof createCheckoutFromTemplate;\n    const ecomV1CheckoutTemplateCheckoutTemplates_universal_d_createAndRedirectToCheckout: typeof createAndRedirectToCheckout;\n    namespace ecomV1CheckoutTemplateCheckoutTemplates_universal_d {\n        export { ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CheckoutTemplate as CheckoutTemplate, Status$1 as Status, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CheckoutCustomization as CheckoutCustomization, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_WebClientCustomization as WebClientCustomization, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_V1LineItem as V1LineItem, CatalogReference$2 as CatalogReference, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CatalogOverrideFields as CatalogOverrideFields, ProductName$1 as ProductName, DescriptionLine$1 as DescriptionLine, DescriptionLineValueOneOf$1 as DescriptionLineValueOneOf, DescriptionLineDescriptionLineValueOneOf$1 as DescriptionLineDescriptionLineValueOneOf, DescriptionLineName$1 as DescriptionLineName, PlainTextValue$1 as PlainTextValue, Color$1 as Color, DescriptionLineType$1 as DescriptionLineType, PhysicalProperties$1 as PhysicalProperties, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CustomLineItem as CustomLineItem, PriceDescription$1 as PriceDescription, ItemType$1 as ItemType, ItemTypeItemTypeDataOneOf$1 as ItemTypeItemTypeDataOneOf, ItemTypeItemType$1 as ItemTypeItemType, SubscriptionOptionInfo$1 as SubscriptionOptionInfo, SubscriptionSettings$2 as SubscriptionSettings, SubscriptionFrequency$2 as SubscriptionFrequency, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_Title as Title, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_Description as Description, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_SecuredMedia as SecuredMedia, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_FileType as FileType, PaymentOptionType$1 as PaymentOptionType, ServiceProperties$1 as ServiceProperties, ExtendedFields$2 as ExtendedFields, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CustomContentReference as CustomContentReference, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_ExternalReference as ExternalReference, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CreateCheckoutTemplateRequest as CreateCheckoutTemplateRequest, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CreateCheckoutTemplateResponse as CreateCheckoutTemplateResponse, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_GetCheckoutTemplateRequest as GetCheckoutTemplateRequest, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_GetCheckoutTemplateResponse as GetCheckoutTemplateResponse, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_UpdateCheckoutTemplateRequest as UpdateCheckoutTemplateRequest, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_UpdateCheckoutTemplateResponse as UpdateCheckoutTemplateResponse, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_DeleteCheckoutTemplateRequest as DeleteCheckoutTemplateRequest, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_DeleteCheckoutTemplateResponse as DeleteCheckoutTemplateResponse, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_QueryCheckoutTemplatesRequest as QueryCheckoutTemplatesRequest, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CursorQuery as CursorQuery, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf, Sorting$2 as Sorting, SortOrder$2 as SortOrder, CursorPaging$2 as CursorPaging, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_QueryCheckoutTemplatesResponse as QueryCheckoutTemplatesResponse, CursorPagingMetadata$1 as CursorPagingMetadata, Cursors$2 as Cursors, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CreateCheckoutFromTemplateRequest as CreateCheckoutFromTemplateRequest, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CreateCheckoutFromTemplateResponse as CreateCheckoutFromTemplateResponse, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CheckoutTemplateUsed as CheckoutTemplateUsed, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_Checkout as Checkout, LineItem$3 as LineItem, MultiCurrencyPrice$1 as MultiCurrencyPrice, ItemTaxFullDetails$1 as ItemTaxFullDetails, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_TaxRateBreakdown as TaxRateBreakdown, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_TaxBreakdown as TaxBreakdown, JurisdictionType$1 as JurisdictionType, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_ItemAvailabilityInfo as ItemAvailabilityInfo, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_ItemAvailabilityStatus as ItemAvailabilityStatus, Scope$1 as Scope, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_Group as Group, AddressWithContact$1 as AddressWithContact, Address$2 as Address, StreetAddress$1 as StreetAddress, AddressLocation$1 as AddressLocation, FullAddressContactDetails$1 as FullAddressContactDetails, VatId$2 as VatId, VatType$2 as VatType, ShippingInfo$1 as ShippingInfo, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_SelectedCarrierServiceOption as SelectedCarrierServiceOption, DeliveryLogistics$1 as DeliveryLogistics, PickupDetails$2 as PickupDetails, PickupMethod$1 as PickupMethod, DeliveryTimeSlot$1 as DeliveryTimeSlot, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_SelectedCarrierServiceOptionPrices as SelectedCarrierServiceOptionPrices, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_SelectedCarrierServiceOptionOtherCharge as SelectedCarrierServiceOptionOtherCharge, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_ChargeType as ChargeType, ShippingRegion$1 as ShippingRegion, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CarrierServiceOption as CarrierServiceOption, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_ShippingOption as ShippingOption, ShippingPrice$1 as ShippingPrice, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_OtherCharge as OtherCharge, BuyerInfo$2 as BuyerInfo, BuyerInfoIdOneOf$1 as BuyerInfoIdOneOf, PriceSummary$1 as PriceSummary, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CalculationErrors as CalculationErrors, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CalculationErrorsShippingCalculationErrorOneOf as CalculationErrorsShippingCalculationErrorOneOf, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_Details as Details, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_DetailsKindOneOf as DetailsKindOneOf, ApplicationError$3 as ApplicationError, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_ValidationError as ValidationError, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_RuleType as RuleType, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_FieldViolation as FieldViolation, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_SystemError as SystemError, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CarrierErrors as CarrierErrors, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CarrierError as CarrierError, GiftCard$1 as GiftCard, AppliedDiscount$2 as AppliedDiscount, AppliedDiscountDiscountSourceOneOf$1 as AppliedDiscountDiscountSourceOneOf, DiscountType$2 as DiscountType, Coupon$1 as Coupon, MerchantDiscount$1 as MerchantDiscount, DiscountRule$2 as DiscountRule, DiscountRuleName$2 as DiscountRuleName, LineItemDiscount$1 as LineItemDiscount, CustomField$2 as CustomField, WeightUnit$2 as WeightUnit, TaxSummary$1 as TaxSummary, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_TaxCalculationDetails as TaxCalculationDetails, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_TaxCalculationDetailsCalculationDetailsOneOf as TaxCalculationDetailsCalculationDetailsOneOf, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_RateType as RateType, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_ManualCalculationReason as ManualCalculationReason, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_AutoTaxFallbackCalculationDetails as AutoTaxFallbackCalculationDetails, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_FallbackReason as FallbackReason, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_AggregatedTaxBreakdown as AggregatedTaxBreakdown, ChannelType$2 as ChannelType, CreatedBy$1 as CreatedBy, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CreatedByIdOneOf as CreatedByIdOneOf, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_MembershipOptions as MembershipOptions, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_Membership as Membership, MembershipName$2 as MembershipName, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_MembershipPaymentCredits as MembershipPaymentCredits, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_InvalidMembership as InvalidMembership, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_SelectedMemberships as SelectedMemberships, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_SelectedMembership as SelectedMembership, AdditionalFee$1 as AdditionalFee, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_ConversionInfo as ConversionInfo, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_Violation as Violation, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_Severity as Severity, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_Target as Target, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_TargetTargetTypeOneOf as TargetTargetTypeOneOf, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_NameInOther as NameInOther, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_NameInLineItem as NameInLineItem, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_Other as Other, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_TargetLineItem as TargetLineItem, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CustomSettings as CustomSettings, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CreateAndRedirectToCheckoutRequest as CreateAndRedirectToCheckoutRequest, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_RawHttpResponse as RawHttpResponse, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_HeadersEntry as HeadersEntry, DomainEvent$6 as DomainEvent, DomainEventBodyOneOf$6 as DomainEventBodyOneOf, EntityCreatedEvent$6 as EntityCreatedEvent, RestoreInfo$3 as RestoreInfo, EntityUpdatedEvent$6 as EntityUpdatedEvent, EntityDeletedEvent$6 as EntityDeletedEvent, ActionEvent$6 as ActionEvent, MessageEnvelope$6 as MessageEnvelope, IdentificationData$6 as IdentificationData, IdentificationDataIdOneOf$6 as IdentificationDataIdOneOf, WebhookIdentityType$6 as WebhookIdentityType, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_createCheckoutTemplate as createCheckoutTemplate, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_getCheckoutTemplate as getCheckoutTemplate, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_updateCheckoutTemplate as updateCheckoutTemplate, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_UpdateCheckoutTemplate as UpdateCheckoutTemplate, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_UpdateCheckoutTemplateOptions as UpdateCheckoutTemplateOptions, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_deleteCheckoutTemplate as deleteCheckoutTemplate, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_queryCheckoutTemplates as queryCheckoutTemplates, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CheckoutTemplatesQueryResult as CheckoutTemplatesQueryResult, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_CheckoutTemplatesQueryBuilder as CheckoutTemplatesQueryBuilder, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_createCheckoutFromTemplate as createCheckoutFromTemplate, ecomV1CheckoutTemplateCheckoutTemplates_universal_d_createAndRedirectToCheckout as createAndRedirectToCheckout, };\n    }\n    interface DiscountRule$1 {\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;\n        /**\n         * Date and time the discount rule was last updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\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         * Currently, a discount rule can apply only 1 discount.\n         */\n        discounts?: Discounts;\n        /**\n         * Discount rule status.\n         * @readonly\n         */\n        status?: Status;\n        /**\n         * Number of times the discount rule was used.\n         * @readonly\n         */\n        usageCount?: number;\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 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        /**\n         * List of triggers.\n         * Max: 5 triggers.\n         */\n        triggers?: DiscountTrigger[];\n    }\n    interface Or {\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    interface SubtotalRange {\n        /** Relevant scopes for `\"SPECIFIC_ITEMS\"` target type. */\n        scopes?: Scope[];\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[];\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        /** Chain multiple triggers with AND operator */\n        AND = \"AND\",\n        /** Subtotal range trigger */\n        SUBTOTAL_RANGE = \"SUBTOTAL_RANGE\",\n        /** Item quantity range trigger */\n        ITEM_QUANTITY_RANGE = \"ITEM_QUANTITY_RANGE\",\n        /** Custom trigger, see Custom Triggers SPI for more details */\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;\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;\n    }\n    interface Discounts {\n        /** Discounts. */\n        values?: Discount$2[];\n    }\n    interface Discount$2 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$1;\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[];\n    }\n    enum DiscountType$1 {\n        UNDEFINED = \"UNDEFINED\",\n        /** Percentage discount */\n        PERCENTAGE = \"PERCENTAGE\",\n        /** Fixed amount discount */\n        FIXED_AMOUNT = \"FIXED_AMOUNT\",\n        /** Fixed price discount */\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[];\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[];\n    }\n    enum Status {\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    /** 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$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 CreateDiscountRuleRequest {\n        /** Discount rule info. */\n        discountRule: DiscountRule$1;\n    }\n    interface CreateDiscountRuleResponse {\n        /** Discount rule. */\n        discountRule?: DiscountRule$1;\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$1;\n    }\n    interface UpdateDiscountRuleRequest {\n        /** Discount rule info. */\n        discountRule: DiscountRule$1;\n    }\n    interface UpdateDiscountRuleResponse {\n        /** Updated discount rule. */\n        discountRule?: DiscountRule$1;\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$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    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 QueryDiscountRulesResponse {\n        /** List of discount rules. */\n        discountRules?: DiscountRule$1[];\n        /** Details on the paged set of results returned. */\n        pagingMetadata?: 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 GetAppliedDiscountsRequest {\n        /** Line items for which to check for discount rules. */\n        lineItems?: LineItem$2[];\n        purchaseFlowId?: string | null;\n    }\n    interface LineItem$2 {\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$1;\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$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 [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 GetAppliedDiscountsResponse {\n        /** All eligible discounts. */\n        appliedDiscounts?: AppliedDiscount$1[];\n    }\n    interface AppliedDiscount$1 {\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$1;\n        /** Total amount reduced from all discounted line items. */\n        amount?: MultiCurrencyPrice;\n        /** Discount rule type. */\n        discountRuleType?: DiscountType$1;\n    }\n    interface DiscountRuleName$1 {\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 {\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$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    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    interface EntityDeletedEvent$5 {\n        /** Entity that was deleted */\n        deletedEntityAsJson?: string | null;\n    }\n    interface ActionEvent$5 {\n        bodyAsJson?: string;\n    }\n    interface Empty$3 {\n    }\n    interface DiscountRuleUsageLimitReached {\n        /** Discount Rule */\n        rule?: DiscountRule$1;\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 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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Discount rule.\n     */\n    function createDiscountRule(discountRule: DiscountRule$1): Promise<DiscountRule$1>;\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Read eCommerce - all read permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n     * @permissionScope Read Stores - all read permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns The requested discount rule.\n     */\n    function getDiscountRule(discountRuleId: string): Promise<DiscountRule$1>;\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Updated discount rule.\n     */\n    function updateDiscountRule(_id: string | null, discountRule: UpdateDiscountRule, options?: UpdateDiscountRuleOptions): Promise<DiscountRule$1>;\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;\n        /**\n         * Date and time the discount rule was last updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\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         * Currently, a discount rule can apply only 1 discount.\n         */\n        discounts?: Discounts;\n        /**\n         * Discount rule status.\n         * @readonly\n         */\n        status?: Status;\n        /**\n         * Number of times the discount rule was used.\n         * @readonly\n         */\n        usageCount?: number;\n    }\n    interface UpdateDiscountRuleOptions {\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @applicableIdentity APP\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Read eCommerce - all read permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n     * @permissionScope Read Stores - all read permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function queryDiscountRules(): DiscountRulesQueryBuilder;\n    interface QueryCursorResult$1 {\n        cursors: Cursors$1;\n        hasNext: () => boolean;\n        hasPrev: () => boolean;\n        length: number;\n        pageSize: number;\n    }\n    interface DiscountRulesQueryResult extends QueryCursorResult$1 {\n        items: DiscountRule$1[];\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    interface GetAppliedDiscountsOptions {\n        /** Line items for which to check for discount rules. */\n        lineItems?: LineItem$2[];\n        purchaseFlowId?: string | null;\n    }\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_DiscountTrigger = DiscountTrigger;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_DiscountTriggerTriggerOneOf = DiscountTriggerTriggerOneOf;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_Scope = Scope;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_ScopeScopeItemsOneOf = ScopeScopeItemsOneOf;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_ScopeType = ScopeType;\n    const ecomDiscountsV1DiscountRuleDiscountRules_universal_d_ScopeType: typeof ScopeType;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_CatalogItemFilter = CatalogItemFilter;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_CustomFilter = CustomFilter;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_And = And;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_Or = Or;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_Custom = Custom;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_SubtotalRange = SubtotalRange;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_ItemQuantityRange = ItemQuantityRange;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_TriggerType = TriggerType;\n    const ecomDiscountsV1DiscountRuleDiscountRules_universal_d_TriggerType: typeof TriggerType;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_ActiveTimeInfo = ActiveTimeInfo;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_Discounts = Discounts;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_DiscountDiscountOneOf = DiscountDiscountOneOf;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_Type = Type;\n    const ecomDiscountsV1DiscountRuleDiscountRules_universal_d_Type: typeof Type;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_SpecificItemsInfo = SpecificItemsInfo;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_BuyXGetYInfo = BuyXGetYInfo;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_CustomerBuy = CustomerBuy;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_CustomerBuyConditionOneOf = CustomerBuyConditionOneOf;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_CustomerGet = CustomerGet;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_Status = Status;\n    const ecomDiscountsV1DiscountRuleDiscountRules_universal_d_Status: typeof Status;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_DiscountSettings = DiscountSettings;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_AppliedSubjectType = AppliedSubjectType;\n    const ecomDiscountsV1DiscountRuleDiscountRules_universal_d_AppliedSubjectType: typeof AppliedSubjectType;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_CreateDiscountRuleRequest = CreateDiscountRuleRequest;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_CreateDiscountRuleResponse = CreateDiscountRuleResponse;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_GetDiscountRuleRequest = GetDiscountRuleRequest;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_GetDiscountRuleResponse = GetDiscountRuleResponse;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_UpdateDiscountRuleRequest = UpdateDiscountRuleRequest;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_UpdateDiscountRuleResponse = UpdateDiscountRuleResponse;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_DeleteDiscountRuleRequest = DeleteDiscountRuleRequest;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_DeleteDiscountRuleResponse = DeleteDiscountRuleResponse;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_QueryDiscountRulesRequest = QueryDiscountRulesRequest;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_QueryDiscountRulesResponse = QueryDiscountRulesResponse;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_GetAppliedDiscountsRequest = GetAppliedDiscountsRequest;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_GetAppliedDiscountsResponse = GetAppliedDiscountsResponse;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_AppliedDiscountRule = AppliedDiscountRule;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_MultiCurrencyPrice = MultiCurrencyPrice;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_DiscountRuleUsageLimitReached = DiscountRuleUsageLimitReached;\n    const ecomDiscountsV1DiscountRuleDiscountRules_universal_d_createDiscountRule: typeof createDiscountRule;\n    const ecomDiscountsV1DiscountRuleDiscountRules_universal_d_getDiscountRule: typeof getDiscountRule;\n    const ecomDiscountsV1DiscountRuleDiscountRules_universal_d_updateDiscountRule: typeof updateDiscountRule;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_UpdateDiscountRule = UpdateDiscountRule;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_UpdateDiscountRuleOptions = UpdateDiscountRuleOptions;\n    const ecomDiscountsV1DiscountRuleDiscountRules_universal_d_deleteDiscountRule: typeof deleteDiscountRule;\n    const ecomDiscountsV1DiscountRuleDiscountRules_universal_d_queryDiscountRules: typeof queryDiscountRules;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_DiscountRulesQueryResult = DiscountRulesQueryResult;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_DiscountRulesQueryBuilder = DiscountRulesQueryBuilder;\n    type ecomDiscountsV1DiscountRuleDiscountRules_universal_d_GetAppliedDiscountsOptions = GetAppliedDiscountsOptions;\n    namespace ecomDiscountsV1DiscountRuleDiscountRules_universal_d {\n        export { DiscountRule$1 as DiscountRule, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_DiscountTrigger as DiscountTrigger, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_DiscountTriggerTriggerOneOf as DiscountTriggerTriggerOneOf, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_Scope as Scope, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_ScopeScopeItemsOneOf as ScopeScopeItemsOneOf, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_ScopeType as ScopeType, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_CatalogItemFilter as CatalogItemFilter, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_CustomFilter as CustomFilter, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_And as And, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_Or as Or, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_Custom as Custom, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_SubtotalRange as SubtotalRange, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_ItemQuantityRange as ItemQuantityRange, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_TriggerType as TriggerType, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_ActiveTimeInfo as ActiveTimeInfo, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_Discounts as Discounts, Discount$2 as Discount, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_DiscountDiscountOneOf as DiscountDiscountOneOf, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_Type as Type, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_SpecificItemsInfo as SpecificItemsInfo, DiscountType$1 as DiscountType, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_BuyXGetYInfo as BuyXGetYInfo, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_CustomerBuy as CustomerBuy, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_CustomerBuyConditionOneOf as CustomerBuyConditionOneOf, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_CustomerGet as CustomerGet, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_Status as Status, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_DiscountSettings as DiscountSettings, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_AppliedSubjectType as AppliedSubjectType, ExtendedFields$1 as ExtendedFields, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_CreateDiscountRuleRequest as CreateDiscountRuleRequest, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_CreateDiscountRuleResponse as CreateDiscountRuleResponse, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_GetDiscountRuleRequest as GetDiscountRuleRequest, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_GetDiscountRuleResponse as GetDiscountRuleResponse, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_UpdateDiscountRuleRequest as UpdateDiscountRuleRequest, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_UpdateDiscountRuleResponse as UpdateDiscountRuleResponse, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_DeleteDiscountRuleRequest as DeleteDiscountRuleRequest, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_DeleteDiscountRuleResponse as DeleteDiscountRuleResponse, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_QueryDiscountRulesRequest as QueryDiscountRulesRequest, PlatformQuery$1 as PlatformQuery, PlatformQueryPagingMethodOneOf$1 as PlatformQueryPagingMethodOneOf, Sorting$1 as Sorting, SortOrder$1 as SortOrder, PlatformPaging$1 as PlatformPaging, CursorPaging$1 as CursorPaging, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_QueryDiscountRulesResponse as QueryDiscountRulesResponse, PlatformPagingMetadata$1 as PlatformPagingMetadata, Cursors$1 as Cursors, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_GetAppliedDiscountsRequest as GetAppliedDiscountsRequest, LineItem$2 as LineItem, CatalogReference$1 as CatalogReference, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_GetAppliedDiscountsResponse as GetAppliedDiscountsResponse, AppliedDiscount$1 as AppliedDiscount, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_AppliedDiscountRule as AppliedDiscountRule, DiscountRuleName$1 as DiscountRuleName, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_MultiCurrencyPrice as MultiCurrencyPrice, DomainEvent$5 as DomainEvent, DomainEventBodyOneOf$5 as DomainEventBodyOneOf, EntityCreatedEvent$5 as EntityCreatedEvent, EntityUpdatedEvent$5 as EntityUpdatedEvent, EntityDeletedEvent$5 as EntityDeletedEvent, ActionEvent$5 as ActionEvent, Empty$3 as Empty, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_DiscountRuleUsageLimitReached as DiscountRuleUsageLimitReached, MessageEnvelope$5 as MessageEnvelope, IdentificationData$5 as IdentificationData, IdentificationDataIdOneOf$5 as IdentificationDataIdOneOf, WebhookIdentityType$5 as WebhookIdentityType, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_createDiscountRule as createDiscountRule, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_getDiscountRule as getDiscountRule, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_updateDiscountRule as updateDiscountRule, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_UpdateDiscountRule as UpdateDiscountRule, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_UpdateDiscountRuleOptions as UpdateDiscountRuleOptions, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_deleteDiscountRule as deleteDiscountRule, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_queryDiscountRules as queryDiscountRules, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_DiscountRulesQueryResult as DiscountRulesQueryResult, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_DiscountRulesQueryBuilder as DiscountRulesQueryBuilder, ecomDiscountsV1DiscountRuleDiscountRules_universal_d_GetAppliedDiscountsOptions as GetAppliedDiscountsOptions, };\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        /** 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$2;\n    }\n    interface BulkInvoiceResult$1 {\n        itemMetadata?: ItemMetadata$2;\n        item?: InvoiceForOrder$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 InvoiceForOrder$1 {\n        /** Order ID. */\n        orderId?: string;\n        /** Invoice ID. */\n        invoiceId?: string;\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 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$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    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    interface EntityDeletedEvent$4 {\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$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 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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Read eCommerce - all read permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-STORES.READ-ORDERS\n     * @permissionScope Read Stores - all read permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     */\n    function listInvoicesForMultipleOrders(orderIds: string[]): Promise<ListInvoicesForMultipleOrdersResponse$1>;\n    type ecomOrdersV1InvoiceOrderInvoices_universal_d_Invoice = Invoice;\n    const ecomOrdersV1InvoiceOrderInvoices_universal_d_listInvoicesForMultipleOrders: typeof listInvoicesForMultipleOrders;\n    namespace ecomOrdersV1InvoiceOrderInvoices_universal_d {\n        export { ecomOrdersV1InvoiceOrderInvoices_universal_d_Invoice as Invoice, ListInvoicesForSingleOrderRequest$1 as ListInvoicesForSingleOrderRequest, ListInvoicesForSingleOrderResponse$1 as ListInvoicesForSingleOrderResponse, ListInvoicesForMultipleOrdersRequest$1 as ListInvoicesForMultipleOrdersRequest, ListInvoicesForMultipleOrdersResponse$1 as ListInvoicesForMultipleOrdersResponse, InvoicesForOrder$1 as InvoicesForOrder, GenerateInvoiceRequest$1 as GenerateInvoiceRequest, GenerateInvoiceResponse$1 as GenerateInvoiceResponse, BulkGenerateInvoicesRequest$1 as BulkGenerateInvoicesRequest, BulkGenerateInvoicesResponse$1 as BulkGenerateInvoicesResponse, BulkInvoiceResult$1 as BulkInvoiceResult, ItemMetadata$2 as ItemMetadata, ApplicationError$2 as ApplicationError, InvoiceForOrder$1 as InvoiceForOrder, BulkActionMetadata$2 as BulkActionMetadata, AddInvoiceToOrderRequest$1 as AddInvoiceToOrderRequest, AddInvoiceToOrderResponse$1 as AddInvoiceToOrderResponse, DomainEvent$4 as DomainEvent, DomainEventBodyOneOf$4 as DomainEventBodyOneOf, EntityCreatedEvent$4 as EntityCreatedEvent, EntityUpdatedEvent$4 as EntityUpdatedEvent, EntityDeletedEvent$4 as EntityDeletedEvent, ActionEvent$4 as ActionEvent, Empty$2 as Empty, MessageEnvelope$4 as MessageEnvelope, IdentificationData$4 as IdentificationData, IdentificationDataIdOneOf$4 as IdentificationDataIdOneOf, WebhookIdentityType$4 as WebhookIdentityType, ecomOrdersV1InvoiceOrderInvoices_universal_d_listInvoicesForMultipleOrders as listInvoicesForMultipleOrders, };\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;\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;\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$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        /** 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?: AddressWithContact;\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        /**\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;\n        /** Tax information. */\n        taxInfo?: OrderTaxInfo;\n        /** Applied discounts. */\n        appliedDiscounts?: AppliedDiscount[];\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         * Balance summary.\n         * @readonly\n         */\n        balanceSummary?: BalanceSummary;\n        /** Additional fees applied to the order. */\n        additionalFees?: AdditionalFee[];\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 Wix Dev Center 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?: AddressWithContact;\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. */\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$1;\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         *\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        /**\n         * Number of items that were refunded.\n         * @readonly\n         */\n        refundQuantity?: number | null;\n        /**\n         * Number of items restocked.\n         * @readonly\n         */\n        restockQuantity?: number | null;\n        /** Line item price after line item discounts for display purposes. */\n        price?: Price$1;\n        /**\n         * Line item price before line item discounts for display purposes. Defaults to `price` when not provided.\n         * @readonly\n         */\n        priceBeforeDiscounts?: Price$1;\n        /**\n         * Total price after discounts, and before tax.\n         * @readonly\n         */\n        totalPriceBeforeTax?: Price$1;\n        /**\n         * Total price after all discounts and tax.\n         * @readonly\n         */\n        totalPriceAfterTax?: Price$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 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$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$1;\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 [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.\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$1 {\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        /** Description line name. */\n        name?: DescriptionLineName;\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    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        UNRECOGNISED = \"UNRECOGNISED\",\n        PLAIN_TEXT = \"PLAIN_TEXT\",\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 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 the 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 the checkout. 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$1;\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$1;\n    }\n    interface LineItemTaxInfo {\n        /** Calculated tax, based on `taxable_amount` and `tax_rate`. */\n        taxAmount?: Price$1;\n        /** Amount for which tax is calculated. */\n        taxableAmount?: Price$1;\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$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        /** Type of jurisdiction that taxes were calculated for. */\n        jurisdictionType?: JurisdictionType;\n        /** Non-taxable amount of the line item price. */\n        nonTaxableAmount?: Price$1;\n        /** Taxable amount of the line item price. */\n        taxableAmount?: Price$1;\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$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;\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$1;\n    }\n    interface SubscriptionSettings$1 {\n        /** Frequency of recurring payment. */\n        frequency?: SubscriptionFrequency$1;\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    /** 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 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    /** 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    enum FulfillmentStatus$1 {\n        /** none of the order items are fulfilled or order was manually marked as unfulfilled */\n        NOT_FULFILLED = \"NOT_FULFILLED\",\n        /**\n         * All of the order items are fulfilled or 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$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 PriceSummary {\n        /** Subtotal of all the line items, before discounts and before tax. */\n        subtotal?: Price$1;\n        /** Total shipping price, before discounts and before tax. */\n        shipping?: Price$1;\n        /** Total tax on this order. */\n        tax?: Price$1;\n        /** Total calculated discount value. */\n        discount?: Price$1;\n        /** Order’s total price after discounts and tax. */\n        total?: Price$1;\n        /** Total price of additional fees before tax. */\n        totalAdditionalFees?: Price$1;\n    }\n    /** Billing Info and shipping details */\n    interface AddressWithContact {\n        /** Address. */\n        address?: Address$1;\n        /** Contact details. */\n        contactDetails?: FullAddressContactDetails;\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;\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    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$1;\n    }\n    interface VatId$1 {\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$1;\n    }\n    /** tax info types */\n    enum VatType$1 {\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?: AddressWithContact;\n        /** Pickup details. */\n        pickupDetails?: PickupDetails$1;\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;\n        /** Expected delivery time. */\n        deliveryTimeSlot?: DeliveryTimeSlot;\n    }\n    /** @oneof */\n    interface DeliveryLogisticsAddressOneOf {\n        /** Shipping address and contact details. */\n        shippingDestination?: AddressWithContact;\n        /** Pickup details. */\n        pickupDetails?: PickupDetails$1;\n    }\n    interface PickupDetails$1 {\n        /** Pickup address. */\n        address?: PickupAddress$1;\n        /** Pickup method */\n        pickupMethod?: PickupMethod;\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;\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    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;\n        /** Delivery slot ending time. */\n        to?: Date;\n    }\n    interface ShippingPrice {\n        /** Shipping price for display purposes. */\n        price?: Price$1;\n        /**\n         * Total price of shipping after discounts (when relevant), and before tax.\n         * @readonly\n         */\n        totalPriceBeforeTax?: Price$1;\n        /**\n         * Shipping price after all discounts (if any exist), and after tax.\n         * @readonly\n         */\n        totalPriceAfterTax?: Price$1;\n        /** Tax details. */\n        taxDetails?: ItemTaxFullDetails;\n        /**\n         * Shipping discount before tax.\n         * @readonly\n         */\n        discount?: Price$1;\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        INITIALIZED = \"INITIALIZED\",\n        APPROVED = \"APPROVED\",\n        CANCELED = \"CANCELED\"\n    }\n    interface TaxSummary {\n        /**\n         * Total tax.\n         * @readonly\n         */\n        totalTax?: Price$1;\n    }\n    interface OrderTaxInfo {\n        /** Calculated tax, added from line items. */\n        totalTax?: Price$1;\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    /**\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$1;\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    /** @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$1;\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$1;\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$1;\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$1;\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         * 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;\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    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$1;\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 = \"QUANTITY_INCREASED\",\n        QUANTITY_DECREASED = \"QUANTITY_DECREASED\"\n    }\n    interface LineItemPriceChange {\n        /** Item price before update. */\n        originalPrice?: Price$1;\n        /** Item price after update. */\n        newPrice?: Price$1;\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$1;\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$1;\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$1;\n    }\n    interface TotalPriceChange {\n        /** Order’s total price after discounts and tax. Before update */\n        originalTotal?: Price$1;\n        /** Order’s total price after discounts and tax. After update */\n        newTotal?: Price$1;\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$1;\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$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 AuthorizedPaymentCaptured {\n        /** Payment ID of payment associated with this activity */\n        paymentId?: string;\n        /** Payment amount */\n        amount?: Price$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 AuthorizedPaymentVoided {\n        /** Payment ID of payment associated with this activity */\n        paymentId?: string;\n        /** Payment amount */\n        amount?: Price$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    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    }\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 = \"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 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$1;\n        /**\n         * Sum of all successfully refunded payments.\n         * @readonly\n         */\n        refunded?: Price$1;\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$1;\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$1;\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    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 TriggerReindexOrderRequest {\n        metasiteId?: string;\n        orderId?: string;\n    }\n    interface SnapshotMessage$1 {\n        _id?: string;\n        opType?: number;\n    }\n    /** Triggered when a payment is updated. */\n    interface PaymentsUpdated$1 {\n        /** Updated order transactions. */\n        orderTransactions?: OrderTransactions$1;\n        /** List of IDs of the updated payments. */\n        paymentIds?: string[];\n        /** List of IDs of the updated refunds. */\n        refundIds?: string[];\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         * 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;\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;\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$1 {\n        /** Regular payment details. */\n        regularPaymentDetails?: RegularPaymentDetails$1;\n        /** Gift card payment details. */\n        giftcardPaymentDetails?: GiftCardPaymentDetails$1;\n    }\n    interface RegularPaymentDetails$1 extends RegularPaymentDetailsPaymentMethodDetailsOneOf {\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    }\n    /** @oneof */\n    interface RegularPaymentDetailsPaymentMethodDetailsOneOf {\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 {\n    }\n    interface AuthorizationDetails {\n    }\n    interface AuthorizationCapture {\n        /**\n         * Capture ID.\n         * @readonly\n         */\n        _id?: string | null;\n    }\n    enum AuthorizationCaptureStatus {\n        /** Whether capture operation still in progress */\n        PENDING = \"PENDING\",\n        /** The capture operation was succeeded */\n        SUCCEEDED = \"SUCCEEDED\",\n        /** The capture operation was failed */\n        FAILED = \"FAILED\"\n    }\n    interface AuthorizationActionFailureDetails {\n    }\n    interface AuthorizationVoid {\n    }\n    enum AuthorizationVoidStatus {\n        /** Whether void operation still in progress */\n        PENDING = \"PENDING\",\n        /** The void operation was succeeded */\n        SUCCEEDED = \"SUCCEEDED\",\n        /** The void operation was failed */\n        FAILED = \"FAILED\"\n    }\n    /**\n     * Reason the authorization was voided.\n     *\n     * + `MANUAL`: Authorization was voided by user.\n     * + `SCHEDULED`: Authorization passed execution date.\n     */\n    enum Reason {\n        UNKNOWN_REASON = \"UNKNOWN_REASON\",\n        MANUAL = \"MANUAL\",\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;\n    }\n    enum ActionType {\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        /** 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    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$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$1 {\n        /** CHARGED - Payment was charged */\n        CHARGED = \"CHARGED\",\n        /** CHARGE_FAILED - The attempt to charge that payment have failed, for example due to lack of credits */\n        CHARGE_FAILED = \"CHARGE_FAILED\"\n    }\n    interface MembershipName$1 {\n        /** The name of this membership */\n        original?: string;\n        /** Optional - Translated name of this membership. 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        /** 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        _createdDate?: Date;\n    }\n    interface RefundTransaction$1 {\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$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    enum RefundStatus$1 {\n        PENDING = \"PENDING\",\n        SUCCEEDED = \"SUCCEEDED\",\n        FAILED = \"FAILED\"\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    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 LineItemRefund {\n    }\n    interface AdditionalFeeRefund {\n    }\n    interface ShippingRefund {\n    }\n    interface AggregatedRefundSummary {\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;\n        /**\n         * Date and time when meta site was updated for the last time.\n         * @readonly\n         */\n        dateUpdated?: Date;\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    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;\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        /** 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;\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 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 TestUrlAdditionalBindingsRequest {\n    }\n    interface TestUrlAdditionalBindingsResponse {\n        responseString?: 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;\n        /**\n         * Whether the event was triggered as a result of a privacy regulation application\n         * (for example, GDPR).\n         */\n        triggeredByAnonymizeRequest?: boolean | null;\n        /** If present, indicates the action that triggered the event. */\n        originatedFrom?: string | null;\n        /**\n         * A sequence number defining the order of updates to the underlying entity.\n         * For example, given that some entity was updated at 16:00 and than again at 16:01,\n         * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n         * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n         * To do so, you will need to persist this number on your end, and compare the sequence number from the\n         * message against the one you have 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        /** 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$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    interface EntityDeletedEvent$3 {\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 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    }\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$1 {\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$1;\n    }\n    interface SendCancelRefundEmailResponse {\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$1;\n        /** Refund business details */\n        details?: RefundDetails$1;\n        /** Personal note added to the email (optional) */\n        customMessage?: 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$1;\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$1;\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    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 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$1;\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    }\n    interface RecordManuallyCollectedPaymentRequest {\n        /** Order ID. */\n        orderId: string;\n        /** Amount to be recorded as approved manual payment for given order */\n        amount: Price$1;\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    /** 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 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$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 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    }\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    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$1;\n        /** Additional data about this membership */\n        membershipAdditionalData?: Record<string, any> | null;\n        /** Catalog and item reference info. */\n        catalogReference?: CatalogReference;\n        /** Properties of the service. When relevant, contains information such as date and number of participants. */\n        serviceProperties?: ServiceProperties;\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 {\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;\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$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    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        /** 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    /** Triggered when a refund is created. */\n    interface RefundCreated$1 {\n        /** Updated order transactions. */\n        orderTransactions?: OrderTransactions$1;\n        /** ID of the created refund. */\n        refundId?: string;\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        /** Refunded line items and quantities that are part of the created refund. */\n        refundItems?: RefundItem$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$1;\n        /** Tax cost of the order */\n        tax?: Price$1;\n        /** Discount given for this order */\n        discount?: Price$1;\n        /** Total cost of the order (without tax) */\n        subtotal?: Price$1;\n        /** Total shipping cost for order */\n        shipping?: Price$1;\n        /** Previous refund given on that order */\n        previouslyRefundedAmount?: Price$1;\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$1;\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$1;\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$1;\n    }\n    interface ChargeSavedPaymentMethodResponse {\n        /** Payment gateway's order ID (e.g Wix Payments) */\n        paymentGatewayOrderId?: 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 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;\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[];\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;\n    }\n    interface SearchOrdersResponse {\n        /** List of orders. */\n        orders?: Order$1[];\n        /** Details on the paged set of results returned. */\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 CreateOrderRequest {\n        /** Order info. */\n        order: Order$1;\n    }\n    interface OrderCreationSettings {\n    }\n    enum OrderApprovalStrategy {\n        DEFAULT = \"DEFAULT\",\n        PAYMENT_RECEIVED = \"PAYMENT_RECEIVED\",\n        PAYMENT_METHOD_SAVED = \"PAYMENT_METHOD_SAVED\"\n    }\n    interface OrderCreateNotifications {\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    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    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?: V1ShippingInformation;\n        /** Remove existing shipping info. */\n        shippingInfoRemoved?: boolean;\n        /** Added/updated/removed order line items. */\n        lineItems?: V1LineItemDelta[];\n        /**\n         * Added/updated/removed discounts.\n         * todo: set (.wix.api.maxSize). need to find it. existing : merchant can have 100 + 1 coupon + ? due to automatic discounts\n         */\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;\n        /**\n         * Updated order price summary. overwrites existing price summary.\n         * balance will be updated automatically.\n         */\n        priceSummary?: PriceSummary;\n    }\n    /** @oneof */\n    interface DraftOrderDiffsShippingUpdateInfoOneOf {\n        /** Shipping info and selected shipping option details. */\n        changedShippingInfo?: V1ShippingInformation;\n        /** Remove existing shipping info. */\n        shippingInfoRemoved?: boolean;\n    }\n    /** @oneof */\n    interface DraftOrderDiffsBuyerUpdateInfoOneOf {\n    }\n    /** @oneof */\n    interface DraftOrderDiffsBillingUpdateInfoOneOf {\n    }\n    /** @oneof */\n    interface DraftOrderDiffsRecipientUpdateInfoOneOf {\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 is empty in the case of a custom line item.\n         */\n        catalogReference?: CatalogReference;\n        /** Line item quantity. */\n        quantity?: number;\n        /** Total discount for this line item's entire quantity. */\n        totalDiscount?: Price$1;\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         *\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$1;\n        /** Line item price before line item discounts for display purposes. Defaults to `price` when not provided. */\n        priceBeforeDiscounts?: Price$1;\n        /** Total price after all discounts and tax. */\n        totalPriceAfterTax?: Price$1;\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;\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$1;\n        /** Total price after all discounts excluding tax. */\n        totalPriceBeforeTax?: Price$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 given item will happen after the 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, 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$1;\n        /** The price description before the change */\n        priceDescriptionBeforeChange?: PriceDescription;\n    }\n    interface AppliedDiscountDelta extends AppliedDiscountDeltaDeltaOneOf {\n        editedDiscount?: AppliedDiscount;\n        discountRemoved?: boolean;\n        /** Discount id. */\n        discountId?: string;\n    }\n    /** @oneof */\n    interface AppliedDiscountDeltaDeltaOneOf {\n        editedDiscount?: AppliedDiscount;\n        discountRemoved?: boolean;\n    }\n    interface AdditionalFeeDelta extends AdditionalFeeDeltaDeltaOneOf {\n        editedAdditionalFee?: AdditionalFee;\n        additionalFeeRemoved?: boolean;\n        /** Additional fee id. */\n        additionalFeeId?: string;\n    }\n    /** @oneof */\n    interface AdditionalFeeDeltaDeltaOneOf {\n        editedAdditionalFee?: AdditionalFee;\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;\n    }\n    interface CommittedDiffs extends CommittedDiffsShippingUpdateInfoOneOf {\n        /** Shipping info and selected shipping option details. */\n        changedShippingInfo?: V1ShippingInformation;\n        /** Remove existing shipping info. */\n        shippingInfoRemoved?: boolean;\n        /** Added/updated/removed order line items. */\n        lineItems?: LineItemDelta[];\n        /**\n         * Added/updated/removed discounts.\n         * todo: set (.wix.api.maxSize). need to find it. existing : merchant can have 100 + 1 coupon + ? due to automatic discounts\n         */\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?: V1ShippingInformation;\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        /** 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        /** 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        /** Contact details. */\n        addressContactDetails?: FullAddressContactDetails;\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    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    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         * 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;\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    /** 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    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    /** 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 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    }\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    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    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;\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    /** @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 Subdivision {\n        /** Short subdivision code. */\n        code?: string;\n        /** Subdivision full name. */\n        name?: string;\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 InvoiceDates {\n        /** use UTC midnight date to set the issue date according to the site time zone */\n        issueDate?: Date;\n        /** use UTC midnight date to set the due date according to the site time zone */\n        dueDate?: Date;\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;\n    }\n    interface LineItems {\n        lineItems?: LineItem$1[];\n    }\n    interface LineItem$1 {\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;\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 {\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        /** Discount as percentage value. */\n        percentage?: BigDecimalWrapper;\n    }\n    /** @oneof */\n    interface DiscountOneDiscountTypeOneOf {\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;\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    interface QueryOrdersForMetasiteOptions {\n        /** paginated internal orders query request */\n        internalQueryOrdersRequest?: InternalQueryOrdersRequest;\n    }\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    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    interface TriggerReindexOptions {\n        orderIds?: string[];\n    }\n    interface BulkSendBuyerPickupConfirmationEmailsOptions {\n        /** IDs of orders to send pickup emails for. */\n        orderIds?: string[];\n    }\n    interface BulkSendBuyerShippingConfirmationEmailsOptions {\n        /** IDs of orders to send pickup emails for. */\n        orderIds?: string[];\n    }\n    interface SendCancelRefundEmailOptions {\n        /** Personal note added to the email (optional) */\n        customMessage?: string | null;\n        /** Refund amount */\n        refundAmount: Price$1;\n    }\n    interface PreviewRefundEmailOptions {\n        /** Refund amount */\n        refundAmount: Price$1;\n        /** Refund business details */\n        details?: RefundDetails$1;\n        /** Personal note added to the email (optional) */\n        customMessage?: string | null;\n    }\n    interface PreviewCancelEmailOptions {\n        /** Personal note added to the email (optional) */\n        customMessage?: string | null;\n    }\n    interface PreviewCancelRefundEmailOptions {\n        /** Personal note added to the email (optional) */\n        customMessage?: string | null;\n        /** Refund amount */\n        refundAmount?: Price$1;\n    }\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    /**\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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function getPaymentCollectabilityStatus(ecomOrderId: string): Promise<GetPaymentCollectabilityStatusResponse>;\n    interface PaymentCollectionCreatePaymentGatewayOrderOptions {\n        /** Information about the user who initiated the payment. */\n        chargedBy?: ChargedBy;\n    }\n    interface ChargeMembershipsOptions {\n        /** List of items to be paid by memberships */\n        membershipCharges?: MembershipChargeItem[];\n    }\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    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     * 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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Read eCommerce - all read permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-STORES.READ-ORDERS\n     * @permissionScope Read Stores - all read permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Fulfilled - The requested order.\n     */\n    function getOrder(_id: string): Promise<Order$1>;\n    interface InternalQueryOrdersOptions {\n        /** Query options. */\n        query?: PlatformQuery;\n    }\n    interface QueryCursorResult {\n        cursors: Cursors;\n        hasNext: () => boolean;\n        hasPrev: () => boolean;\n        length: number;\n        pageSize: number;\n    }\n    interface OrdersQueryResult extends QueryCursorResult {\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\", 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\", 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\", 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\", 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\", 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\", 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\", 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\", 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\", 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\", 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\">) => 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\">) => 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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Read eCommerce - all read permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-STORES.READ-ORDERS\n     * @permissionScope Read Stores - all read permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Newly created order.\n     */\n    function createOrder(order: Order$1, options?: CreateOrderOptions): Promise<Order$1>;\n    interface CreateOrderOptions {\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\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;\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;\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$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        /** 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?: AddressWithContact;\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        /**\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;\n        /** Tax information. */\n        taxInfo?: OrderTaxInfo;\n        /** Applied discounts. */\n        appliedDiscounts?: AppliedDiscount[];\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         * Balance summary.\n         * @readonly\n         */\n        balanceSummary?: BalanceSummary;\n        /** Additional fees applied to the order. */\n        additionalFees?: AdditionalFee[];\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 Wix Dev Center 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?: AddressWithContact;\n    }\n    interface UpdateOrderOptions {\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\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    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    interface BulkArchiveOrdersOptions {\n        /** Whether to return the full updated order entities in the response. */\n        returnFullEntity?: boolean;\n    }\n    interface BulkUnArchiveOrdersOptions {\n        /** Whether to return the full updated order entities in the response. */\n        returnFullEntity?: boolean;\n    }\n    interface UpdateBuyerInfoOptions {\n        /** Buyer info. */\n        buyerInfo?: BuyerInfoUpdate;\n    }\n    interface UpdateBuyerEmailOptions {\n        email?: string | null;\n    }\n    interface UpdateOrderShippingAddressOptions {\n        /** Shipping address and contact details to be updated. */\n        shippingAddress: AddressWithContact;\n    }\n    interface UpdateBillingContactDetailsOptions {\n        /** Contact details. */\n        addressContactDetails?: FullAddressContactDetails;\n    }\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. */\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$1;\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         *\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        /**\n         * Number of items that were refunded.\n         * @readonly\n         */\n        refundQuantity?: number | null;\n        /**\n         * Number of items restocked.\n         * @readonly\n         */\n        restockQuantity?: number | null;\n        /** Line item price after line item discounts for display purposes. */\n        price?: Price$1;\n        /**\n         * Line item price before line item discounts for display purposes. Defaults to `price` when not provided.\n         * @readonly\n         */\n        priceBeforeDiscounts?: Price$1;\n        /**\n         * Total price after discounts, and before tax.\n         * @readonly\n         */\n        totalPriceBeforeTax?: Price$1;\n        /**\n         * Total price after all discounts and tax.\n         * @readonly\n         */\n        totalPriceAfterTax?: Price$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 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$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$1;\n    }\n    interface UpdateOrderLineItemOptions {\n    }\n    interface UpdateActivityIdentifiers {\n        /** Order ID. */\n        _id: string;\n        /** ID of the activity to update. */\n        activityId: string;\n    }\n    interface DeleteActivityIdentifiers {\n        /** Order ID. */\n        _id: string;\n        /** ID of the activity to delete. */\n        activityId: string;\n    }\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\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    interface BulkMarkAsFulfilledOptions {\n        /** Whether to return the full updated order entities in the response. */\n        returnFullEntity?: boolean;\n    }\n    interface BulkMarkAsUnfulfilledOptions {\n        /** Whether to return the full updated order entities in the response. */\n        returnFullEntity?: boolean;\n    }\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    interface BulkUpdateOrderTagsOptions {\n        /** Tags to be added to orders */\n        assignTags?: Tags;\n        /** Tags to be removed from orders */\n        unassignTags?: Tags;\n    }\n    type ecomV1OrderOrders_universal_d_OrderLineItem = OrderLineItem;\n    type ecomV1OrderOrders_universal_d_ProductName = ProductName;\n    type ecomV1OrderOrders_universal_d_CatalogReference = CatalogReference;\n    type ecomV1OrderOrders_universal_d_DescriptionLine = DescriptionLine;\n    type ecomV1OrderOrders_universal_d_DescriptionLineValueOneOf = DescriptionLineValueOneOf;\n    type ecomV1OrderOrders_universal_d_DescriptionLineDescriptionLineValueOneOf = DescriptionLineDescriptionLineValueOneOf;\n    type ecomV1OrderOrders_universal_d_DescriptionLineName = DescriptionLineName;\n    type ecomV1OrderOrders_universal_d_PlainTextValue = PlainTextValue;\n    type ecomV1OrderOrders_universal_d_Color = Color;\n    type ecomV1OrderOrders_universal_d_DescriptionLineType = DescriptionLineType;\n    const ecomV1OrderOrders_universal_d_DescriptionLineType: typeof DescriptionLineType;\n    type ecomV1OrderOrders_universal_d_PhysicalProperties = PhysicalProperties;\n    type ecomV1OrderOrders_universal_d_ItemType = ItemType;\n    type ecomV1OrderOrders_universal_d_ItemTypeItemTypeDataOneOf = ItemTypeItemTypeDataOneOf;\n    type ecomV1OrderOrders_universal_d_ItemTypeItemType = ItemTypeItemType;\n    const ecomV1OrderOrders_universal_d_ItemTypeItemType: typeof ItemTypeItemType;\n    type ecomV1OrderOrders_universal_d_PaymentOptionType = PaymentOptionType;\n    const ecomV1OrderOrders_universal_d_PaymentOptionType: typeof PaymentOptionType;\n    type ecomV1OrderOrders_universal_d_ItemTaxFullDetails = ItemTaxFullDetails;\n    type ecomV1OrderOrders_universal_d_LineItemTaxInfo = LineItemTaxInfo;\n    type ecomV1OrderOrders_universal_d_LineItemTaxBreakdown = LineItemTaxBreakdown;\n    type ecomV1OrderOrders_universal_d_JurisdictionType = JurisdictionType;\n    const ecomV1OrderOrders_universal_d_JurisdictionType: typeof JurisdictionType;\n    type ecomV1OrderOrders_universal_d_PriceDescription = PriceDescription;\n    type ecomV1OrderOrders_universal_d_LocationAndQuantity = LocationAndQuantity;\n    type ecomV1OrderOrders_universal_d_BuyerInfoIdOneOf = BuyerInfoIdOneOf;\n    type ecomV1OrderOrders_universal_d_PriceSummary = PriceSummary;\n    type ecomV1OrderOrders_universal_d_AddressWithContact = AddressWithContact;\n    type ecomV1OrderOrders_universal_d_StreetAddress = StreetAddress;\n    type ecomV1OrderOrders_universal_d_AddressLocation = AddressLocation;\n    type ecomV1OrderOrders_universal_d_FullAddressContactDetails = FullAddressContactDetails;\n    type ecomV1OrderOrders_universal_d_V1ShippingInformation = V1ShippingInformation;\n    type ecomV1OrderOrders_universal_d_DeliveryLogistics = DeliveryLogistics;\n    type ecomV1OrderOrders_universal_d_DeliveryLogisticsAddressOneOf = DeliveryLogisticsAddressOneOf;\n    type ecomV1OrderOrders_universal_d_PickupMethod = PickupMethod;\n    const ecomV1OrderOrders_universal_d_PickupMethod: typeof PickupMethod;\n    type ecomV1OrderOrders_universal_d_DeliveryTimeSlot = DeliveryTimeSlot;\n    type ecomV1OrderOrders_universal_d_ShippingPrice = ShippingPrice;\n    type ecomV1OrderOrders_universal_d_ShippingRegion = ShippingRegion;\n    type ecomV1OrderOrders_universal_d_OrderStatus = OrderStatus;\n    const ecomV1OrderOrders_universal_d_OrderStatus: typeof OrderStatus;\n    type ecomV1OrderOrders_universal_d_TaxSummary = TaxSummary;\n    type ecomV1OrderOrders_universal_d_OrderTaxInfo = OrderTaxInfo;\n    type ecomV1OrderOrders_universal_d_OrderTaxBreakdown = OrderTaxBreakdown;\n    type ecomV1OrderOrders_universal_d_AppliedDiscount = AppliedDiscount;\n    type ecomV1OrderOrders_universal_d_AppliedDiscountDiscountSourceOneOf = AppliedDiscountDiscountSourceOneOf;\n    type ecomV1OrderOrders_universal_d_DiscountType = DiscountType;\n    const ecomV1OrderOrders_universal_d_DiscountType: typeof DiscountType;\n    type ecomV1OrderOrders_universal_d_Coupon = Coupon;\n    type ecomV1OrderOrders_universal_d_MerchantDiscount = MerchantDiscount;\n    type ecomV1OrderOrders_universal_d_MerchantDiscountMerchantDiscountReasonOneOf = MerchantDiscountMerchantDiscountReasonOneOf;\n    type ecomV1OrderOrders_universal_d_DiscountReason = DiscountReason;\n    const ecomV1OrderOrders_universal_d_DiscountReason: typeof DiscountReason;\n    type ecomV1OrderOrders_universal_d_DiscountRule = DiscountRule;\n    type ecomV1OrderOrders_universal_d_DiscountRuleName = DiscountRuleName;\n    type ecomV1OrderOrders_universal_d_LineItemDiscount = LineItemDiscount;\n    type ecomV1OrderOrders_universal_d_ActivityContentOneOf = ActivityContentOneOf;\n    type ecomV1OrderOrders_universal_d_CustomActivity = CustomActivity;\n    type ecomV1OrderOrders_universal_d_MerchantComment = MerchantComment;\n    type ecomV1OrderOrders_universal_d_OrderCreatedFromExchange = OrderCreatedFromExchange;\n    type ecomV1OrderOrders_universal_d_NewExchangeOrderCreated = NewExchangeOrderCreated;\n    type ecomV1OrderOrders_universal_d_LineItemExchangeData = LineItemExchangeData;\n    type ecomV1OrderOrders_universal_d_DraftOrderChangesApplied = DraftOrderChangesApplied;\n    type ecomV1OrderOrders_universal_d_OrderChange = OrderChange;\n    type ecomV1OrderOrders_universal_d_OrderChangeValueOneOf = OrderChangeValueOneOf;\n    type ecomV1OrderOrders_universal_d_LineItemChanges = LineItemChanges;\n    type ecomV1OrderOrders_universal_d_LineItemQuantityChange = LineItemQuantityChange;\n    type ecomV1OrderOrders_universal_d_LineItemQuantityChangeType = LineItemQuantityChangeType;\n    const ecomV1OrderOrders_universal_d_LineItemQuantityChangeType: typeof LineItemQuantityChangeType;\n    type ecomV1OrderOrders_universal_d_LineItemPriceChange = LineItemPriceChange;\n    type ecomV1OrderOrders_universal_d_ManagedLineItem = ManagedLineItem;\n    type ecomV1OrderOrders_universal_d_ManagedDiscount = ManagedDiscount;\n    type ecomV1OrderOrders_universal_d_TranslatedValue = TranslatedValue;\n    type ecomV1OrderOrders_universal_d_LineItemAmount = LineItemAmount;\n    type ecomV1OrderOrders_universal_d_ManagedAdditionalFee = ManagedAdditionalFee;\n    type ecomV1OrderOrders_universal_d_TotalPriceChange = TotalPriceChange;\n    type ecomV1OrderOrders_universal_d_ShippingInformationChange = ShippingInformationChange;\n    type ecomV1OrderOrders_universal_d_ShippingInformation = ShippingInformation;\n    type ecomV1OrderOrders_universal_d_SavedPaymentMethod = SavedPaymentMethod;\n    type ecomV1OrderOrders_universal_d_AuthorizedPaymentCreated = AuthorizedPaymentCreated;\n    type ecomV1OrderOrders_universal_d_AuthorizedPaymentCaptured = AuthorizedPaymentCaptured;\n    type ecomV1OrderOrders_universal_d_AuthorizedPaymentVoided = AuthorizedPaymentVoided;\n    type ecomV1OrderOrders_universal_d_AttributionSource = AttributionSource;\n    const ecomV1OrderOrders_universal_d_AttributionSource: typeof AttributionSource;\n    type ecomV1OrderOrders_universal_d_CreatedBy = CreatedBy;\n    type ecomV1OrderOrders_universal_d_CreatedByStringOneOf = CreatedByStringOneOf;\n    type ecomV1OrderOrders_universal_d_BalanceSummary = BalanceSummary;\n    type ecomV1OrderOrders_universal_d_Balance = Balance;\n    type ecomV1OrderOrders_universal_d_AdditionalFee = AdditionalFee;\n    type ecomV1OrderOrders_universal_d_FulfillmentStatusesAggregate = FulfillmentStatusesAggregate;\n    type ecomV1OrderOrders_universal_d_ExtendedFields = ExtendedFields;\n    type ecomV1OrderOrders_universal_d_Tags = Tags;\n    type ecomV1OrderOrders_universal_d_TagList = TagList;\n    type ecomV1OrderOrders_universal_d_TriggerReindexOrderRequest = TriggerReindexOrderRequest;\n    type ecomV1OrderOrders_universal_d_RegularPaymentDetailsPaymentMethodDetailsOneOf = RegularPaymentDetailsPaymentMethodDetailsOneOf;\n    type ecomV1OrderOrders_universal_d_CreditCardPaymentMethodDetails = CreditCardPaymentMethodDetails;\n    type ecomV1OrderOrders_universal_d_AuthorizationDetails = AuthorizationDetails;\n    type ecomV1OrderOrders_universal_d_AuthorizationCapture = AuthorizationCapture;\n    type ecomV1OrderOrders_universal_d_AuthorizationCaptureStatus = AuthorizationCaptureStatus;\n    const ecomV1OrderOrders_universal_d_AuthorizationCaptureStatus: typeof AuthorizationCaptureStatus;\n    type ecomV1OrderOrders_universal_d_AuthorizationActionFailureDetails = AuthorizationActionFailureDetails;\n    type ecomV1OrderOrders_universal_d_AuthorizationVoid = AuthorizationVoid;\n    type ecomV1OrderOrders_universal_d_AuthorizationVoidStatus = AuthorizationVoidStatus;\n    const ecomV1OrderOrders_universal_d_AuthorizationVoidStatus: typeof AuthorizationVoidStatus;\n    type ecomV1OrderOrders_universal_d_Reason = Reason;\n    const ecomV1OrderOrders_universal_d_Reason: typeof Reason;\n    type ecomV1OrderOrders_universal_d_ScheduledAction = ScheduledAction;\n    type ecomV1OrderOrders_universal_d_ActionType = ActionType;\n    const ecomV1OrderOrders_universal_d_ActionType: typeof ActionType;\n    type ecomV1OrderOrders_universal_d_LineItemRefund = LineItemRefund;\n    type ecomV1OrderOrders_universal_d_AdditionalFeeRefund = AdditionalFeeRefund;\n    type ecomV1OrderOrders_universal_d_ShippingRefund = ShippingRefund;\n    type ecomV1OrderOrders_universal_d_AggregatedRefundSummary = AggregatedRefundSummary;\n    type ecomV1OrderOrders_universal_d_GetMetasiteDataRequest = GetMetasiteDataRequest;\n    type ecomV1OrderOrders_universal_d_GetMetasiteDataResponse = GetMetasiteDataResponse;\n    type ecomV1OrderOrders_universal_d_MetaSite = MetaSite;\n    type ecomV1OrderOrders_universal_d_App = App;\n    type ecomV1OrderOrders_universal_d_State = State;\n    const ecomV1OrderOrders_universal_d_State: typeof State;\n    type ecomV1OrderOrders_universal_d_Namespace = Namespace;\n    const ecomV1OrderOrders_universal_d_Namespace: typeof Namespace;\n    type ecomV1OrderOrders_universal_d_SeoData = SeoData;\n    type ecomV1OrderOrders_universal_d_MetaTag = MetaTag;\n    type ecomV1OrderOrders_universal_d_HtmlApplication = HtmlApplication;\n    type ecomV1OrderOrders_universal_d_ExternalUriMapping = ExternalUriMapping;\n    type ecomV1OrderOrders_universal_d_UserDataResponse = UserDataResponse;\n    type ecomV1OrderOrders_universal_d_QueryOrdersForMetasiteRequest = QueryOrdersForMetasiteRequest;\n    type ecomV1OrderOrders_universal_d_InternalQueryOrdersRequest = InternalQueryOrdersRequest;\n    type ecomV1OrderOrders_universal_d_PlatformQuery = PlatformQuery;\n    type ecomV1OrderOrders_universal_d_PlatformQueryPagingMethodOneOf = PlatformQueryPagingMethodOneOf;\n    type ecomV1OrderOrders_universal_d_Sorting = Sorting;\n    type ecomV1OrderOrders_universal_d_SortOrder = SortOrder;\n    const ecomV1OrderOrders_universal_d_SortOrder: typeof SortOrder;\n    type ecomV1OrderOrders_universal_d_PlatformPaging = PlatformPaging;\n    type ecomV1OrderOrders_universal_d_CursorPaging = CursorPaging;\n    type ecomV1OrderOrders_universal_d_QueryOrdersForMetasiteResponse = QueryOrdersForMetasiteResponse;\n    type ecomV1OrderOrders_universal_d_PlatformPagingMetadata = PlatformPagingMetadata;\n    type ecomV1OrderOrders_universal_d_Cursors = Cursors;\n    type ecomV1OrderOrders_universal_d_GetOrderForMetasiteRequest = GetOrderForMetasiteRequest;\n    type ecomV1OrderOrders_universal_d_GetOrderForMetasiteResponse = GetOrderForMetasiteResponse;\n    type ecomV1OrderOrders_universal_d_ListOrderTransactionsForMetasiteRequest = ListOrderTransactionsForMetasiteRequest;\n    type ecomV1OrderOrders_universal_d_ListOrderTransactionsForMetasiteResponse = ListOrderTransactionsForMetasiteResponse;\n    type ecomV1OrderOrders_universal_d_TestUrlAdditionalBindingsRequest = TestUrlAdditionalBindingsRequest;\n    type ecomV1OrderOrders_universal_d_TestUrlAdditionalBindingsResponse = TestUrlAdditionalBindingsResponse;\n    type ecomV1OrderOrders_universal_d_UpdateInternalDocumentsEvent = UpdateInternalDocumentsEvent;\n    type ecomV1OrderOrders_universal_d_UpdateInternalDocumentsEventOperationOneOf = UpdateInternalDocumentsEventOperationOneOf;\n    type ecomV1OrderOrders_universal_d_InternalDocument = InternalDocument;\n    type ecomV1OrderOrders_universal_d_InternalDocumentUpdateOperation = InternalDocumentUpdateOperation;\n    type ecomV1OrderOrders_universal_d_DeleteByIdsOperation = DeleteByIdsOperation;\n    type ecomV1OrderOrders_universal_d_DeleteByFilterOperation = DeleteByFilterOperation;\n    type ecomV1OrderOrders_universal_d_InternalDocumentUpdateByFilterOperation = InternalDocumentUpdateByFilterOperation;\n    type ecomV1OrderOrders_universal_d_InternalUpdateExistingOperation = InternalUpdateExistingOperation;\n    type ecomV1OrderOrders_universal_d_VersionedDocumentUpdateOperation = VersionedDocumentUpdateOperation;\n    type ecomV1OrderOrders_universal_d_VersioningMode = VersioningMode;\n    const ecomV1OrderOrders_universal_d_VersioningMode: typeof VersioningMode;\n    type ecomV1OrderOrders_universal_d_VersionedDeleteByIdsOperation = VersionedDeleteByIdsOperation;\n    type ecomV1OrderOrders_universal_d_VersionedDocumentId = VersionedDocumentId;\n    type ecomV1OrderOrders_universal_d_TriggerReindexRequest = TriggerReindexRequest;\n    type ecomV1OrderOrders_universal_d_TriggerReindexResponse = TriggerReindexResponse;\n    type ecomV1OrderOrders_universal_d_BatchOfTriggerReindexOrderRequest = BatchOfTriggerReindexOrderRequest;\n    type ecomV1OrderOrders_universal_d_SendBuyerConfirmationEmailRequest = SendBuyerConfirmationEmailRequest;\n    type ecomV1OrderOrders_universal_d_SendBuyerConfirmationEmailResponse = SendBuyerConfirmationEmailResponse;\n    type ecomV1OrderOrders_universal_d_SendBuyerPaymentsReceivedEmailRequest = SendBuyerPaymentsReceivedEmailRequest;\n    type ecomV1OrderOrders_universal_d_SendBuyerPaymentsReceivedEmailResponse = SendBuyerPaymentsReceivedEmailResponse;\n    type ecomV1OrderOrders_universal_d_SendBuyerPickupConfirmationEmailRequest = SendBuyerPickupConfirmationEmailRequest;\n    type ecomV1OrderOrders_universal_d_SendBuyerPickupConfirmationEmailResponse = SendBuyerPickupConfirmationEmailResponse;\n    type ecomV1OrderOrders_universal_d_BulkSendBuyerPickupConfirmationEmailsRequest = BulkSendBuyerPickupConfirmationEmailsRequest;\n    type ecomV1OrderOrders_universal_d_BulkSendBuyerPickupConfirmationEmailsResponse = BulkSendBuyerPickupConfirmationEmailsResponse;\n    type ecomV1OrderOrders_universal_d_SendBuyerShippingConfirmationEmailRequest = SendBuyerShippingConfirmationEmailRequest;\n    type ecomV1OrderOrders_universal_d_SendBuyerShippingConfirmationEmailResponse = SendBuyerShippingConfirmationEmailResponse;\n    type ecomV1OrderOrders_universal_d_BulkSendBuyerShippingConfirmationEmailsRequest = BulkSendBuyerShippingConfirmationEmailsRequest;\n    type ecomV1OrderOrders_universal_d_BulkSendBuyerShippingConfirmationEmailsResponse = BulkSendBuyerShippingConfirmationEmailsResponse;\n    type ecomV1OrderOrders_universal_d_SendMerchantOrderReceivedNotificationRequest = SendMerchantOrderReceivedNotificationRequest;\n    type ecomV1OrderOrders_universal_d_SendMerchantOrderReceivedNotificationResponse = SendMerchantOrderReceivedNotificationResponse;\n    type ecomV1OrderOrders_universal_d_SendCancelRefundEmailRequest = SendCancelRefundEmailRequest;\n    type ecomV1OrderOrders_universal_d_SendCancelRefundEmailResponse = SendCancelRefundEmailResponse;\n    type ecomV1OrderOrders_universal_d_SendMerchantOrderReceivedPushRequest = SendMerchantOrderReceivedPushRequest;\n    type ecomV1OrderOrders_universal_d_SendMerchantOrderReceivedPushResponse = SendMerchantOrderReceivedPushResponse;\n    type ecomV1OrderOrders_universal_d_PreviewEmailByTypeRequest = PreviewEmailByTypeRequest;\n    type ecomV1OrderOrders_universal_d_PreviewEmailType = PreviewEmailType;\n    const ecomV1OrderOrders_universal_d_PreviewEmailType: typeof PreviewEmailType;\n    type ecomV1OrderOrders_universal_d_PreviewEmailByTypeResponse = PreviewEmailByTypeResponse;\n    type ecomV1OrderOrders_universal_d_PreviewRefundEmailRequest = PreviewRefundEmailRequest;\n    type ecomV1OrderOrders_universal_d_PreviewRefundEmailResponse = PreviewRefundEmailResponse;\n    type ecomV1OrderOrders_universal_d_PreviewCancelEmailRequest = PreviewCancelEmailRequest;\n    type ecomV1OrderOrders_universal_d_PreviewCancelEmailResponse = PreviewCancelEmailResponse;\n    type ecomV1OrderOrders_universal_d_PreviewCancelRefundEmailRequest = PreviewCancelRefundEmailRequest;\n    type ecomV1OrderOrders_universal_d_PreviewCancelRefundEmailResponse = PreviewCancelRefundEmailResponse;\n    type ecomV1OrderOrders_universal_d_PreviewBuyerPaymentsReceivedEmailRequest = PreviewBuyerPaymentsReceivedEmailRequest;\n    type ecomV1OrderOrders_universal_d_PreviewBuyerPaymentsReceivedEmailResponse = PreviewBuyerPaymentsReceivedEmailResponse;\n    type ecomV1OrderOrders_universal_d_PreviewBuyerConfirmationEmailRequest = PreviewBuyerConfirmationEmailRequest;\n    type ecomV1OrderOrders_universal_d_PreviewBuyerConfirmationEmailResponse = PreviewBuyerConfirmationEmailResponse;\n    type ecomV1OrderOrders_universal_d_PreviewBuyerPickupConfirmationEmailRequest = PreviewBuyerPickupConfirmationEmailRequest;\n    type ecomV1OrderOrders_universal_d_PreviewBuyerPickupConfirmationEmailResponse = PreviewBuyerPickupConfirmationEmailResponse;\n    type ecomV1OrderOrders_universal_d_PreviewShippingConfirmationEmailRequest = PreviewShippingConfirmationEmailRequest;\n    type ecomV1OrderOrders_universal_d_PreviewShippingConfirmationEmailResponse = PreviewShippingConfirmationEmailResponse;\n    type ecomV1OrderOrders_universal_d_PreviewResendDownloadLinksEmailRequest = PreviewResendDownloadLinksEmailRequest;\n    type ecomV1OrderOrders_universal_d_PreviewResendDownloadLinksEmailResponse = PreviewResendDownloadLinksEmailResponse;\n    type ecomV1OrderOrders_universal_d_PreparePaymentCollectionRequest = PreparePaymentCollectionRequest;\n    type ecomV1OrderOrders_universal_d_RedirectUrls = RedirectUrls;\n    type ecomV1OrderOrders_universal_d_PreparePaymentCollectionResponse = PreparePaymentCollectionResponse;\n    type ecomV1OrderOrders_universal_d_GetPaymentCollectabilityStatusRequest = GetPaymentCollectabilityStatusRequest;\n    type ecomV1OrderOrders_universal_d_GetPaymentCollectabilityStatusResponse = GetPaymentCollectabilityStatusResponse;\n    type ecomV1OrderOrders_universal_d_PaymentCollectabilityStatus = PaymentCollectabilityStatus;\n    const ecomV1OrderOrders_universal_d_PaymentCollectabilityStatus: typeof PaymentCollectabilityStatus;\n    type ecomV1OrderOrders_universal_d_RecordManuallyCollectedPaymentRequest = RecordManuallyCollectedPaymentRequest;\n    type ecomV1OrderOrders_universal_d_RecordManuallyCollectedPaymentResponse = RecordManuallyCollectedPaymentResponse;\n    type ecomV1OrderOrders_universal_d_MarkOrderAsPaidRequest = MarkOrderAsPaidRequest;\n    type ecomV1OrderOrders_universal_d_MarkOrderAsPaidResponse = MarkOrderAsPaidResponse;\n    type ecomV1OrderOrders_universal_d_PaymentStatusUpdated = PaymentStatusUpdated;\n    type ecomV1OrderOrders_universal_d_BulkMarkOrdersAsPaidRequest = BulkMarkOrdersAsPaidRequest;\n    type ecomV1OrderOrders_universal_d_BulkMarkOrdersAsPaidResponse = BulkMarkOrdersAsPaidResponse;\n    type ecomV1OrderOrders_universal_d_BulkOrderResult = BulkOrderResult;\n    type ecomV1OrderOrders_universal_d_CreatePaymentGatewayOrderRequest = CreatePaymentGatewayOrderRequest;\n    type ecomV1OrderOrders_universal_d_ChargedBy = ChargedBy;\n    type ecomV1OrderOrders_universal_d_CreatePaymentGatewayOrderResponse = CreatePaymentGatewayOrderResponse;\n    type ecomV1OrderOrders_universal_d_ChargeMembershipsRequest = ChargeMembershipsRequest;\n    type ecomV1OrderOrders_universal_d_MembershipChargeItem = MembershipChargeItem;\n    type ecomV1OrderOrders_universal_d_ServiceProperties = ServiceProperties;\n    type ecomV1OrderOrders_universal_d_ChargeMembershipsResponse = ChargeMembershipsResponse;\n    type ecomV1OrderOrders_universal_d_VoidAuthorizedPaymentsRequest = VoidAuthorizedPaymentsRequest;\n    type ecomV1OrderOrders_universal_d_VoidAuthorizedPaymentsResponse = VoidAuthorizedPaymentsResponse;\n    type ecomV1OrderOrders_universal_d_CaptureAuthorizedPaymentsRequest = CaptureAuthorizedPaymentsRequest;\n    type ecomV1OrderOrders_universal_d_PaymentCapture = PaymentCapture;\n    type ecomV1OrderOrders_universal_d_CaptureAuthorizedPaymentsResponse = CaptureAuthorizedPaymentsResponse;\n    type ecomV1OrderOrders_universal_d_ChargeSavedPaymentMethodRequest = ChargeSavedPaymentMethodRequest;\n    type ecomV1OrderOrders_universal_d_ChargeSavedPaymentMethodResponse = ChargeSavedPaymentMethodResponse;\n    type ecomV1OrderOrders_universal_d_ContinueSideEffectsFlowInLegacyData = ContinueSideEffectsFlowInLegacyData;\n    type ecomV1OrderOrders_universal_d_OrdersExperiments = OrdersExperiments;\n    type ecomV1OrderOrders_universal_d_GetOrderRequest = GetOrderRequest;\n    type ecomV1OrderOrders_universal_d_GetOrderResponse = GetOrderResponse;\n    type ecomV1OrderOrders_universal_d_InternalQueryOrdersResponse = InternalQueryOrdersResponse;\n    type ecomV1OrderOrders_universal_d_QueryOrderRequest = QueryOrderRequest;\n    type ecomV1OrderOrders_universal_d_QueryOrderResponse = QueryOrderResponse;\n    type ecomV1OrderOrders_universal_d_SearchOrdersRequest = SearchOrdersRequest;\n    type ecomV1OrderOrders_universal_d_CursorSearch = CursorSearch;\n    type ecomV1OrderOrders_universal_d_CursorSearchPagingMethodOneOf = CursorSearchPagingMethodOneOf;\n    type ecomV1OrderOrders_universal_d_SearchOrdersResponse = SearchOrdersResponse;\n    type ecomV1OrderOrders_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n    type ecomV1OrderOrders_universal_d_CreateOrderRequest = CreateOrderRequest;\n    type ecomV1OrderOrders_universal_d_OrderCreationSettings = OrderCreationSettings;\n    type ecomV1OrderOrders_universal_d_OrderApprovalStrategy = OrderApprovalStrategy;\n    const ecomV1OrderOrders_universal_d_OrderApprovalStrategy: typeof OrderApprovalStrategy;\n    type ecomV1OrderOrders_universal_d_OrderCreateNotifications = OrderCreateNotifications;\n    type ecomV1OrderOrders_universal_d_CreateOrderResponse = CreateOrderResponse;\n    type ecomV1OrderOrders_universal_d_UpdateOrderRequest = UpdateOrderRequest;\n    type ecomV1OrderOrders_universal_d_UpdateOrderResponse = UpdateOrderResponse;\n    type ecomV1OrderOrders_universal_d_BulkUpdateOrdersRequest = BulkUpdateOrdersRequest;\n    type ecomV1OrderOrders_universal_d_MaskedOrder = MaskedOrder;\n    type ecomV1OrderOrders_universal_d_BulkUpdateOrdersResponse = BulkUpdateOrdersResponse;\n    type ecomV1OrderOrders_universal_d_CommitDeltasRequest = CommitDeltasRequest;\n    type ecomV1OrderOrders_universal_d_DraftOrderDiffs = DraftOrderDiffs;\n    type ecomV1OrderOrders_universal_d_DraftOrderDiffsShippingUpdateInfoOneOf = DraftOrderDiffsShippingUpdateInfoOneOf;\n    type ecomV1OrderOrders_universal_d_DraftOrderDiffsBuyerUpdateInfoOneOf = DraftOrderDiffsBuyerUpdateInfoOneOf;\n    type ecomV1OrderOrders_universal_d_DraftOrderDiffsBillingUpdateInfoOneOf = DraftOrderDiffsBillingUpdateInfoOneOf;\n    type ecomV1OrderOrders_universal_d_DraftOrderDiffsRecipientUpdateInfoOneOf = DraftOrderDiffsRecipientUpdateInfoOneOf;\n    type ecomV1OrderOrders_universal_d_V1LineItemDelta = V1LineItemDelta;\n    type ecomV1OrderOrders_universal_d_V1LineItemDeltaDeltaOneOf = V1LineItemDeltaDeltaOneOf;\n    type ecomV1OrderOrders_universal_d_OrderLineItemChangedDetails = OrderLineItemChangedDetails;\n    type ecomV1OrderOrders_universal_d_DeltaPaymentOptionType = DeltaPaymentOptionType;\n    const ecomV1OrderOrders_universal_d_DeltaPaymentOptionType: typeof DeltaPaymentOptionType;\n    type ecomV1OrderOrders_universal_d_ItemChangedDetails = ItemChangedDetails;\n    type ecomV1OrderOrders_universal_d_AppliedDiscountDelta = AppliedDiscountDelta;\n    type ecomV1OrderOrders_universal_d_AppliedDiscountDeltaDeltaOneOf = AppliedDiscountDeltaDeltaOneOf;\n    type ecomV1OrderOrders_universal_d_AdditionalFeeDelta = AdditionalFeeDelta;\n    type ecomV1OrderOrders_universal_d_AdditionalFeeDeltaDeltaOneOf = AdditionalFeeDeltaDeltaOneOf;\n    type ecomV1OrderOrders_universal_d_DraftOrderCommitSettings = DraftOrderCommitSettings;\n    type ecomV1OrderOrders_universal_d_InventoryUpdateDetails = InventoryUpdateDetails;\n    type ecomV1OrderOrders_universal_d_InventoryAction = InventoryAction;\n    const ecomV1OrderOrders_universal_d_InventoryAction: typeof InventoryAction;\n    type ecomV1OrderOrders_universal_d_CommitDeltasResponse = CommitDeltasResponse;\n    type ecomV1OrderOrders_universal_d_OrderDeltasCommitted = OrderDeltasCommitted;\n    type ecomV1OrderOrders_universal_d_CommittedDiffs = CommittedDiffs;\n    type ecomV1OrderOrders_universal_d_CommittedDiffsShippingUpdateInfoOneOf = CommittedDiffsShippingUpdateInfoOneOf;\n    type ecomV1OrderOrders_universal_d_LineItemDelta = LineItemDelta;\n    type ecomV1OrderOrders_universal_d_LineItemDeltaDeltaOneOf = LineItemDeltaDeltaOneOf;\n    type ecomV1OrderOrders_universal_d_ArchiveOrderRequest = ArchiveOrderRequest;\n    type ecomV1OrderOrders_universal_d_ArchiveOrderResponse = ArchiveOrderResponse;\n    type ecomV1OrderOrders_universal_d_BulkArchiveOrdersRequest = BulkArchiveOrdersRequest;\n    type ecomV1OrderOrders_universal_d_BulkArchiveOrdersResponse = BulkArchiveOrdersResponse;\n    type ecomV1OrderOrders_universal_d_BulkArchiveOrdersByFilterRequest = BulkArchiveOrdersByFilterRequest;\n    type ecomV1OrderOrders_universal_d_BulkArchiveOrdersByFilterResponse = BulkArchiveOrdersByFilterResponse;\n    type ecomV1OrderOrders_universal_d_UnArchiveOrderRequest = UnArchiveOrderRequest;\n    type ecomV1OrderOrders_universal_d_UnArchiveOrderResponse = UnArchiveOrderResponse;\n    type ecomV1OrderOrders_universal_d_BulkUnArchiveOrdersRequest = BulkUnArchiveOrdersRequest;\n    type ecomV1OrderOrders_universal_d_BulkUnArchiveOrdersResponse = BulkUnArchiveOrdersResponse;\n    type ecomV1OrderOrders_universal_d_BulkUnArchiveOrdersByFilterRequest = BulkUnArchiveOrdersByFilterRequest;\n    type ecomV1OrderOrders_universal_d_BulkUnArchiveOrdersByFilterResponse = BulkUnArchiveOrdersByFilterResponse;\n    type ecomV1OrderOrders_universal_d_UpdateBuyerInfoRequest = UpdateBuyerInfoRequest;\n    type ecomV1OrderOrders_universal_d_BuyerInfoUpdate = BuyerInfoUpdate;\n    type ecomV1OrderOrders_universal_d_UpdateBuyerInfoResponse = UpdateBuyerInfoResponse;\n    type ecomV1OrderOrders_universal_d_UpdateBuyerEmailRequest = UpdateBuyerEmailRequest;\n    type ecomV1OrderOrders_universal_d_UpdateBuyerEmailResponse = UpdateBuyerEmailResponse;\n    type ecomV1OrderOrders_universal_d_UpdateOrderShippingAddressRequest = UpdateOrderShippingAddressRequest;\n    type ecomV1OrderOrders_universal_d_UpdateOrderShippingAddressResponse = UpdateOrderShippingAddressResponse;\n    type ecomV1OrderOrders_universal_d_UpdateBillingContactDetailsRequest = UpdateBillingContactDetailsRequest;\n    type ecomV1OrderOrders_universal_d_UpdateBillingContactDetailsResponse = UpdateBillingContactDetailsResponse;\n    type ecomV1OrderOrders_universal_d_UpdateOrderLineItemRequest = UpdateOrderLineItemRequest;\n    type ecomV1OrderOrders_universal_d_UpdateOrderLineItemResponse = UpdateOrderLineItemResponse;\n    type ecomV1OrderOrders_universal_d_UpdateOrderLineItemsRequest = UpdateOrderLineItemsRequest;\n    type ecomV1OrderOrders_universal_d_MaskedOrderLineItem = MaskedOrderLineItem;\n    type ecomV1OrderOrders_universal_d_UpdateOrderLineItemsResponse = UpdateOrderLineItemsResponse;\n    type ecomV1OrderOrders_universal_d_AddInternalActivityRequest = AddInternalActivityRequest;\n    type ecomV1OrderOrders_universal_d_InternalActivity = InternalActivity;\n    type ecomV1OrderOrders_universal_d_InternalActivityContentOneOf = InternalActivityContentOneOf;\n    type ecomV1OrderOrders_universal_d_OrderPlaced = OrderPlaced;\n    type ecomV1OrderOrders_universal_d_OrderPaid = OrderPaid;\n    type ecomV1OrderOrders_universal_d_OrderFulfilled = OrderFulfilled;\n    type ecomV1OrderOrders_universal_d_OrderNotFulfilled = OrderNotFulfilled;\n    type ecomV1OrderOrders_universal_d_OrderCanceled = OrderCanceled;\n    type ecomV1OrderOrders_universal_d_DownloadLinkSent = DownloadLinkSent;\n    type ecomV1OrderOrders_universal_d_TrackingNumberAdded = TrackingNumberAdded;\n    type ecomV1OrderOrders_universal_d_TrackingNumberEdited = TrackingNumberEdited;\n    type ecomV1OrderOrders_universal_d_TrackingLinkAdded = TrackingLinkAdded;\n    type ecomV1OrderOrders_universal_d_ShippingConfirmationEmailSent = ShippingConfirmationEmailSent;\n    type ecomV1OrderOrders_universal_d_InvoiceAdded = InvoiceAdded;\n    type ecomV1OrderOrders_universal_d_InvoiceSent = InvoiceSent;\n    type ecomV1OrderOrders_universal_d_FulfillerEmailSent = FulfillerEmailSent;\n    type ecomV1OrderOrders_universal_d_ShippingAddressEdited = ShippingAddressEdited;\n    type ecomV1OrderOrders_universal_d_EmailEdited = EmailEdited;\n    type ecomV1OrderOrders_universal_d_PickupReadyEmailSent = PickupReadyEmailSent;\n    type ecomV1OrderOrders_universal_d_OrderPartiallyPaid = OrderPartiallyPaid;\n    type ecomV1OrderOrders_universal_d_AddInternalActivityResponse = AddInternalActivityResponse;\n    type ecomV1OrderOrders_universal_d_AddActivityRequest = AddActivityRequest;\n    type ecomV1OrderOrders_universal_d_PublicActivity = PublicActivity;\n    type ecomV1OrderOrders_universal_d_PublicActivityContentOneOf = PublicActivityContentOneOf;\n    type ecomV1OrderOrders_universal_d_AddActivityResponse = AddActivityResponse;\n    type ecomV1OrderOrders_universal_d_AddActivitiesRequest = AddActivitiesRequest;\n    type ecomV1OrderOrders_universal_d_AddActivitiesResponse = AddActivitiesResponse;\n    type ecomV1OrderOrders_universal_d_UpdateActivityRequest = UpdateActivityRequest;\n    type ecomV1OrderOrders_universal_d_UpdateActivityResponse = UpdateActivityResponse;\n    type ecomV1OrderOrders_universal_d_DeleteActivityRequest = DeleteActivityRequest;\n    type ecomV1OrderOrders_universal_d_DeleteActivityResponse = DeleteActivityResponse;\n    type ecomV1OrderOrders_universal_d_UpdateLineItemsDescriptionLinesRequest = UpdateLineItemsDescriptionLinesRequest;\n    type ecomV1OrderOrders_universal_d_LineItemUpdate = LineItemUpdate;\n    type ecomV1OrderOrders_universal_d_UpdateLineItemsDescriptionLinesResponse = UpdateLineItemsDescriptionLinesResponse;\n    type ecomV1OrderOrders_universal_d_MarkOrderAsSeenByHumanRequest = MarkOrderAsSeenByHumanRequest;\n    type ecomV1OrderOrders_universal_d_MarkOrderAsSeenByHumanResponse = MarkOrderAsSeenByHumanResponse;\n    type ecomV1OrderOrders_universal_d_CancelOrderRequest = CancelOrderRequest;\n    type ecomV1OrderOrders_universal_d_CancelOrderResponse = CancelOrderResponse;\n    type ecomV1OrderOrders_universal_d_OrderCanceledEventOrderCanceled = OrderCanceledEventOrderCanceled;\n    type ecomV1OrderOrders_universal_d_MarkAsFulfilledRequest = MarkAsFulfilledRequest;\n    type ecomV1OrderOrders_universal_d_MarkAsFulfilledResponse = MarkAsFulfilledResponse;\n    type ecomV1OrderOrders_universal_d_FulfillmentStatusUpdated = FulfillmentStatusUpdated;\n    type ecomV1OrderOrders_universal_d_BulkMarkAsFulfilledRequest = BulkMarkAsFulfilledRequest;\n    type ecomV1OrderOrders_universal_d_BulkMarkAsFulfilledResponse = BulkMarkAsFulfilledResponse;\n    type ecomV1OrderOrders_universal_d_BulkMarkAsFulfilledByFilterRequest = BulkMarkAsFulfilledByFilterRequest;\n    type ecomV1OrderOrders_universal_d_BulkMarkAsFulfilledByFilterResponse = BulkMarkAsFulfilledByFilterResponse;\n    type ecomV1OrderOrders_universal_d_MarkAsUnfulfilledRequest = MarkAsUnfulfilledRequest;\n    type ecomV1OrderOrders_universal_d_MarkAsUnfulfilledResponse = MarkAsUnfulfilledResponse;\n    type ecomV1OrderOrders_universal_d_BulkMarkAsUnfulfilledRequest = BulkMarkAsUnfulfilledRequest;\n    type ecomV1OrderOrders_universal_d_BulkMarkAsUnfulfilledResponse = BulkMarkAsUnfulfilledResponse;\n    type ecomV1OrderOrders_universal_d_BulkMarkAsUnfulfilledByFilterRequest = BulkMarkAsUnfulfilledByFilterRequest;\n    type ecomV1OrderOrders_universal_d_BulkMarkAsUnfulfilledByFilterResponse = BulkMarkAsUnfulfilledByFilterResponse;\n    type ecomV1OrderOrders_universal_d_V1MarkOrderAsPaidRequest = V1MarkOrderAsPaidRequest;\n    type ecomV1OrderOrders_universal_d_V1MarkOrderAsPaidResponse = V1MarkOrderAsPaidResponse;\n    type ecomV1OrderOrders_universal_d_V1BulkMarkOrdersAsPaidRequest = V1BulkMarkOrdersAsPaidRequest;\n    type ecomV1OrderOrders_universal_d_V1BulkMarkOrdersAsPaidResponse = V1BulkMarkOrdersAsPaidResponse;\n    type ecomV1OrderOrders_universal_d_V1CreatePaymentGatewayOrderRequest = V1CreatePaymentGatewayOrderRequest;\n    type ecomV1OrderOrders_universal_d_V1CreatePaymentGatewayOrderResponse = V1CreatePaymentGatewayOrderResponse;\n    type ecomV1OrderOrders_universal_d_GetShipmentsRequest = GetShipmentsRequest;\n    type ecomV1OrderOrders_universal_d_GetShipmentsResponse = GetShipmentsResponse;\n    type ecomV1OrderOrders_universal_d_AggregateOrdersRequest = AggregateOrdersRequest;\n    type ecomV1OrderOrders_universal_d_AggregateOrdersResponse = AggregateOrdersResponse;\n    type ecomV1OrderOrders_universal_d_DecrementItemsQuantityRequest = DecrementItemsQuantityRequest;\n    type ecomV1OrderOrders_universal_d_DecrementData = DecrementData;\n    type ecomV1OrderOrders_universal_d_DecrementItemsQuantityResponse = DecrementItemsQuantityResponse;\n    type ecomV1OrderOrders_universal_d_OrderItemsRestocked = OrderItemsRestocked;\n    type ecomV1OrderOrders_universal_d_V1RestockItem = V1RestockItem;\n    type ecomV1OrderOrders_universal_d_BulkUpdateOrderTagsRequest = BulkUpdateOrderTagsRequest;\n    type ecomV1OrderOrders_universal_d_BulkUpdateOrderTagsResponse = BulkUpdateOrderTagsResponse;\n    type ecomV1OrderOrders_universal_d_BulkUpdateOrderTagsResult = BulkUpdateOrderTagsResult;\n    type ecomV1OrderOrders_universal_d_OrderApproved = OrderApproved;\n    type ecomV1OrderOrders_universal_d_Task = Task;\n    type ecomV1OrderOrders_universal_d_TaskKey = TaskKey;\n    type ecomV1OrderOrders_universal_d_TaskAction = TaskAction;\n    type ecomV1OrderOrders_universal_d_TaskActionActionOneOf = TaskActionActionOneOf;\n    type ecomV1OrderOrders_universal_d_Complete = Complete;\n    type ecomV1OrderOrders_universal_d_Cancel = Cancel;\n    type ecomV1OrderOrders_universal_d_Reschedule = Reschedule;\n    type ecomV1OrderOrders_universal_d_InvoiceSentEvent = InvoiceSentEvent;\n    type ecomV1OrderOrders_universal_d_IdAndVersion = IdAndVersion;\n    type ecomV1OrderOrders_universal_d_InvoiceFields = InvoiceFields;\n    type ecomV1OrderOrders_universal_d_Customer = Customer;\n    type ecomV1OrderOrders_universal_d_Email = Email;\n    type ecomV1OrderOrders_universal_d_QuotesAddress = QuotesAddress;\n    type ecomV1OrderOrders_universal_d_AddressDescription = AddressDescription;\n    type ecomV1OrderOrders_universal_d_Placement = Placement;\n    const ecomV1OrderOrders_universal_d_Placement: typeof Placement;\n    type ecomV1OrderOrders_universal_d_Phone = Phone;\n    type ecomV1OrderOrders_universal_d_Company = Company;\n    type ecomV1OrderOrders_universal_d_CommonAddress = CommonAddress;\n    type ecomV1OrderOrders_universal_d_CommonAddressStreetOneOf = CommonAddressStreetOneOf;\n    type ecomV1OrderOrders_universal_d_Subdivision = Subdivision;\n    type ecomV1OrderOrders_universal_d_SubdivisionType = SubdivisionType;\n    const ecomV1OrderOrders_universal_d_SubdivisionType: typeof SubdivisionType;\n    type ecomV1OrderOrders_universal_d_StandardDetails = StandardDetails;\n    type ecomV1OrderOrders_universal_d_InvoiceDates = InvoiceDates;\n    type ecomV1OrderOrders_universal_d_LineItems = LineItems;\n    type ecomV1OrderOrders_universal_d_BigDecimalWrapper = BigDecimalWrapper;\n    type ecomV1OrderOrders_universal_d_LineItemTax = LineItemTax;\n    type ecomV1OrderOrders_universal_d_Source = Source;\n    type ecomV1OrderOrders_universal_d_SourceType = SourceType;\n    const ecomV1OrderOrders_universal_d_SourceType: typeof SourceType;\n    type ecomV1OrderOrders_universal_d_LineItemMetaData = LineItemMetaData;\n    type ecomV1OrderOrders_universal_d_Locale = Locale;\n    type ecomV1OrderOrders_universal_d_TotalPrice = TotalPrice;\n    type ecomV1OrderOrders_universal_d_ItemizedFee = ItemizedFee;\n    type ecomV1OrderOrders_universal_d_DiscountOneDiscountTypeOneOf = DiscountOneDiscountTypeOneOf;\n    type ecomV1OrderOrders_universal_d_CalculatedTaxes = CalculatedTaxes;\n    type ecomV1OrderOrders_universal_d_CalculatedTax = CalculatedTax;\n    type ecomV1OrderOrders_universal_d_Payments = Payments;\n    type ecomV1OrderOrders_universal_d_InvoicesPayment = InvoicesPayment;\n    type ecomV1OrderOrders_universal_d_MetaData = MetaData;\n    type ecomV1OrderOrders_universal_d_InvoiceDynamicPriceTotals = InvoiceDynamicPriceTotals;\n    type ecomV1OrderOrders_universal_d_CustomFieldValue = CustomFieldValue;\n    type ecomV1OrderOrders_universal_d_CustomFieldGroup = CustomFieldGroup;\n    const ecomV1OrderOrders_universal_d_CustomFieldGroup: typeof CustomFieldGroup;\n    type ecomV1OrderOrders_universal_d_Value = Value;\n    type ecomV1OrderOrders_universal_d_ValueType = ValueType;\n    const ecomV1OrderOrders_universal_d_ValueType: typeof ValueType;\n    type ecomV1OrderOrders_universal_d_Deposit = Deposit;\n    type ecomV1OrderOrders_universal_d_DepositType = DepositType;\n    const ecomV1OrderOrders_universal_d_DepositType: typeof DepositType;\n    type ecomV1OrderOrders_universal_d_InvoiceStatus = InvoiceStatus;\n    const ecomV1OrderOrders_universal_d_InvoiceStatus: typeof InvoiceStatus;\n    type ecomV1OrderOrders_universal_d_TriggerSideEffectsFromLegacyData = TriggerSideEffectsFromLegacyData;\n    type ecomV1OrderOrders_universal_d_QueryOrdersForMetasiteOptions = QueryOrdersForMetasiteOptions;\n    type ecomV1OrderOrders_universal_d_GetOrderForMetasiteIdentifiers = GetOrderForMetasiteIdentifiers;\n    type ecomV1OrderOrders_universal_d_ListOrderTransactionsForMetasiteIdentifiers = ListOrderTransactionsForMetasiteIdentifiers;\n    type ecomV1OrderOrders_universal_d_TriggerReindexOptions = TriggerReindexOptions;\n    type ecomV1OrderOrders_universal_d_BulkSendBuyerPickupConfirmationEmailsOptions = BulkSendBuyerPickupConfirmationEmailsOptions;\n    type ecomV1OrderOrders_universal_d_BulkSendBuyerShippingConfirmationEmailsOptions = BulkSendBuyerShippingConfirmationEmailsOptions;\n    type ecomV1OrderOrders_universal_d_SendCancelRefundEmailOptions = SendCancelRefundEmailOptions;\n    type ecomV1OrderOrders_universal_d_PreviewRefundEmailOptions = PreviewRefundEmailOptions;\n    type ecomV1OrderOrders_universal_d_PreviewCancelEmailOptions = PreviewCancelEmailOptions;\n    type ecomV1OrderOrders_universal_d_PreviewCancelRefundEmailOptions = PreviewCancelRefundEmailOptions;\n    type ecomV1OrderOrders_universal_d_PreparePaymentCollectionOptions = PreparePaymentCollectionOptions;\n    const ecomV1OrderOrders_universal_d_getPaymentCollectabilityStatus: typeof getPaymentCollectabilityStatus;\n    type ecomV1OrderOrders_universal_d_PaymentCollectionCreatePaymentGatewayOrderOptions = PaymentCollectionCreatePaymentGatewayOrderOptions;\n    type ecomV1OrderOrders_universal_d_ChargeMembershipsOptions = ChargeMembershipsOptions;\n    const ecomV1OrderOrders_universal_d_getOrder: typeof getOrder;\n    type ecomV1OrderOrders_universal_d_InternalQueryOrdersOptions = InternalQueryOrdersOptions;\n    type ecomV1OrderOrders_universal_d_OrdersQueryResult = OrdersQueryResult;\n    type ecomV1OrderOrders_universal_d_OrdersQueryBuilder = OrdersQueryBuilder;\n    const ecomV1OrderOrders_universal_d_searchOrders: typeof searchOrders;\n    type ecomV1OrderOrders_universal_d_SearchOrdersOptions = SearchOrdersOptions;\n    const ecomV1OrderOrders_universal_d_createOrder: typeof createOrder;\n    type ecomV1OrderOrders_universal_d_CreateOrderOptions = CreateOrderOptions;\n    const ecomV1OrderOrders_universal_d_updateOrder: typeof updateOrder;\n    type ecomV1OrderOrders_universal_d_UpdateOrder = UpdateOrder;\n    type ecomV1OrderOrders_universal_d_UpdateOrderOptions = UpdateOrderOptions;\n    const ecomV1OrderOrders_universal_d_bulkUpdateOrders: typeof bulkUpdateOrders;\n    type ecomV1OrderOrders_universal_d_BulkUpdateOrdersOptions = BulkUpdateOrdersOptions;\n    type ecomV1OrderOrders_universal_d_CommitDeltasOptions = CommitDeltasOptions;\n    type ecomV1OrderOrders_universal_d_BulkArchiveOrdersOptions = BulkArchiveOrdersOptions;\n    type ecomV1OrderOrders_universal_d_BulkUnArchiveOrdersOptions = BulkUnArchiveOrdersOptions;\n    type ecomV1OrderOrders_universal_d_UpdateBuyerInfoOptions = UpdateBuyerInfoOptions;\n    type ecomV1OrderOrders_universal_d_UpdateBuyerEmailOptions = UpdateBuyerEmailOptions;\n    type ecomV1OrderOrders_universal_d_UpdateOrderShippingAddressOptions = UpdateOrderShippingAddressOptions;\n    type ecomV1OrderOrders_universal_d_UpdateBillingContactDetailsOptions = UpdateBillingContactDetailsOptions;\n    type ecomV1OrderOrders_universal_d_UpdateOrderLineItemIdentifiers = UpdateOrderLineItemIdentifiers;\n    type ecomV1OrderOrders_universal_d_UpdateOrderLineItem = UpdateOrderLineItem;\n    type ecomV1OrderOrders_universal_d_UpdateOrderLineItemOptions = UpdateOrderLineItemOptions;\n    type ecomV1OrderOrders_universal_d_UpdateActivityIdentifiers = UpdateActivityIdentifiers;\n    type ecomV1OrderOrders_universal_d_DeleteActivityIdentifiers = DeleteActivityIdentifiers;\n    const ecomV1OrderOrders_universal_d_cancelOrder: typeof cancelOrder;\n    type ecomV1OrderOrders_universal_d_CancelOrderOptions = CancelOrderOptions;\n    type ecomV1OrderOrders_universal_d_BulkMarkAsFulfilledOptions = BulkMarkAsFulfilledOptions;\n    type ecomV1OrderOrders_universal_d_BulkMarkAsUnfulfilledOptions = BulkMarkAsUnfulfilledOptions;\n    type ecomV1OrderOrders_universal_d_AggregateOrdersOptions = AggregateOrdersOptions;\n    type ecomV1OrderOrders_universal_d_BulkUpdateOrderTagsOptions = BulkUpdateOrderTagsOptions;\n    namespace ecomV1OrderOrders_universal_d {\n        export { Order$1 as Order, ecomV1OrderOrders_universal_d_OrderLineItem as OrderLineItem, ecomV1OrderOrders_universal_d_ProductName as ProductName, ecomV1OrderOrders_universal_d_CatalogReference as CatalogReference, Price$1 as Price, ecomV1OrderOrders_universal_d_DescriptionLine as DescriptionLine, ecomV1OrderOrders_universal_d_DescriptionLineValueOneOf as DescriptionLineValueOneOf, ecomV1OrderOrders_universal_d_DescriptionLineDescriptionLineValueOneOf as DescriptionLineDescriptionLineValueOneOf, ecomV1OrderOrders_universal_d_DescriptionLineName as DescriptionLineName, ecomV1OrderOrders_universal_d_PlainTextValue as PlainTextValue, ecomV1OrderOrders_universal_d_Color as Color, ecomV1OrderOrders_universal_d_DescriptionLineType as DescriptionLineType, ecomV1OrderOrders_universal_d_PhysicalProperties as PhysicalProperties, ecomV1OrderOrders_universal_d_ItemType as ItemType, ecomV1OrderOrders_universal_d_ItemTypeItemTypeDataOneOf as ItemTypeItemTypeDataOneOf, ecomV1OrderOrders_universal_d_ItemTypeItemType as ItemTypeItemType, ecomV1OrderOrders_universal_d_PaymentOptionType as PaymentOptionType, ecomV1OrderOrders_universal_d_ItemTaxFullDetails as ItemTaxFullDetails, ecomV1OrderOrders_universal_d_LineItemTaxInfo as LineItemTaxInfo, ecomV1OrderOrders_universal_d_LineItemTaxBreakdown as LineItemTaxBreakdown, ecomV1OrderOrders_universal_d_JurisdictionType as JurisdictionType, DigitalFile$1 as DigitalFile, SubscriptionInfo$1 as SubscriptionInfo, SubscriptionSettings$1 as SubscriptionSettings, SubscriptionFrequency$1 as SubscriptionFrequency, ecomV1OrderOrders_universal_d_PriceDescription as PriceDescription, ecomV1OrderOrders_universal_d_LocationAndQuantity as LocationAndQuantity, BuyerInfo$1 as BuyerInfo, ecomV1OrderOrders_universal_d_BuyerInfoIdOneOf as BuyerInfoIdOneOf, PaymentStatus$1 as PaymentStatus, FulfillmentStatus$1 as FulfillmentStatus, WeightUnit$1 as WeightUnit, ecomV1OrderOrders_universal_d_PriceSummary as PriceSummary, ecomV1OrderOrders_universal_d_AddressWithContact as AddressWithContact, Address$1 as Address, ecomV1OrderOrders_universal_d_StreetAddress as StreetAddress, ecomV1OrderOrders_universal_d_AddressLocation as AddressLocation, ecomV1OrderOrders_universal_d_FullAddressContactDetails as FullAddressContactDetails, VatId$1 as VatId, VatType$1 as VatType, ecomV1OrderOrders_universal_d_V1ShippingInformation as V1ShippingInformation, ecomV1OrderOrders_universal_d_DeliveryLogistics as DeliveryLogistics, ecomV1OrderOrders_universal_d_DeliveryLogisticsAddressOneOf as DeliveryLogisticsAddressOneOf, PickupDetails$1 as PickupDetails, PickupAddress$1 as PickupAddress, ecomV1OrderOrders_universal_d_PickupMethod as PickupMethod, ecomV1OrderOrders_universal_d_DeliveryTimeSlot as DeliveryTimeSlot, ecomV1OrderOrders_universal_d_ShippingPrice as ShippingPrice, ecomV1OrderOrders_universal_d_ShippingRegion as ShippingRegion, ecomV1OrderOrders_universal_d_OrderStatus as OrderStatus, ecomV1OrderOrders_universal_d_TaxSummary as TaxSummary, ecomV1OrderOrders_universal_d_OrderTaxInfo as OrderTaxInfo, ecomV1OrderOrders_universal_d_OrderTaxBreakdown as OrderTaxBreakdown, ecomV1OrderOrders_universal_d_AppliedDiscount as AppliedDiscount, ecomV1OrderOrders_universal_d_AppliedDiscountDiscountSourceOneOf as AppliedDiscountDiscountSourceOneOf, ecomV1OrderOrders_universal_d_DiscountType as DiscountType, ecomV1OrderOrders_universal_d_Coupon as Coupon, ecomV1OrderOrders_universal_d_MerchantDiscount as MerchantDiscount, ecomV1OrderOrders_universal_d_MerchantDiscountMerchantDiscountReasonOneOf as MerchantDiscountMerchantDiscountReasonOneOf, ecomV1OrderOrders_universal_d_DiscountReason as DiscountReason, ecomV1OrderOrders_universal_d_DiscountRule as DiscountRule, ecomV1OrderOrders_universal_d_DiscountRuleName as DiscountRuleName, ecomV1OrderOrders_universal_d_LineItemDiscount as LineItemDiscount, Activity$1 as Activity, ecomV1OrderOrders_universal_d_ActivityContentOneOf as ActivityContentOneOf, ecomV1OrderOrders_universal_d_CustomActivity as CustomActivity, ecomV1OrderOrders_universal_d_MerchantComment as MerchantComment, OrderRefunded$1 as OrderRefunded, ecomV1OrderOrders_universal_d_OrderCreatedFromExchange as OrderCreatedFromExchange, ecomV1OrderOrders_universal_d_NewExchangeOrderCreated as NewExchangeOrderCreated, ecomV1OrderOrders_universal_d_LineItemExchangeData as LineItemExchangeData, ecomV1OrderOrders_universal_d_DraftOrderChangesApplied as DraftOrderChangesApplied, ecomV1OrderOrders_universal_d_OrderChange as OrderChange, ecomV1OrderOrders_universal_d_OrderChangeValueOneOf as OrderChangeValueOneOf, ecomV1OrderOrders_universal_d_LineItemChanges as LineItemChanges, ecomV1OrderOrders_universal_d_LineItemQuantityChange as LineItemQuantityChange, ecomV1OrderOrders_universal_d_LineItemQuantityChangeType as LineItemQuantityChangeType, ecomV1OrderOrders_universal_d_LineItemPriceChange as LineItemPriceChange, ecomV1OrderOrders_universal_d_ManagedLineItem as ManagedLineItem, ecomV1OrderOrders_universal_d_ManagedDiscount as ManagedDiscount, ecomV1OrderOrders_universal_d_TranslatedValue as TranslatedValue, ecomV1OrderOrders_universal_d_LineItemAmount as LineItemAmount, ecomV1OrderOrders_universal_d_ManagedAdditionalFee as ManagedAdditionalFee, ecomV1OrderOrders_universal_d_TotalPriceChange as TotalPriceChange, ecomV1OrderOrders_universal_d_ShippingInformationChange as ShippingInformationChange, ecomV1OrderOrders_universal_d_ShippingInformation as ShippingInformation, ecomV1OrderOrders_universal_d_SavedPaymentMethod as SavedPaymentMethod, ecomV1OrderOrders_universal_d_AuthorizedPaymentCreated as AuthorizedPaymentCreated, ecomV1OrderOrders_universal_d_AuthorizedPaymentCaptured as AuthorizedPaymentCaptured, ecomV1OrderOrders_universal_d_AuthorizedPaymentVoided as AuthorizedPaymentVoided, ActivityType$1 as ActivityType, ecomV1OrderOrders_universal_d_AttributionSource as AttributionSource, ecomV1OrderOrders_universal_d_CreatedBy as CreatedBy, ecomV1OrderOrders_universal_d_CreatedByStringOneOf as CreatedByStringOneOf, ChannelInfo$1 as ChannelInfo, ChannelType$1 as ChannelType, CustomField$1 as CustomField, ecomV1OrderOrders_universal_d_BalanceSummary as BalanceSummary, ecomV1OrderOrders_universal_d_Balance as Balance, ecomV1OrderOrders_universal_d_AdditionalFee as AdditionalFee, ecomV1OrderOrders_universal_d_FulfillmentStatusesAggregate as FulfillmentStatusesAggregate, ecomV1OrderOrders_universal_d_ExtendedFields as ExtendedFields, ecomV1OrderOrders_universal_d_Tags as Tags, ecomV1OrderOrders_universal_d_TagList as TagList, ecomV1OrderOrders_universal_d_TriggerReindexOrderRequest as TriggerReindexOrderRequest, SnapshotMessage$1 as SnapshotMessage, PaymentsUpdated$1 as PaymentsUpdated, OrderTransactions$1 as OrderTransactions, Payment$1 as Payment, PaymentPaymentDetailsOneOf$1 as PaymentPaymentDetailsOneOf, RegularPaymentDetails$1 as RegularPaymentDetails, ecomV1OrderOrders_universal_d_RegularPaymentDetailsPaymentMethodDetailsOneOf as RegularPaymentDetailsPaymentMethodDetailsOneOf, TransactionStatus$1 as TransactionStatus, ecomV1OrderOrders_universal_d_CreditCardPaymentMethodDetails as CreditCardPaymentMethodDetails, ecomV1OrderOrders_universal_d_AuthorizationDetails as AuthorizationDetails, ecomV1OrderOrders_universal_d_AuthorizationCapture as AuthorizationCapture, ecomV1OrderOrders_universal_d_AuthorizationCaptureStatus as AuthorizationCaptureStatus, ecomV1OrderOrders_universal_d_AuthorizationActionFailureDetails as AuthorizationActionFailureDetails, ecomV1OrderOrders_universal_d_AuthorizationVoid as AuthorizationVoid, ecomV1OrderOrders_universal_d_AuthorizationVoidStatus as AuthorizationVoidStatus, ecomV1OrderOrders_universal_d_Reason as Reason, ecomV1OrderOrders_universal_d_ScheduledAction as ScheduledAction, ecomV1OrderOrders_universal_d_ActionType as ActionType, GiftCardPaymentDetails$1 as GiftCardPaymentDetails, MembershipPaymentDetails$1 as MembershipPaymentDetails, MembershipPaymentStatus$1 as MembershipPaymentStatus, MembershipName$1 as MembershipName, Refund$1 as Refund, RefundTransaction$1 as RefundTransaction, RefundStatus$1 as RefundStatus, RefundDetails$1 as RefundDetails, RefundItem$1 as RefundItem, ecomV1OrderOrders_universal_d_LineItemRefund as LineItemRefund, ecomV1OrderOrders_universal_d_AdditionalFeeRefund as AdditionalFeeRefund, ecomV1OrderOrders_universal_d_ShippingRefund as ShippingRefund, ecomV1OrderOrders_universal_d_AggregatedRefundSummary as AggregatedRefundSummary, ecomV1OrderOrders_universal_d_GetMetasiteDataRequest as GetMetasiteDataRequest, ecomV1OrderOrders_universal_d_GetMetasiteDataResponse as GetMetasiteDataResponse, ecomV1OrderOrders_universal_d_MetaSite as MetaSite, ecomV1OrderOrders_universal_d_App as App, ecomV1OrderOrders_universal_d_State as State, ecomV1OrderOrders_universal_d_Namespace as Namespace, ecomV1OrderOrders_universal_d_SeoData as SeoData, ecomV1OrderOrders_universal_d_MetaTag as MetaTag, ecomV1OrderOrders_universal_d_HtmlApplication as HtmlApplication, ecomV1OrderOrders_universal_d_ExternalUriMapping as ExternalUriMapping, ecomV1OrderOrders_universal_d_UserDataResponse as UserDataResponse, ecomV1OrderOrders_universal_d_QueryOrdersForMetasiteRequest as QueryOrdersForMetasiteRequest, ecomV1OrderOrders_universal_d_InternalQueryOrdersRequest as InternalQueryOrdersRequest, ecomV1OrderOrders_universal_d_PlatformQuery as PlatformQuery, ecomV1OrderOrders_universal_d_PlatformQueryPagingMethodOneOf as PlatformQueryPagingMethodOneOf, ecomV1OrderOrders_universal_d_Sorting as Sorting, ecomV1OrderOrders_universal_d_SortOrder as SortOrder, ecomV1OrderOrders_universal_d_PlatformPaging as PlatformPaging, ecomV1OrderOrders_universal_d_CursorPaging as CursorPaging, ecomV1OrderOrders_universal_d_QueryOrdersForMetasiteResponse as QueryOrdersForMetasiteResponse, ecomV1OrderOrders_universal_d_PlatformPagingMetadata as PlatformPagingMetadata, ecomV1OrderOrders_universal_d_Cursors as Cursors, ecomV1OrderOrders_universal_d_GetOrderForMetasiteRequest as GetOrderForMetasiteRequest, ecomV1OrderOrders_universal_d_GetOrderForMetasiteResponse as GetOrderForMetasiteResponse, ecomV1OrderOrders_universal_d_ListOrderTransactionsForMetasiteRequest as ListOrderTransactionsForMetasiteRequest, ecomV1OrderOrders_universal_d_ListOrderTransactionsForMetasiteResponse as ListOrderTransactionsForMetasiteResponse, ecomV1OrderOrders_universal_d_TestUrlAdditionalBindingsRequest as TestUrlAdditionalBindingsRequest, ecomV1OrderOrders_universal_d_TestUrlAdditionalBindingsResponse as TestUrlAdditionalBindingsResponse, DomainEvent$3 as DomainEvent, DomainEventBodyOneOf$3 as DomainEventBodyOneOf, EntityCreatedEvent$3 as EntityCreatedEvent, RestoreInfo$2 as RestoreInfo, EntityUpdatedEvent$3 as EntityUpdatedEvent, EntityDeletedEvent$3 as EntityDeletedEvent, ActionEvent$3 as ActionEvent, MessageEnvelope$3 as MessageEnvelope, IdentificationData$3 as IdentificationData, IdentificationDataIdOneOf$3 as IdentificationDataIdOneOf, WebhookIdentityType$3 as WebhookIdentityType, ecomV1OrderOrders_universal_d_UpdateInternalDocumentsEvent as UpdateInternalDocumentsEvent, ecomV1OrderOrders_universal_d_UpdateInternalDocumentsEventOperationOneOf as UpdateInternalDocumentsEventOperationOneOf, ecomV1OrderOrders_universal_d_InternalDocument as InternalDocument, ecomV1OrderOrders_universal_d_InternalDocumentUpdateOperation as InternalDocumentUpdateOperation, ecomV1OrderOrders_universal_d_DeleteByIdsOperation as DeleteByIdsOperation, ecomV1OrderOrders_universal_d_DeleteByFilterOperation as DeleteByFilterOperation, ecomV1OrderOrders_universal_d_InternalDocumentUpdateByFilterOperation as InternalDocumentUpdateByFilterOperation, ecomV1OrderOrders_universal_d_InternalUpdateExistingOperation as InternalUpdateExistingOperation, ecomV1OrderOrders_universal_d_VersionedDocumentUpdateOperation as VersionedDocumentUpdateOperation, ecomV1OrderOrders_universal_d_VersioningMode as VersioningMode, ecomV1OrderOrders_universal_d_VersionedDeleteByIdsOperation as VersionedDeleteByIdsOperation, ecomV1OrderOrders_universal_d_VersionedDocumentId as VersionedDocumentId, ecomV1OrderOrders_universal_d_TriggerReindexRequest as TriggerReindexRequest, ecomV1OrderOrders_universal_d_TriggerReindexResponse as TriggerReindexResponse, Empty$1 as Empty, ecomV1OrderOrders_universal_d_BatchOfTriggerReindexOrderRequest as BatchOfTriggerReindexOrderRequest, ecomV1OrderOrders_universal_d_SendBuyerConfirmationEmailRequest as SendBuyerConfirmationEmailRequest, ecomV1OrderOrders_universal_d_SendBuyerConfirmationEmailResponse as SendBuyerConfirmationEmailResponse, ecomV1OrderOrders_universal_d_SendBuyerPaymentsReceivedEmailRequest as SendBuyerPaymentsReceivedEmailRequest, ecomV1OrderOrders_universal_d_SendBuyerPaymentsReceivedEmailResponse as SendBuyerPaymentsReceivedEmailResponse, ecomV1OrderOrders_universal_d_SendBuyerPickupConfirmationEmailRequest as SendBuyerPickupConfirmationEmailRequest, ecomV1OrderOrders_universal_d_SendBuyerPickupConfirmationEmailResponse as SendBuyerPickupConfirmationEmailResponse, ecomV1OrderOrders_universal_d_BulkSendBuyerPickupConfirmationEmailsRequest as BulkSendBuyerPickupConfirmationEmailsRequest, ecomV1OrderOrders_universal_d_BulkSendBuyerPickupConfirmationEmailsResponse as BulkSendBuyerPickupConfirmationEmailsResponse, ecomV1OrderOrders_universal_d_SendBuyerShippingConfirmationEmailRequest as SendBuyerShippingConfirmationEmailRequest, ecomV1OrderOrders_universal_d_SendBuyerShippingConfirmationEmailResponse as SendBuyerShippingConfirmationEmailResponse, ecomV1OrderOrders_universal_d_BulkSendBuyerShippingConfirmationEmailsRequest as BulkSendBuyerShippingConfirmationEmailsRequest, ecomV1OrderOrders_universal_d_BulkSendBuyerShippingConfirmationEmailsResponse as BulkSendBuyerShippingConfirmationEmailsResponse, ecomV1OrderOrders_universal_d_SendMerchantOrderReceivedNotificationRequest as SendMerchantOrderReceivedNotificationRequest, ecomV1OrderOrders_universal_d_SendMerchantOrderReceivedNotificationResponse as SendMerchantOrderReceivedNotificationResponse, ecomV1OrderOrders_universal_d_SendCancelRefundEmailRequest as SendCancelRefundEmailRequest, ecomV1OrderOrders_universal_d_SendCancelRefundEmailResponse as SendCancelRefundEmailResponse, ecomV1OrderOrders_universal_d_SendMerchantOrderReceivedPushRequest as SendMerchantOrderReceivedPushRequest, ecomV1OrderOrders_universal_d_SendMerchantOrderReceivedPushResponse as SendMerchantOrderReceivedPushResponse, ecomV1OrderOrders_universal_d_PreviewEmailByTypeRequest as PreviewEmailByTypeRequest, ecomV1OrderOrders_universal_d_PreviewEmailType as PreviewEmailType, ecomV1OrderOrders_universal_d_PreviewEmailByTypeResponse as PreviewEmailByTypeResponse, ecomV1OrderOrders_universal_d_PreviewRefundEmailRequest as PreviewRefundEmailRequest, ecomV1OrderOrders_universal_d_PreviewRefundEmailResponse as PreviewRefundEmailResponse, ecomV1OrderOrders_universal_d_PreviewCancelEmailRequest as PreviewCancelEmailRequest, ecomV1OrderOrders_universal_d_PreviewCancelEmailResponse as PreviewCancelEmailResponse, ecomV1OrderOrders_universal_d_PreviewCancelRefundEmailRequest as PreviewCancelRefundEmailRequest, ecomV1OrderOrders_universal_d_PreviewCancelRefundEmailResponse as PreviewCancelRefundEmailResponse, ecomV1OrderOrders_universal_d_PreviewBuyerPaymentsReceivedEmailRequest as PreviewBuyerPaymentsReceivedEmailRequest, ecomV1OrderOrders_universal_d_PreviewBuyerPaymentsReceivedEmailResponse as PreviewBuyerPaymentsReceivedEmailResponse, ecomV1OrderOrders_universal_d_PreviewBuyerConfirmationEmailRequest as PreviewBuyerConfirmationEmailRequest, ecomV1OrderOrders_universal_d_PreviewBuyerConfirmationEmailResponse as PreviewBuyerConfirmationEmailResponse, ecomV1OrderOrders_universal_d_PreviewBuyerPickupConfirmationEmailRequest as PreviewBuyerPickupConfirmationEmailRequest, ecomV1OrderOrders_universal_d_PreviewBuyerPickupConfirmationEmailResponse as PreviewBuyerPickupConfirmationEmailResponse, ecomV1OrderOrders_universal_d_PreviewShippingConfirmationEmailRequest as PreviewShippingConfirmationEmailRequest, ecomV1OrderOrders_universal_d_PreviewShippingConfirmationEmailResponse as PreviewShippingConfirmationEmailResponse, ecomV1OrderOrders_universal_d_PreviewResendDownloadLinksEmailRequest as PreviewResendDownloadLinksEmailRequest, ecomV1OrderOrders_universal_d_PreviewResendDownloadLinksEmailResponse as PreviewResendDownloadLinksEmailResponse, ecomV1OrderOrders_universal_d_PreparePaymentCollectionRequest as PreparePaymentCollectionRequest, ecomV1OrderOrders_universal_d_RedirectUrls as RedirectUrls, ecomV1OrderOrders_universal_d_PreparePaymentCollectionResponse as PreparePaymentCollectionResponse, ecomV1OrderOrders_universal_d_GetPaymentCollectabilityStatusRequest as GetPaymentCollectabilityStatusRequest, ecomV1OrderOrders_universal_d_GetPaymentCollectabilityStatusResponse as GetPaymentCollectabilityStatusResponse, ecomV1OrderOrders_universal_d_PaymentCollectabilityStatus as PaymentCollectabilityStatus, ecomV1OrderOrders_universal_d_RecordManuallyCollectedPaymentRequest as RecordManuallyCollectedPaymentRequest, ecomV1OrderOrders_universal_d_RecordManuallyCollectedPaymentResponse as RecordManuallyCollectedPaymentResponse, ecomV1OrderOrders_universal_d_MarkOrderAsPaidRequest as MarkOrderAsPaidRequest, ecomV1OrderOrders_universal_d_MarkOrderAsPaidResponse as MarkOrderAsPaidResponse, ecomV1OrderOrders_universal_d_PaymentStatusUpdated as PaymentStatusUpdated, ecomV1OrderOrders_universal_d_BulkMarkOrdersAsPaidRequest as BulkMarkOrdersAsPaidRequest, ecomV1OrderOrders_universal_d_BulkMarkOrdersAsPaidResponse as BulkMarkOrdersAsPaidResponse, ecomV1OrderOrders_universal_d_BulkOrderResult as BulkOrderResult, ItemMetadata$1 as ItemMetadata, ApplicationError$1 as ApplicationError, BulkActionMetadata$1 as BulkActionMetadata, GetRefundabilityStatusRequest$1 as GetRefundabilityStatusRequest, GetRefundabilityStatusResponse$1 as GetRefundabilityStatusResponse, Refundability$1 as Refundability, RefundabilityAdditionalRefundabilityInfoOneOf$1 as RefundabilityAdditionalRefundabilityInfoOneOf, RefundableStatus$1 as RefundableStatus, NonRefundableReason$1 as NonRefundableReason, ManuallyRefundableReason$1 as ManuallyRefundableReason, ecomV1OrderOrders_universal_d_CreatePaymentGatewayOrderRequest as CreatePaymentGatewayOrderRequest, ecomV1OrderOrders_universal_d_ChargedBy as ChargedBy, ecomV1OrderOrders_universal_d_CreatePaymentGatewayOrderResponse as CreatePaymentGatewayOrderResponse, ecomV1OrderOrders_universal_d_ChargeMembershipsRequest as ChargeMembershipsRequest, ecomV1OrderOrders_universal_d_MembershipChargeItem as MembershipChargeItem, ecomV1OrderOrders_universal_d_ServiceProperties as ServiceProperties, ecomV1OrderOrders_universal_d_ChargeMembershipsResponse as ChargeMembershipsResponse, TriggerRefundRequest$1 as TriggerRefundRequest, PaymentRefund$1 as PaymentRefund, RefundSideEffects$1 as RefundSideEffects, RestockInfo$1 as RestockInfo, RestockType$1 as RestockType, RestockItem$1 as RestockItem, TriggerRefundResponse$1 as TriggerRefundResponse, RefundCreated$1 as RefundCreated, CalculateRefundRequest$1 as CalculateRefundRequest, CalculateRefundItemRequest$1 as CalculateRefundItemRequest, CalculateRefundResponse$1 as CalculateRefundResponse, CalculateRefundItemResponse$1 as CalculateRefundItemResponse, ecomV1OrderOrders_universal_d_VoidAuthorizedPaymentsRequest as VoidAuthorizedPaymentsRequest, ecomV1OrderOrders_universal_d_VoidAuthorizedPaymentsResponse as VoidAuthorizedPaymentsResponse, ecomV1OrderOrders_universal_d_CaptureAuthorizedPaymentsRequest as CaptureAuthorizedPaymentsRequest, ecomV1OrderOrders_universal_d_PaymentCapture as PaymentCapture, ecomV1OrderOrders_universal_d_CaptureAuthorizedPaymentsResponse as CaptureAuthorizedPaymentsResponse, ecomV1OrderOrders_universal_d_ChargeSavedPaymentMethodRequest as ChargeSavedPaymentMethodRequest, ecomV1OrderOrders_universal_d_ChargeSavedPaymentMethodResponse as ChargeSavedPaymentMethodResponse, DiffmatokyPayload$1 as DiffmatokyPayload, ErrorInformation$1 as ErrorInformation, ecomV1OrderOrders_universal_d_ContinueSideEffectsFlowInLegacyData as ContinueSideEffectsFlowInLegacyData, ecomV1OrderOrders_universal_d_OrdersExperiments as OrdersExperiments, IndexingMessage$1 as IndexingMessage, ecomV1OrderOrders_universal_d_GetOrderRequest as GetOrderRequest, ecomV1OrderOrders_universal_d_GetOrderResponse as GetOrderResponse, ecomV1OrderOrders_universal_d_InternalQueryOrdersResponse as InternalQueryOrdersResponse, ecomV1OrderOrders_universal_d_QueryOrderRequest as QueryOrderRequest, ecomV1OrderOrders_universal_d_QueryOrderResponse as QueryOrderResponse, ecomV1OrderOrders_universal_d_SearchOrdersRequest as SearchOrdersRequest, ecomV1OrderOrders_universal_d_CursorSearch as CursorSearch, ecomV1OrderOrders_universal_d_CursorSearchPagingMethodOneOf as CursorSearchPagingMethodOneOf, ecomV1OrderOrders_universal_d_SearchOrdersResponse as SearchOrdersResponse, ecomV1OrderOrders_universal_d_CursorPagingMetadata as CursorPagingMetadata, ecomV1OrderOrders_universal_d_CreateOrderRequest as CreateOrderRequest, ecomV1OrderOrders_universal_d_OrderCreationSettings as OrderCreationSettings, ecomV1OrderOrders_universal_d_OrderApprovalStrategy as OrderApprovalStrategy, ecomV1OrderOrders_universal_d_OrderCreateNotifications as OrderCreateNotifications, ecomV1OrderOrders_universal_d_CreateOrderResponse as CreateOrderResponse, ecomV1OrderOrders_universal_d_UpdateOrderRequest as UpdateOrderRequest, ecomV1OrderOrders_universal_d_UpdateOrderResponse as UpdateOrderResponse, ecomV1OrderOrders_universal_d_BulkUpdateOrdersRequest as BulkUpdateOrdersRequest, ecomV1OrderOrders_universal_d_MaskedOrder as MaskedOrder, ecomV1OrderOrders_universal_d_BulkUpdateOrdersResponse as BulkUpdateOrdersResponse, ecomV1OrderOrders_universal_d_CommitDeltasRequest as CommitDeltasRequest, ecomV1OrderOrders_universal_d_DraftOrderDiffs as DraftOrderDiffs, ecomV1OrderOrders_universal_d_DraftOrderDiffsShippingUpdateInfoOneOf as DraftOrderDiffsShippingUpdateInfoOneOf, ecomV1OrderOrders_universal_d_DraftOrderDiffsBuyerUpdateInfoOneOf as DraftOrderDiffsBuyerUpdateInfoOneOf, ecomV1OrderOrders_universal_d_DraftOrderDiffsBillingUpdateInfoOneOf as DraftOrderDiffsBillingUpdateInfoOneOf, ecomV1OrderOrders_universal_d_DraftOrderDiffsRecipientUpdateInfoOneOf as DraftOrderDiffsRecipientUpdateInfoOneOf, ecomV1OrderOrders_universal_d_V1LineItemDelta as V1LineItemDelta, ecomV1OrderOrders_universal_d_V1LineItemDeltaDeltaOneOf as V1LineItemDeltaDeltaOneOf, ecomV1OrderOrders_universal_d_OrderLineItemChangedDetails as OrderLineItemChangedDetails, ecomV1OrderOrders_universal_d_DeltaPaymentOptionType as DeltaPaymentOptionType, ecomV1OrderOrders_universal_d_ItemChangedDetails as ItemChangedDetails, ecomV1OrderOrders_universal_d_AppliedDiscountDelta as AppliedDiscountDelta, ecomV1OrderOrders_universal_d_AppliedDiscountDeltaDeltaOneOf as AppliedDiscountDeltaDeltaOneOf, ecomV1OrderOrders_universal_d_AdditionalFeeDelta as AdditionalFeeDelta, ecomV1OrderOrders_universal_d_AdditionalFeeDeltaDeltaOneOf as AdditionalFeeDeltaDeltaOneOf, ecomV1OrderOrders_universal_d_DraftOrderCommitSettings as DraftOrderCommitSettings, ecomV1OrderOrders_universal_d_InventoryUpdateDetails as InventoryUpdateDetails, ecomV1OrderOrders_universal_d_InventoryAction as InventoryAction, ecomV1OrderOrders_universal_d_CommitDeltasResponse as CommitDeltasResponse, ecomV1OrderOrders_universal_d_OrderDeltasCommitted as OrderDeltasCommitted, ecomV1OrderOrders_universal_d_CommittedDiffs as CommittedDiffs, ecomV1OrderOrders_universal_d_CommittedDiffsShippingUpdateInfoOneOf as CommittedDiffsShippingUpdateInfoOneOf, ecomV1OrderOrders_universal_d_LineItemDelta as LineItemDelta, ecomV1OrderOrders_universal_d_LineItemDeltaDeltaOneOf as LineItemDeltaDeltaOneOf, ecomV1OrderOrders_universal_d_ArchiveOrderRequest as ArchiveOrderRequest, ecomV1OrderOrders_universal_d_ArchiveOrderResponse as ArchiveOrderResponse, ecomV1OrderOrders_universal_d_BulkArchiveOrdersRequest as BulkArchiveOrdersRequest, ecomV1OrderOrders_universal_d_BulkArchiveOrdersResponse as BulkArchiveOrdersResponse, ecomV1OrderOrders_universal_d_BulkArchiveOrdersByFilterRequest as BulkArchiveOrdersByFilterRequest, ecomV1OrderOrders_universal_d_BulkArchiveOrdersByFilterResponse as BulkArchiveOrdersByFilterResponse, ecomV1OrderOrders_universal_d_UnArchiveOrderRequest as UnArchiveOrderRequest, ecomV1OrderOrders_universal_d_UnArchiveOrderResponse as UnArchiveOrderResponse, ecomV1OrderOrders_universal_d_BulkUnArchiveOrdersRequest as BulkUnArchiveOrdersRequest, ecomV1OrderOrders_universal_d_BulkUnArchiveOrdersResponse as BulkUnArchiveOrdersResponse, ecomV1OrderOrders_universal_d_BulkUnArchiveOrdersByFilterRequest as BulkUnArchiveOrdersByFilterRequest, ecomV1OrderOrders_universal_d_BulkUnArchiveOrdersByFilterResponse as BulkUnArchiveOrdersByFilterResponse, ecomV1OrderOrders_universal_d_UpdateBuyerInfoRequest as UpdateBuyerInfoRequest, ecomV1OrderOrders_universal_d_BuyerInfoUpdate as BuyerInfoUpdate, ecomV1OrderOrders_universal_d_UpdateBuyerInfoResponse as UpdateBuyerInfoResponse, ecomV1OrderOrders_universal_d_UpdateBuyerEmailRequest as UpdateBuyerEmailRequest, ecomV1OrderOrders_universal_d_UpdateBuyerEmailResponse as UpdateBuyerEmailResponse, ecomV1OrderOrders_universal_d_UpdateOrderShippingAddressRequest as UpdateOrderShippingAddressRequest, ecomV1OrderOrders_universal_d_UpdateOrderShippingAddressResponse as UpdateOrderShippingAddressResponse, ecomV1OrderOrders_universal_d_UpdateBillingContactDetailsRequest as UpdateBillingContactDetailsRequest, ecomV1OrderOrders_universal_d_UpdateBillingContactDetailsResponse as UpdateBillingContactDetailsResponse, ecomV1OrderOrders_universal_d_UpdateOrderLineItemRequest as UpdateOrderLineItemRequest, ecomV1OrderOrders_universal_d_UpdateOrderLineItemResponse as UpdateOrderLineItemResponse, ecomV1OrderOrders_universal_d_UpdateOrderLineItemsRequest as UpdateOrderLineItemsRequest, ecomV1OrderOrders_universal_d_MaskedOrderLineItem as MaskedOrderLineItem, ecomV1OrderOrders_universal_d_UpdateOrderLineItemsResponse as UpdateOrderLineItemsResponse, ecomV1OrderOrders_universal_d_AddInternalActivityRequest as AddInternalActivityRequest, ecomV1OrderOrders_universal_d_InternalActivity as InternalActivity, ecomV1OrderOrders_universal_d_InternalActivityContentOneOf as InternalActivityContentOneOf, ecomV1OrderOrders_universal_d_OrderPlaced as OrderPlaced, ecomV1OrderOrders_universal_d_OrderPaid as OrderPaid, ecomV1OrderOrders_universal_d_OrderFulfilled as OrderFulfilled, ecomV1OrderOrders_universal_d_OrderNotFulfilled as OrderNotFulfilled, ecomV1OrderOrders_universal_d_OrderCanceled as OrderCanceled, ecomV1OrderOrders_universal_d_DownloadLinkSent as DownloadLinkSent, ecomV1OrderOrders_universal_d_TrackingNumberAdded as TrackingNumberAdded, ecomV1OrderOrders_universal_d_TrackingNumberEdited as TrackingNumberEdited, ecomV1OrderOrders_universal_d_TrackingLinkAdded as TrackingLinkAdded, ecomV1OrderOrders_universal_d_ShippingConfirmationEmailSent as ShippingConfirmationEmailSent, ecomV1OrderOrders_universal_d_InvoiceAdded as InvoiceAdded, ecomV1OrderOrders_universal_d_InvoiceSent as InvoiceSent, ecomV1OrderOrders_universal_d_FulfillerEmailSent as FulfillerEmailSent, ecomV1OrderOrders_universal_d_ShippingAddressEdited as ShippingAddressEdited, ecomV1OrderOrders_universal_d_EmailEdited as EmailEdited, ecomV1OrderOrders_universal_d_PickupReadyEmailSent as PickupReadyEmailSent, ecomV1OrderOrders_universal_d_OrderPartiallyPaid as OrderPartiallyPaid, ecomV1OrderOrders_universal_d_AddInternalActivityResponse as AddInternalActivityResponse, ecomV1OrderOrders_universal_d_AddActivityRequest as AddActivityRequest, ecomV1OrderOrders_universal_d_PublicActivity as PublicActivity, ecomV1OrderOrders_universal_d_PublicActivityContentOneOf as PublicActivityContentOneOf, ecomV1OrderOrders_universal_d_AddActivityResponse as AddActivityResponse, ecomV1OrderOrders_universal_d_AddActivitiesRequest as AddActivitiesRequest, ecomV1OrderOrders_universal_d_AddActivitiesResponse as AddActivitiesResponse, ecomV1OrderOrders_universal_d_UpdateActivityRequest as UpdateActivityRequest, ecomV1OrderOrders_universal_d_UpdateActivityResponse as UpdateActivityResponse, ecomV1OrderOrders_universal_d_DeleteActivityRequest as DeleteActivityRequest, ecomV1OrderOrders_universal_d_DeleteActivityResponse as DeleteActivityResponse, ecomV1OrderOrders_universal_d_UpdateLineItemsDescriptionLinesRequest as UpdateLineItemsDescriptionLinesRequest, ecomV1OrderOrders_universal_d_LineItemUpdate as LineItemUpdate, ecomV1OrderOrders_universal_d_UpdateLineItemsDescriptionLinesResponse as UpdateLineItemsDescriptionLinesResponse, ecomV1OrderOrders_universal_d_MarkOrderAsSeenByHumanRequest as MarkOrderAsSeenByHumanRequest, ecomV1OrderOrders_universal_d_MarkOrderAsSeenByHumanResponse as MarkOrderAsSeenByHumanResponse, ecomV1OrderOrders_universal_d_CancelOrderRequest as CancelOrderRequest, ecomV1OrderOrders_universal_d_CancelOrderResponse as CancelOrderResponse, ecomV1OrderOrders_universal_d_OrderCanceledEventOrderCanceled as OrderCanceledEventOrderCanceled, ecomV1OrderOrders_universal_d_MarkAsFulfilledRequest as MarkAsFulfilledRequest, ecomV1OrderOrders_universal_d_MarkAsFulfilledResponse as MarkAsFulfilledResponse, ecomV1OrderOrders_universal_d_FulfillmentStatusUpdated as FulfillmentStatusUpdated, ecomV1OrderOrders_universal_d_BulkMarkAsFulfilledRequest as BulkMarkAsFulfilledRequest, ecomV1OrderOrders_universal_d_BulkMarkAsFulfilledResponse as BulkMarkAsFulfilledResponse, ecomV1OrderOrders_universal_d_BulkMarkAsFulfilledByFilterRequest as BulkMarkAsFulfilledByFilterRequest, ecomV1OrderOrders_universal_d_BulkMarkAsFulfilledByFilterResponse as BulkMarkAsFulfilledByFilterResponse, ecomV1OrderOrders_universal_d_MarkAsUnfulfilledRequest as MarkAsUnfulfilledRequest, ecomV1OrderOrders_universal_d_MarkAsUnfulfilledResponse as MarkAsUnfulfilledResponse, ecomV1OrderOrders_universal_d_BulkMarkAsUnfulfilledRequest as BulkMarkAsUnfulfilledRequest, ecomV1OrderOrders_universal_d_BulkMarkAsUnfulfilledResponse as BulkMarkAsUnfulfilledResponse, ecomV1OrderOrders_universal_d_BulkMarkAsUnfulfilledByFilterRequest as BulkMarkAsUnfulfilledByFilterRequest, ecomV1OrderOrders_universal_d_BulkMarkAsUnfulfilledByFilterResponse as BulkMarkAsUnfulfilledByFilterResponse, ecomV1OrderOrders_universal_d_V1MarkOrderAsPaidRequest as V1MarkOrderAsPaidRequest, ecomV1OrderOrders_universal_d_V1MarkOrderAsPaidResponse as V1MarkOrderAsPaidResponse, ecomV1OrderOrders_universal_d_V1BulkMarkOrdersAsPaidRequest as V1BulkMarkOrdersAsPaidRequest, ecomV1OrderOrders_universal_d_V1BulkMarkOrdersAsPaidResponse as V1BulkMarkOrdersAsPaidResponse, ecomV1OrderOrders_universal_d_V1CreatePaymentGatewayOrderRequest as V1CreatePaymentGatewayOrderRequest, ecomV1OrderOrders_universal_d_V1CreatePaymentGatewayOrderResponse as V1CreatePaymentGatewayOrderResponse, ecomV1OrderOrders_universal_d_GetShipmentsRequest as GetShipmentsRequest, ecomV1OrderOrders_universal_d_GetShipmentsResponse as GetShipmentsResponse, ecomV1OrderOrders_universal_d_AggregateOrdersRequest as AggregateOrdersRequest, ecomV1OrderOrders_universal_d_AggregateOrdersResponse as AggregateOrdersResponse, ecomV1OrderOrders_universal_d_DecrementItemsQuantityRequest as DecrementItemsQuantityRequest, ecomV1OrderOrders_universal_d_DecrementData as DecrementData, ecomV1OrderOrders_universal_d_DecrementItemsQuantityResponse as DecrementItemsQuantityResponse, ecomV1OrderOrders_universal_d_OrderItemsRestocked as OrderItemsRestocked, ecomV1OrderOrders_universal_d_V1RestockItem as V1RestockItem, ecomV1OrderOrders_universal_d_BulkUpdateOrderTagsRequest as BulkUpdateOrderTagsRequest, ecomV1OrderOrders_universal_d_BulkUpdateOrderTagsResponse as BulkUpdateOrderTagsResponse, ecomV1OrderOrders_universal_d_BulkUpdateOrderTagsResult as BulkUpdateOrderTagsResult, ecomV1OrderOrders_universal_d_OrderApproved as OrderApproved, ecomV1OrderOrders_universal_d_Task as Task, ecomV1OrderOrders_universal_d_TaskKey as TaskKey, ecomV1OrderOrders_universal_d_TaskAction as TaskAction, ecomV1OrderOrders_universal_d_TaskActionActionOneOf as TaskActionActionOneOf, ecomV1OrderOrders_universal_d_Complete as Complete, ecomV1OrderOrders_universal_d_Cancel as Cancel, ecomV1OrderOrders_universal_d_Reschedule as Reschedule, ecomV1OrderOrders_universal_d_InvoiceSentEvent as InvoiceSentEvent, ecomV1OrderOrders_universal_d_IdAndVersion as IdAndVersion, ecomV1OrderOrders_universal_d_InvoiceFields as InvoiceFields, ecomV1OrderOrders_universal_d_Customer as Customer, ecomV1OrderOrders_universal_d_Email as Email, ecomV1OrderOrders_universal_d_QuotesAddress as QuotesAddress, ecomV1OrderOrders_universal_d_AddressDescription as AddressDescription, ecomV1OrderOrders_universal_d_Placement as Placement, ecomV1OrderOrders_universal_d_Phone as Phone, ecomV1OrderOrders_universal_d_Company as Company, ecomV1OrderOrders_universal_d_CommonAddress as CommonAddress, ecomV1OrderOrders_universal_d_CommonAddressStreetOneOf as CommonAddressStreetOneOf, ecomV1OrderOrders_universal_d_Subdivision as Subdivision, ecomV1OrderOrders_universal_d_SubdivisionType as SubdivisionType, ecomV1OrderOrders_universal_d_StandardDetails as StandardDetails, ecomV1OrderOrders_universal_d_InvoiceDates as InvoiceDates, ecomV1OrderOrders_universal_d_LineItems as LineItems, LineItem$1 as LineItem, ecomV1OrderOrders_universal_d_BigDecimalWrapper as BigDecimalWrapper, ecomV1OrderOrders_universal_d_LineItemTax as LineItemTax, ecomV1OrderOrders_universal_d_Source as Source, ecomV1OrderOrders_universal_d_SourceType as SourceType, ecomV1OrderOrders_universal_d_LineItemMetaData as LineItemMetaData, ecomV1OrderOrders_universal_d_Locale as Locale, ecomV1OrderOrders_universal_d_TotalPrice as TotalPrice, ecomV1OrderOrders_universal_d_ItemizedFee as ItemizedFee, Discount$1 as Discount, ecomV1OrderOrders_universal_d_DiscountOneDiscountTypeOneOf as DiscountOneDiscountTypeOneOf, ecomV1OrderOrders_universal_d_CalculatedTaxes as CalculatedTaxes, ecomV1OrderOrders_universal_d_CalculatedTax as CalculatedTax, ecomV1OrderOrders_universal_d_Payments as Payments, ecomV1OrderOrders_universal_d_InvoicesPayment as InvoicesPayment, ecomV1OrderOrders_universal_d_MetaData as MetaData, ecomV1OrderOrders_universal_d_InvoiceDynamicPriceTotals as InvoiceDynamicPriceTotals, ecomV1OrderOrders_universal_d_CustomFieldValue as CustomFieldValue, ecomV1OrderOrders_universal_d_CustomFieldGroup as CustomFieldGroup, ecomV1OrderOrders_universal_d_Value as Value, ecomV1OrderOrders_universal_d_ValueType as ValueType, ecomV1OrderOrders_universal_d_Deposit as Deposit, ecomV1OrderOrders_universal_d_DepositType as DepositType, ecomV1OrderOrders_universal_d_InvoiceStatus as InvoiceStatus, ecomV1OrderOrders_universal_d_TriggerSideEffectsFromLegacyData as TriggerSideEffectsFromLegacyData, ecomV1OrderOrders_universal_d_QueryOrdersForMetasiteOptions as QueryOrdersForMetasiteOptions, ecomV1OrderOrders_universal_d_GetOrderForMetasiteIdentifiers as GetOrderForMetasiteIdentifiers, ecomV1OrderOrders_universal_d_ListOrderTransactionsForMetasiteIdentifiers as ListOrderTransactionsForMetasiteIdentifiers, ecomV1OrderOrders_universal_d_TriggerReindexOptions as TriggerReindexOptions, ecomV1OrderOrders_universal_d_BulkSendBuyerPickupConfirmationEmailsOptions as BulkSendBuyerPickupConfirmationEmailsOptions, ecomV1OrderOrders_universal_d_BulkSendBuyerShippingConfirmationEmailsOptions as BulkSendBuyerShippingConfirmationEmailsOptions, ecomV1OrderOrders_universal_d_SendCancelRefundEmailOptions as SendCancelRefundEmailOptions, ecomV1OrderOrders_universal_d_PreviewRefundEmailOptions as PreviewRefundEmailOptions, ecomV1OrderOrders_universal_d_PreviewCancelEmailOptions as PreviewCancelEmailOptions, ecomV1OrderOrders_universal_d_PreviewCancelRefundEmailOptions as PreviewCancelRefundEmailOptions, ecomV1OrderOrders_universal_d_PreparePaymentCollectionOptions as PreparePaymentCollectionOptions, ecomV1OrderOrders_universal_d_getPaymentCollectabilityStatus as getPaymentCollectabilityStatus, ecomV1OrderOrders_universal_d_PaymentCollectionCreatePaymentGatewayOrderOptions as PaymentCollectionCreatePaymentGatewayOrderOptions, ecomV1OrderOrders_universal_d_ChargeMembershipsOptions as ChargeMembershipsOptions, TriggerRefundOptions$1 as TriggerRefundOptions, CalculateRefundOptions$1 as CalculateRefundOptions, ecomV1OrderOrders_universal_d_getOrder as getOrder, ecomV1OrderOrders_universal_d_InternalQueryOrdersOptions as InternalQueryOrdersOptions, ecomV1OrderOrders_universal_d_OrdersQueryResult as OrdersQueryResult, ecomV1OrderOrders_universal_d_OrdersQueryBuilder as OrdersQueryBuilder, ecomV1OrderOrders_universal_d_searchOrders as searchOrders, ecomV1OrderOrders_universal_d_SearchOrdersOptions as SearchOrdersOptions, ecomV1OrderOrders_universal_d_createOrder as createOrder, ecomV1OrderOrders_universal_d_CreateOrderOptions as CreateOrderOptions, ecomV1OrderOrders_universal_d_updateOrder as updateOrder, ecomV1OrderOrders_universal_d_UpdateOrder as UpdateOrder, ecomV1OrderOrders_universal_d_UpdateOrderOptions as UpdateOrderOptions, ecomV1OrderOrders_universal_d_bulkUpdateOrders as bulkUpdateOrders, ecomV1OrderOrders_universal_d_BulkUpdateOrdersOptions as BulkUpdateOrdersOptions, ecomV1OrderOrders_universal_d_CommitDeltasOptions as CommitDeltasOptions, ecomV1OrderOrders_universal_d_BulkArchiveOrdersOptions as BulkArchiveOrdersOptions, ecomV1OrderOrders_universal_d_BulkUnArchiveOrdersOptions as BulkUnArchiveOrdersOptions, ecomV1OrderOrders_universal_d_UpdateBuyerInfoOptions as UpdateBuyerInfoOptions, ecomV1OrderOrders_universal_d_UpdateBuyerEmailOptions as UpdateBuyerEmailOptions, ecomV1OrderOrders_universal_d_UpdateOrderShippingAddressOptions as UpdateOrderShippingAddressOptions, ecomV1OrderOrders_universal_d_UpdateBillingContactDetailsOptions as UpdateBillingContactDetailsOptions, ecomV1OrderOrders_universal_d_UpdateOrderLineItemIdentifiers as UpdateOrderLineItemIdentifiers, ecomV1OrderOrders_universal_d_UpdateOrderLineItem as UpdateOrderLineItem, ecomV1OrderOrders_universal_d_UpdateOrderLineItemOptions as UpdateOrderLineItemOptions, ecomV1OrderOrders_universal_d_UpdateActivityIdentifiers as UpdateActivityIdentifiers, ecomV1OrderOrders_universal_d_DeleteActivityIdentifiers as DeleteActivityIdentifiers, ecomV1OrderOrders_universal_d_cancelOrder as cancelOrder, ecomV1OrderOrders_universal_d_CancelOrderOptions as CancelOrderOptions, ecomV1OrderOrders_universal_d_BulkMarkAsFulfilledOptions as BulkMarkAsFulfilledOptions, ecomV1OrderOrders_universal_d_BulkMarkAsUnfulfilledOptions as BulkMarkAsUnfulfilledOptions, ecomV1OrderOrders_universal_d_AggregateOrdersOptions as AggregateOrdersOptions, ecomV1OrderOrders_universal_d_BulkUpdateOrderTagsOptions as BulkUpdateOrderTagsOptions, };\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        /**\n         * Date and time the checkout settings were created.\n         * @readonly\n         */\n        _createdDate?: Date;\n        /**\n         * Date and time the checkout settings were updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\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    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        /** Size of the logo. */\n        size?: LogoSize;\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    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 {\n    }\n    interface DeleteCheckoutSettingsRequest {\n    }\n    interface DeleteCheckoutSettingsResponse {\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;\n        /**\n         * Whether the event was triggered as a result of a privacy regulation application\n         * (for example, GDPR).\n         */\n        triggeredByAnonymizeRequest?: boolean | null;\n        /** If present, indicates the action that triggered the event. */\n        originatedFrom?: string | null;\n        /**\n         * A sequence number defining the order of updates to the underlying entity.\n         * For example, given that some entity was updated at 16:00 and than again at 16:01,\n         * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n         * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n         * To do so, you will need to persist this number on your end, and compare the sequence number from the\n         * message against the one you have 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        /** 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$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    interface EntityDeletedEvent$2 {\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     * 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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Read eCommerce - all read permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-STORES.READ-ORDERS\n     * @permissionScope Read Stores - all read permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns The updated checkout settings.\n     */\n    function updateCheckoutSettings(checkoutSettings: CheckoutSettings, options?: UpdateCheckoutSettingsOptions): Promise<UpdateCheckoutSettingsResponse>;\n    interface UpdateCheckoutSettingsOptions {\n    }\n    type ecomV1CheckoutSettingsCheckoutSettings_universal_d_CheckoutSettings = CheckoutSettings;\n    type ecomV1CheckoutSettingsCheckoutSettings_universal_d_CheckoutPolicies = CheckoutPolicies;\n    type ecomV1CheckoutSettingsCheckoutSettings_universal_d_TermsAndConditionsPolicy = TermsAndConditionsPolicy;\n    type ecomV1CheckoutSettingsCheckoutSettings_universal_d_PrivacyPolicy = PrivacyPolicy;\n    type ecomV1CheckoutSettingsCheckoutSettings_universal_d_ReturnPolicy = ReturnPolicy;\n    type ecomV1CheckoutSettingsCheckoutSettings_universal_d_DigitalItemPolicy = DigitalItemPolicy;\n    type ecomV1CheckoutSettingsCheckoutSettings_universal_d_ContactUsPolicy = ContactUsPolicy;\n    type ecomV1CheckoutSettingsCheckoutSettings_universal_d_CustomCheckoutPolicy = CustomCheckoutPolicy;\n    type ecomV1CheckoutSettingsCheckoutSettings_universal_d_CheckoutFields = CheckoutFields;\n    type ecomV1CheckoutSettingsCheckoutSettings_universal_d_CheckboxField = CheckboxField;\n    type ecomV1CheckoutSettingsCheckoutSettings_universal_d_CheckoutBrand = CheckoutBrand;\n    type ecomV1CheckoutSettingsCheckoutSettings_universal_d_CheckoutHeader = CheckoutHeader;\n    type ecomV1CheckoutSettingsCheckoutSettings_universal_d_Logo = Logo;\n    type ecomV1CheckoutSettingsCheckoutSettings_universal_d_LogoSize = LogoSize;\n    const ecomV1CheckoutSettingsCheckoutSettings_universal_d_LogoSize: typeof LogoSize;\n    type ecomV1CheckoutSettingsCheckoutSettings_universal_d_Alignment = Alignment;\n    const ecomV1CheckoutSettingsCheckoutSettings_universal_d_Alignment: typeof Alignment;\n    type ecomV1CheckoutSettingsCheckoutSettings_universal_d_GetCheckoutSettingsRequest = GetCheckoutSettingsRequest;\n    type ecomV1CheckoutSettingsCheckoutSettings_universal_d_GetCheckoutSettingsResponse = GetCheckoutSettingsResponse;\n    type ecomV1CheckoutSettingsCheckoutSettings_universal_d_UpdateCheckoutSettingsRequest = UpdateCheckoutSettingsRequest;\n    type ecomV1CheckoutSettingsCheckoutSettings_universal_d_UpdateCheckoutSettingsResponse = UpdateCheckoutSettingsResponse;\n    type ecomV1CheckoutSettingsCheckoutSettings_universal_d_ListCheckoutSettingsRequest = ListCheckoutSettingsRequest;\n    type ecomV1CheckoutSettingsCheckoutSettings_universal_d_ListCheckoutSettingsResponse = ListCheckoutSettingsResponse;\n    type ecomV1CheckoutSettingsCheckoutSettings_universal_d_GiftCardProviderWasProvisioned = GiftCardProviderWasProvisioned;\n    type ecomV1CheckoutSettingsCheckoutSettings_universal_d_Empty = Empty;\n    type ecomV1CheckoutSettingsCheckoutSettings_universal_d_DeleteCheckoutSettingsRequest = DeleteCheckoutSettingsRequest;\n    type ecomV1CheckoutSettingsCheckoutSettings_universal_d_DeleteCheckoutSettingsResponse = DeleteCheckoutSettingsResponse;\n    const ecomV1CheckoutSettingsCheckoutSettings_universal_d_getCheckoutSettings: typeof getCheckoutSettings;\n    const ecomV1CheckoutSettingsCheckoutSettings_universal_d_updateCheckoutSettings: typeof updateCheckoutSettings;\n    type ecomV1CheckoutSettingsCheckoutSettings_universal_d_UpdateCheckoutSettingsOptions = UpdateCheckoutSettingsOptions;\n    namespace ecomV1CheckoutSettingsCheckoutSettings_universal_d {\n        export { ecomV1CheckoutSettingsCheckoutSettings_universal_d_CheckoutSettings as CheckoutSettings, ecomV1CheckoutSettingsCheckoutSettings_universal_d_CheckoutPolicies as CheckoutPolicies, ecomV1CheckoutSettingsCheckoutSettings_universal_d_TermsAndConditionsPolicy as TermsAndConditionsPolicy, ecomV1CheckoutSettingsCheckoutSettings_universal_d_PrivacyPolicy as PrivacyPolicy, ecomV1CheckoutSettingsCheckoutSettings_universal_d_ReturnPolicy as ReturnPolicy, ecomV1CheckoutSettingsCheckoutSettings_universal_d_DigitalItemPolicy as DigitalItemPolicy, ecomV1CheckoutSettingsCheckoutSettings_universal_d_ContactUsPolicy as ContactUsPolicy, ecomV1CheckoutSettingsCheckoutSettings_universal_d_CustomCheckoutPolicy as CustomCheckoutPolicy, ecomV1CheckoutSettingsCheckoutSettings_universal_d_CheckoutFields as CheckoutFields, ecomV1CheckoutSettingsCheckoutSettings_universal_d_CheckboxField as CheckboxField, ecomV1CheckoutSettingsCheckoutSettings_universal_d_CheckoutBrand as CheckoutBrand, ecomV1CheckoutSettingsCheckoutSettings_universal_d_CheckoutHeader as CheckoutHeader, ecomV1CheckoutSettingsCheckoutSettings_universal_d_Logo as Logo, ecomV1CheckoutSettingsCheckoutSettings_universal_d_LogoSize as LogoSize, ecomV1CheckoutSettingsCheckoutSettings_universal_d_Alignment as Alignment, ecomV1CheckoutSettingsCheckoutSettings_universal_d_GetCheckoutSettingsRequest as GetCheckoutSettingsRequest, ecomV1CheckoutSettingsCheckoutSettings_universal_d_GetCheckoutSettingsResponse as GetCheckoutSettingsResponse, ecomV1CheckoutSettingsCheckoutSettings_universal_d_UpdateCheckoutSettingsRequest as UpdateCheckoutSettingsRequest, ecomV1CheckoutSettingsCheckoutSettings_universal_d_UpdateCheckoutSettingsResponse as UpdateCheckoutSettingsResponse, ecomV1CheckoutSettingsCheckoutSettings_universal_d_ListCheckoutSettingsRequest as ListCheckoutSettingsRequest, ecomV1CheckoutSettingsCheckoutSettings_universal_d_ListCheckoutSettingsResponse as ListCheckoutSettingsResponse, ecomV1CheckoutSettingsCheckoutSettings_universal_d_GiftCardProviderWasProvisioned as GiftCardProviderWasProvisioned, ecomV1CheckoutSettingsCheckoutSettings_universal_d_Empty as Empty, ecomV1CheckoutSettingsCheckoutSettings_universal_d_DeleteCheckoutSettingsRequest as DeleteCheckoutSettingsRequest, ecomV1CheckoutSettingsCheckoutSettings_universal_d_DeleteCheckoutSettingsResponse as DeleteCheckoutSettingsResponse, DomainEvent$2 as DomainEvent, DomainEventBodyOneOf$2 as DomainEventBodyOneOf, EntityCreatedEvent$2 as EntityCreatedEvent, RestoreInfo$1 as RestoreInfo, EntityUpdatedEvent$2 as EntityUpdatedEvent, EntityDeletedEvent$2 as EntityDeletedEvent, ActionEvent$2 as ActionEvent, MessageEnvelope$2 as MessageEnvelope, IdentificationData$2 as IdentificationData, IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf, WebhookIdentityType$2 as WebhookIdentityType, ecomV1CheckoutSettingsCheckoutSettings_universal_d_getCheckoutSettings as getCheckoutSettings, ecomV1CheckoutSettingsCheckoutSettings_universal_d_updateCheckoutSettings as updateCheckoutSettings, ecomV1CheckoutSettingsCheckoutSettings_universal_d_UpdateCheckoutSettingsOptions as UpdateCheckoutSettingsOptions, };\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;\n        /**\n         * Date and time the orders settings were updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\n    }\n    enum InventoryUpdateTrigger {\n        UNKNOWN_INVENTORY_UPDATE_TRIGGER = \"UNKNOWN_INVENTORY_UPDATE_TRIGGER\",\n        ON_ORDER_PAID = \"ON_ORDER_PAID\",\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    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$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        /** 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$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    interface EntityDeletedEvent$1 {\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 the sites' order settings.\n     *\n     *\n     * The `getOrdersSettings()` function returns a Promise that resolves to orders settings.\n     * @public\n     * @documentationMaturity preview\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Read eCommerce - all read permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-STORES.READ-ORDERS\n     * @permissionScope Read Stores - all read permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns The updated orders settings.\n     */\n    function updateOrdersSettings(ordersSettings: OrdersSettings, options?: UpdateOrdersSettingsOptions): Promise<UpdateOrdersSettingsResponse>;\n    interface UpdateOrdersSettingsOptions {\n    }\n    type ecomV1OrdersSettingsOrdersSettings_universal_d_OrdersSettings = OrdersSettings;\n    type ecomV1OrdersSettingsOrdersSettings_universal_d_InventoryUpdateTrigger = InventoryUpdateTrigger;\n    const ecomV1OrdersSettingsOrdersSettings_universal_d_InventoryUpdateTrigger: typeof InventoryUpdateTrigger;\n    type ecomV1OrdersSettingsOrdersSettings_universal_d_GetOrdersSettingsRequest = GetOrdersSettingsRequest;\n    type ecomV1OrdersSettingsOrdersSettings_universal_d_GetOrdersSettingsResponse = GetOrdersSettingsResponse;\n    type ecomV1OrdersSettingsOrdersSettings_universal_d_UpdateOrdersSettingsRequest = UpdateOrdersSettingsRequest;\n    type ecomV1OrdersSettingsOrdersSettings_universal_d_UpdateOrdersSettingsResponse = UpdateOrdersSettingsResponse;\n    type ecomV1OrdersSettingsOrdersSettings_universal_d_DeleteOrdersSettingsRequest = DeleteOrdersSettingsRequest;\n    type ecomV1OrdersSettingsOrdersSettings_universal_d_DeleteOrdersSettingsResponse = DeleteOrdersSettingsResponse;\n    type ecomV1OrdersSettingsOrdersSettings_universal_d_ListOrdersSettingsRequest = ListOrdersSettingsRequest;\n    type ecomV1OrdersSettingsOrdersSettings_universal_d_ListOrdersSettingsResponse = ListOrdersSettingsResponse;\n    type ecomV1OrdersSettingsOrdersSettings_universal_d_RestoreInfo = RestoreInfo;\n    const ecomV1OrdersSettingsOrdersSettings_universal_d_getOrdersSettings: typeof getOrdersSettings;\n    const ecomV1OrdersSettingsOrdersSettings_universal_d_updateOrdersSettings: typeof updateOrdersSettings;\n    type ecomV1OrdersSettingsOrdersSettings_universal_d_UpdateOrdersSettingsOptions = UpdateOrdersSettingsOptions;\n    namespace ecomV1OrdersSettingsOrdersSettings_universal_d {\n        export { ecomV1OrdersSettingsOrdersSettings_universal_d_OrdersSettings as OrdersSettings, ecomV1OrdersSettingsOrdersSettings_universal_d_InventoryUpdateTrigger as InventoryUpdateTrigger, ecomV1OrdersSettingsOrdersSettings_universal_d_GetOrdersSettingsRequest as GetOrdersSettingsRequest, ecomV1OrdersSettingsOrdersSettings_universal_d_GetOrdersSettingsResponse as GetOrdersSettingsResponse, ecomV1OrdersSettingsOrdersSettings_universal_d_UpdateOrdersSettingsRequest as UpdateOrdersSettingsRequest, ecomV1OrdersSettingsOrdersSettings_universal_d_UpdateOrdersSettingsResponse as UpdateOrdersSettingsResponse, ecomV1OrdersSettingsOrdersSettings_universal_d_DeleteOrdersSettingsRequest as DeleteOrdersSettingsRequest, ecomV1OrdersSettingsOrdersSettings_universal_d_DeleteOrdersSettingsResponse as DeleteOrdersSettingsResponse, ecomV1OrdersSettingsOrdersSettings_universal_d_ListOrdersSettingsRequest as ListOrdersSettingsRequest, ecomV1OrdersSettingsOrdersSettings_universal_d_ListOrdersSettingsResponse as ListOrdersSettingsResponse, DomainEvent$1 as DomainEvent, DomainEventBodyOneOf$1 as DomainEventBodyOneOf, EntityCreatedEvent$1 as EntityCreatedEvent, ecomV1OrdersSettingsOrdersSettings_universal_d_RestoreInfo as RestoreInfo, EntityUpdatedEvent$1 as EntityUpdatedEvent, EntityDeletedEvent$1 as EntityDeletedEvent, ActionEvent$1 as ActionEvent, MessageEnvelope$1 as MessageEnvelope, IdentificationData$1 as IdentificationData, IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf, WebhookIdentityType$1 as WebhookIdentityType, ecomV1OrdersSettingsOrdersSettings_universal_d_getOrdersSettings as getOrdersSettings, ecomV1OrdersSettingsOrdersSettings_universal_d_updateOrdersSettings as updateOrdersSettings, ecomV1OrdersSettingsOrdersSettings_universal_d_UpdateOrdersSettingsOptions as UpdateOrdersSettingsOptions, };\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         * 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;\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;\n        /** Payment amount. */\n        amount?: Price;\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    interface RegularPaymentDetails {\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    }\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 GiftCardPaymentDetails {\n        /** Gift card payment ID. */\n        giftCardPaymentId?: 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    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;\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        /** CHARGED - Payment was charged */\n        CHARGED = \"CHARGED\",\n        /** CHARGE_FAILED - The attempt to charge that payment have failed, for example due to lack of credits */\n        CHARGE_FAILED = \"CHARGE_FAILED\"\n    }\n    interface MembershipName {\n        /** The name of this membership */\n        original?: string;\n        /** Optional - Translated name of this membership. Defaults to `original` when not provided. */\n        translated?: string | 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 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        /** 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        _createdDate?: Date;\n    }\n    interface RefundTransaction {\n        /** ID of the payment associated with this refund. */\n        paymentId?: string;\n        /** Refund amount. */\n        amount?: Price;\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    enum RefundStatus {\n        PENDING = \"PENDING\",\n        SUCCEEDED = \"SUCCEEDED\",\n        FAILED = \"FAILED\"\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    interface RefundItem {\n        /** Line item ID the refunded line item. */\n        lineItemId?: string;\n        /** Line item quantity refunded. */\n        quantity?: number;\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 {\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 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;\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?: 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;\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    /** 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    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        /** 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        /** Deprecated - 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    }\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    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 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;\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        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;\n        /** Subscription options info. */\n        subscriptionOptionInfo?: SubscriptionOptionInfo;\n    }\n    interface SubscriptionSettings {\n        /** Frequency of recurring payment. */\n        frequency?: SubscriptionFrequency;\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        /** 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;\n        /** Refund amount. */\n        amount?: string;\n        /** Reason for refund, given by user (optional). */\n        reason?: string | null;\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 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    /** 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    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 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 RestockInfo {\n        /** Restock type. */\n        type?: RestockType;\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 AddRefundResponse {\n        /** Order ID and its associated transactions. */\n        orderTransactions?: OrderTransactions;\n        /** Created refund ID */\n        refundId?: 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 UpdatePaymentStatusRequest {\n        /** Order ID. */\n        orderId: string;\n        /** Payment ID. */\n        paymentId: string;\n        /** Payment status. */\n        status?: TransactionStatus;\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    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;\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 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 refunds. */\n        amount?: Price;\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    interface TriggerRefundResponse {\n        /** All order's transactions after the refunds were added */\n        orderTransactions?: OrderTransactions;\n        /** Created refund ID */\n        refundId?: 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 = \"NOT_REFUNDABLE\",\n        MANUAL = \"MANUAL\",\n        REFUNDABLE = \"REFUNDABLE\"\n    }\n    enum NonRefundableReason {\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        PARTIALLY_PAID = \"PARTIALLY_PAID\",\n        DEPOSIT_ONLINE_ITEM = \"DEPOSIT_ONLINE_ITEM\",\n        PENDING_REFUND = \"PENDING_REFUND\",\n        FORBIDDEN = \"FORBIDDEN\"\n    }\n    enum ManuallyRefundableReason {\n        EXPIRED = \"EXPIRED\",\n        NOT_SUPPORTED = \"NOT_SUPPORTED\",\n        NOT_FOUND = \"NOT_FOUND\",\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        /** Invoice URL. */\n        url?: string | null;\n        /** Invoice creation date and time. */\n        _createdDate?: Date;\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 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    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    interface EntityDeletedEvent {\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 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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Read eCommerce - all read permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-STORES.READ-ORDERS\n     * @permissionScope Read Stores - all read permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Read eCommerce - all read permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-STORES.READ-ORDERS\n     * @permissionScope Read Stores - all read permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function addPayments(orderId: string, payments: Payment[]): Promise<AddPaymentsResponse>;\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\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    /**\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\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    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    interface CalculateRefundOptions {\n        /** Refunded line items and quantity */\n        refundItems?: CalculateRefundItemRequest[];\n        /** Should include shipping in refund calculation */\n        refundShipping?: boolean;\n    }\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_OrderTransactions = OrderTransactions;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_Payment = Payment;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_PaymentPaymentDetailsOneOf = PaymentPaymentDetailsOneOf;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_RegularPaymentDetails = RegularPaymentDetails;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_TransactionStatus = TransactionStatus;\n    const ecomV1OrderTransactionsOrderTransactions_universal_d_TransactionStatus: typeof TransactionStatus;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_GiftCardPaymentDetails = GiftCardPaymentDetails;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_MembershipPaymentDetails = MembershipPaymentDetails;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_MembershipPaymentStatus = MembershipPaymentStatus;\n    const ecomV1OrderTransactionsOrderTransactions_universal_d_MembershipPaymentStatus: typeof MembershipPaymentStatus;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_MembershipName = MembershipName;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_Price = Price;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_Refund = Refund;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_RefundTransaction = RefundTransaction;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_RefundStatus = RefundStatus;\n    const ecomV1OrderTransactionsOrderTransactions_universal_d_RefundStatus: typeof RefundStatus;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_RefundDetails = RefundDetails;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_RefundItem = RefundItem;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_SnapshotMessage = SnapshotMessage;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_IndexingMessage = IndexingMessage;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_DiffmatokyPayload = DiffmatokyPayload;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_ErrorInformation = ErrorInformation;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_OrderRefunded = OrderRefunded;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_Order = Order;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_BuyerInfo = BuyerInfo;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_IdentityType = IdentityType;\n    const ecomV1OrderTransactionsOrderTransactions_universal_d_IdentityType: typeof IdentityType;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_WeightUnit = WeightUnit;\n    const ecomV1OrderTransactionsOrderTransactions_universal_d_WeightUnit: typeof WeightUnit;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_Totals = Totals;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_BillingInfo = BillingInfo;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_Address = Address;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_AddressAddressLine1OptionsOneOf = AddressAddressLine1OptionsOneOf;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_FullName = FullName;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_Street = Street;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_VatId = VatId;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_VatType = VatType;\n    const ecomV1OrderTransactionsOrderTransactions_universal_d_VatType: typeof VatType;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_ShippingInfo = ShippingInfo;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_ShippingInfoDetailsOneOf = ShippingInfoDetailsOneOf;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_ShipmentDetails = ShipmentDetails;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_TrackingInfo = TrackingInfo;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_ShippingPriceData = ShippingPriceData;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_PickupDetails = PickupDetails;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_PickupAddress = PickupAddress;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_BuyerDetails = BuyerDetails;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_PaymentStatus = PaymentStatus;\n    const ecomV1OrderTransactionsOrderTransactions_universal_d_PaymentStatus: typeof PaymentStatus;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_FulfillmentStatus = FulfillmentStatus;\n    const ecomV1OrderTransactionsOrderTransactions_universal_d_FulfillmentStatus: typeof FulfillmentStatus;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_LineItem = LineItem;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_LineItemType = LineItemType;\n    const ecomV1OrderTransactionsOrderTransactions_universal_d_LineItemType: typeof LineItemType;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_OptionSelection = OptionSelection;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_CustomTextFieldSelection = CustomTextFieldSelection;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_MediaItem = MediaItem;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_MediaItemType = MediaItemType;\n    const ecomV1OrderTransactionsOrderTransactions_universal_d_MediaItemType: typeof MediaItemType;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_LineItemPriceData = LineItemPriceData;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_DigitalFile = DigitalFile;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_Activity = Activity;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_ActivityType = ActivityType;\n    const ecomV1OrderTransactionsOrderTransactions_universal_d_ActivityType: typeof ActivityType;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_V2InvoiceInfo = V2InvoiceInfo;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_InvoiceSource = InvoiceSource;\n    const ecomV1OrderTransactionsOrderTransactions_universal_d_InvoiceSource: typeof InvoiceSource;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_Fulfillment = Fulfillment;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_FulfillmentLineItem = FulfillmentLineItem;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_FulfillmentTrackingInfo = FulfillmentTrackingInfo;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_Discount = Discount;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_AppliedCoupon = AppliedCoupon;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_CustomField = CustomField;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_ChannelInfo = ChannelInfo;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_ChannelType = ChannelType;\n    const ecomV1OrderTransactionsOrderTransactions_universal_d_ChannelType: typeof ChannelType;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_EnteredBy = EnteredBy;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_EnteredByIdentityType = EnteredByIdentityType;\n    const ecomV1OrderTransactionsOrderTransactions_universal_d_EnteredByIdentityType: typeof EnteredByIdentityType;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_SubscriptionInfo = SubscriptionInfo;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_SubscriptionSettings = SubscriptionSettings;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_SubscriptionFrequency = SubscriptionFrequency;\n    const ecomV1OrderTransactionsOrderTransactions_universal_d_SubscriptionFrequency: typeof SubscriptionFrequency;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_SubscriptionOptionInfo = SubscriptionOptionInfo;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_V2Refund = V2Refund;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_GiftCard = GiftCard;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_ListTransactionsForSingleOrderRequest = ListTransactionsForSingleOrderRequest;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_ListTransactionsForSingleOrderResponse = ListTransactionsForSingleOrderResponse;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_ListTransactionsForMultipleOrdersRequest = ListTransactionsForMultipleOrdersRequest;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_ListTransactionsForMultipleOrdersResponse = ListTransactionsForMultipleOrdersResponse;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_AddPaymentsRequest = AddPaymentsRequest;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_AddPaymentsResponse = AddPaymentsResponse;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_PaymentsUpdated = PaymentsUpdated;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_AddRefundRequest = AddRefundRequest;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_RefundSideEffects = RefundSideEffects;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_RestockInfo = RestockInfo;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_RestockType = RestockType;\n    const ecomV1OrderTransactionsOrderTransactions_universal_d_RestockType: typeof RestockType;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_RestockItem = RestockItem;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_AddRefundResponse = AddRefundResponse;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_RefundCreated = RefundCreated;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_UpdatePaymentStatusRequest = UpdatePaymentStatusRequest;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_UpdatePaymentStatusResponse = UpdatePaymentStatusResponse;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_BulkUpdatePaymentStatusesRequest = BulkUpdatePaymentStatusesRequest;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_PaymentAndOrderId = PaymentAndOrderId;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_BulkUpdatePaymentStatusesResponse = BulkUpdatePaymentStatusesResponse;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_BulkPaymentResult = BulkPaymentResult;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_ItemMetadata = ItemMetadata;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_ApplicationError = ApplicationError;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_BulkActionMetadata = BulkActionMetadata;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_TriggerRefundRequest = TriggerRefundRequest;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_PaymentRefund = PaymentRefund;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_TriggerRefundResponse = TriggerRefundResponse;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_CalculateRefundRequest = CalculateRefundRequest;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_CalculateRefundItemRequest = CalculateRefundItemRequest;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_CalculateRefundResponse = CalculateRefundResponse;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_CalculateRefundItemResponse = CalculateRefundItemResponse;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_GetRefundabilityStatusRequest = GetRefundabilityStatusRequest;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_GetRefundabilityStatusResponse = GetRefundabilityStatusResponse;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_Refundability = Refundability;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_RefundabilityAdditionalRefundabilityInfoOneOf = RefundabilityAdditionalRefundabilityInfoOneOf;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_RefundableStatus = RefundableStatus;\n    const ecomV1OrderTransactionsOrderTransactions_universal_d_RefundableStatus: typeof RefundableStatus;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_NonRefundableReason = NonRefundableReason;\n    const ecomV1OrderTransactionsOrderTransactions_universal_d_NonRefundableReason: typeof NonRefundableReason;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_ManuallyRefundableReason = ManuallyRefundableReason;\n    const ecomV1OrderTransactionsOrderTransactions_universal_d_ManuallyRefundableReason: typeof ManuallyRefundableReason;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_ListInvoicesForSingleOrderRequest = ListInvoicesForSingleOrderRequest;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_ListInvoicesForSingleOrderResponse = ListInvoicesForSingleOrderResponse;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_InvoiceInfo = InvoiceInfo;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_ListInvoicesForMultipleOrdersRequest = ListInvoicesForMultipleOrdersRequest;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_ListInvoicesForMultipleOrdersResponse = ListInvoicesForMultipleOrdersResponse;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_InvoicesForOrder = InvoicesForOrder;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_GenerateInvoiceRequest = GenerateInvoiceRequest;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_GenerateInvoiceResponse = GenerateInvoiceResponse;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_BulkGenerateInvoicesRequest = BulkGenerateInvoicesRequest;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_BulkGenerateInvoicesResponse = BulkGenerateInvoicesResponse;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_BulkInvoiceResult = BulkInvoiceResult;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_InvoiceForOrder = InvoiceForOrder;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_AddInvoiceToOrderRequest = AddInvoiceToOrderRequest;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_AddInvoiceToOrderResponse = AddInvoiceToOrderResponse;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_DomainEvent = DomainEvent;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_ActionEvent = ActionEvent;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_MessageEnvelope = MessageEnvelope;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_IdentificationData = IdentificationData;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_WebhookIdentityType = WebhookIdentityType;\n    const ecomV1OrderTransactionsOrderTransactions_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n    const ecomV1OrderTransactionsOrderTransactions_universal_d_listTransactionsForSingleOrder: typeof listTransactionsForSingleOrder;\n    const ecomV1OrderTransactionsOrderTransactions_universal_d_listTransactionsForMultipleOrders: typeof listTransactionsForMultipleOrders;\n    const ecomV1OrderTransactionsOrderTransactions_universal_d_addPayments: typeof addPayments;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_AddRefundOptions = AddRefundOptions;\n    const ecomV1OrderTransactionsOrderTransactions_universal_d_updatePaymentStatus: typeof updatePaymentStatus;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_UpdatePaymentStatusIdentifiers = UpdatePaymentStatusIdentifiers;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_UpdatePaymentStatusOptions = UpdatePaymentStatusOptions;\n    const ecomV1OrderTransactionsOrderTransactions_universal_d_bulkUpdatePaymentStatuses: typeof bulkUpdatePaymentStatuses;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_BulkUpdatePaymentStatusesOptions = BulkUpdatePaymentStatusesOptions;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_TriggerRefundOptions = TriggerRefundOptions;\n    type ecomV1OrderTransactionsOrderTransactions_universal_d_CalculateRefundOptions = CalculateRefundOptions;\n    namespace ecomV1OrderTransactionsOrderTransactions_universal_d {\n        export { ecomV1OrderTransactionsOrderTransactions_universal_d_OrderTransactions as OrderTransactions, ecomV1OrderTransactionsOrderTransactions_universal_d_Payment as Payment, ecomV1OrderTransactionsOrderTransactions_universal_d_PaymentPaymentDetailsOneOf as PaymentPaymentDetailsOneOf, ecomV1OrderTransactionsOrderTransactions_universal_d_RegularPaymentDetails as RegularPaymentDetails, ecomV1OrderTransactionsOrderTransactions_universal_d_TransactionStatus as TransactionStatus, ecomV1OrderTransactionsOrderTransactions_universal_d_GiftCardPaymentDetails as GiftCardPaymentDetails, ecomV1OrderTransactionsOrderTransactions_universal_d_MembershipPaymentDetails as MembershipPaymentDetails, ecomV1OrderTransactionsOrderTransactions_universal_d_MembershipPaymentStatus as MembershipPaymentStatus, ecomV1OrderTransactionsOrderTransactions_universal_d_MembershipName as MembershipName, ecomV1OrderTransactionsOrderTransactions_universal_d_Price as Price, ecomV1OrderTransactionsOrderTransactions_universal_d_Refund as Refund, ecomV1OrderTransactionsOrderTransactions_universal_d_RefundTransaction as RefundTransaction, ecomV1OrderTransactionsOrderTransactions_universal_d_RefundStatus as RefundStatus, ecomV1OrderTransactionsOrderTransactions_universal_d_RefundDetails as RefundDetails, ecomV1OrderTransactionsOrderTransactions_universal_d_RefundItem as RefundItem, ecomV1OrderTransactionsOrderTransactions_universal_d_SnapshotMessage as SnapshotMessage, ecomV1OrderTransactionsOrderTransactions_universal_d_IndexingMessage as IndexingMessage, ecomV1OrderTransactionsOrderTransactions_universal_d_DiffmatokyPayload as DiffmatokyPayload, ecomV1OrderTransactionsOrderTransactions_universal_d_ErrorInformation as ErrorInformation, ecomV1OrderTransactionsOrderTransactions_universal_d_OrderRefunded as OrderRefunded, ecomV1OrderTransactionsOrderTransactions_universal_d_Order as Order, ecomV1OrderTransactionsOrderTransactions_universal_d_BuyerInfo as BuyerInfo, ecomV1OrderTransactionsOrderTransactions_universal_d_IdentityType as IdentityType, ecomV1OrderTransactionsOrderTransactions_universal_d_WeightUnit as WeightUnit, ecomV1OrderTransactionsOrderTransactions_universal_d_Totals as Totals, ecomV1OrderTransactionsOrderTransactions_universal_d_BillingInfo as BillingInfo, ecomV1OrderTransactionsOrderTransactions_universal_d_Address as Address, ecomV1OrderTransactionsOrderTransactions_universal_d_AddressAddressLine1OptionsOneOf as AddressAddressLine1OptionsOneOf, ecomV1OrderTransactionsOrderTransactions_universal_d_FullName as FullName, ecomV1OrderTransactionsOrderTransactions_universal_d_Street as Street, ecomV1OrderTransactionsOrderTransactions_universal_d_VatId as VatId, ecomV1OrderTransactionsOrderTransactions_universal_d_VatType as VatType, ecomV1OrderTransactionsOrderTransactions_universal_d_ShippingInfo as ShippingInfo, ecomV1OrderTransactionsOrderTransactions_universal_d_ShippingInfoDetailsOneOf as ShippingInfoDetailsOneOf, ecomV1OrderTransactionsOrderTransactions_universal_d_ShipmentDetails as ShipmentDetails, ecomV1OrderTransactionsOrderTransactions_universal_d_TrackingInfo as TrackingInfo, ecomV1OrderTransactionsOrderTransactions_universal_d_ShippingPriceData as ShippingPriceData, ecomV1OrderTransactionsOrderTransactions_universal_d_PickupDetails as PickupDetails, ecomV1OrderTransactionsOrderTransactions_universal_d_PickupAddress as PickupAddress, ecomV1OrderTransactionsOrderTransactions_universal_d_BuyerDetails as BuyerDetails, ecomV1OrderTransactionsOrderTransactions_universal_d_PaymentStatus as PaymentStatus, ecomV1OrderTransactionsOrderTransactions_universal_d_FulfillmentStatus as FulfillmentStatus, ecomV1OrderTransactionsOrderTransactions_universal_d_LineItem as LineItem, ecomV1OrderTransactionsOrderTransactions_universal_d_LineItemType as LineItemType, ecomV1OrderTransactionsOrderTransactions_universal_d_OptionSelection as OptionSelection, ecomV1OrderTransactionsOrderTransactions_universal_d_CustomTextFieldSelection as CustomTextFieldSelection, ecomV1OrderTransactionsOrderTransactions_universal_d_MediaItem as MediaItem, ecomV1OrderTransactionsOrderTransactions_universal_d_MediaItemType as MediaItemType, ecomV1OrderTransactionsOrderTransactions_universal_d_LineItemPriceData as LineItemPriceData, ecomV1OrderTransactionsOrderTransactions_universal_d_DigitalFile as DigitalFile, ecomV1OrderTransactionsOrderTransactions_universal_d_Activity as Activity, ecomV1OrderTransactionsOrderTransactions_universal_d_ActivityType as ActivityType, ecomV1OrderTransactionsOrderTransactions_universal_d_V2InvoiceInfo as V2InvoiceInfo, ecomV1OrderTransactionsOrderTransactions_universal_d_InvoiceSource as InvoiceSource, ecomV1OrderTransactionsOrderTransactions_universal_d_Fulfillment as Fulfillment, ecomV1OrderTransactionsOrderTransactions_universal_d_FulfillmentLineItem as FulfillmentLineItem, ecomV1OrderTransactionsOrderTransactions_universal_d_FulfillmentTrackingInfo as FulfillmentTrackingInfo, ecomV1OrderTransactionsOrderTransactions_universal_d_Discount as Discount, ecomV1OrderTransactionsOrderTransactions_universal_d_AppliedCoupon as AppliedCoupon, ecomV1OrderTransactionsOrderTransactions_universal_d_CustomField as CustomField, ecomV1OrderTransactionsOrderTransactions_universal_d_ChannelInfo as ChannelInfo, ecomV1OrderTransactionsOrderTransactions_universal_d_ChannelType as ChannelType, ecomV1OrderTransactionsOrderTransactions_universal_d_EnteredBy as EnteredBy, ecomV1OrderTransactionsOrderTransactions_universal_d_EnteredByIdentityType as EnteredByIdentityType, ecomV1OrderTransactionsOrderTransactions_universal_d_SubscriptionInfo as SubscriptionInfo, ecomV1OrderTransactionsOrderTransactions_universal_d_SubscriptionSettings as SubscriptionSettings, ecomV1OrderTransactionsOrderTransactions_universal_d_SubscriptionFrequency as SubscriptionFrequency, ecomV1OrderTransactionsOrderTransactions_universal_d_SubscriptionOptionInfo as SubscriptionOptionInfo, ecomV1OrderTransactionsOrderTransactions_universal_d_V2Refund as V2Refund, ecomV1OrderTransactionsOrderTransactions_universal_d_GiftCard as GiftCard, ecomV1OrderTransactionsOrderTransactions_universal_d_ListTransactionsForSingleOrderRequest as ListTransactionsForSingleOrderRequest, ecomV1OrderTransactionsOrderTransactions_universal_d_ListTransactionsForSingleOrderResponse as ListTransactionsForSingleOrderResponse, ecomV1OrderTransactionsOrderTransactions_universal_d_ListTransactionsForMultipleOrdersRequest as ListTransactionsForMultipleOrdersRequest, ecomV1OrderTransactionsOrderTransactions_universal_d_ListTransactionsForMultipleOrdersResponse as ListTransactionsForMultipleOrdersResponse, ecomV1OrderTransactionsOrderTransactions_universal_d_AddPaymentsRequest as AddPaymentsRequest, ecomV1OrderTransactionsOrderTransactions_universal_d_AddPaymentsResponse as AddPaymentsResponse, ecomV1OrderTransactionsOrderTransactions_universal_d_PaymentsUpdated as PaymentsUpdated, ecomV1OrderTransactionsOrderTransactions_universal_d_AddRefundRequest as AddRefundRequest, ecomV1OrderTransactionsOrderTransactions_universal_d_RefundSideEffects as RefundSideEffects, ecomV1OrderTransactionsOrderTransactions_universal_d_RestockInfo as RestockInfo, ecomV1OrderTransactionsOrderTransactions_universal_d_RestockType as RestockType, ecomV1OrderTransactionsOrderTransactions_universal_d_RestockItem as RestockItem, ecomV1OrderTransactionsOrderTransactions_universal_d_AddRefundResponse as AddRefundResponse, ecomV1OrderTransactionsOrderTransactions_universal_d_RefundCreated as RefundCreated, ecomV1OrderTransactionsOrderTransactions_universal_d_UpdatePaymentStatusRequest as UpdatePaymentStatusRequest, ecomV1OrderTransactionsOrderTransactions_universal_d_UpdatePaymentStatusResponse as UpdatePaymentStatusResponse, ecomV1OrderTransactionsOrderTransactions_universal_d_BulkUpdatePaymentStatusesRequest as BulkUpdatePaymentStatusesRequest, ecomV1OrderTransactionsOrderTransactions_universal_d_PaymentAndOrderId as PaymentAndOrderId, ecomV1OrderTransactionsOrderTransactions_universal_d_BulkUpdatePaymentStatusesResponse as BulkUpdatePaymentStatusesResponse, ecomV1OrderTransactionsOrderTransactions_universal_d_BulkPaymentResult as BulkPaymentResult, ecomV1OrderTransactionsOrderTransactions_universal_d_ItemMetadata as ItemMetadata, ecomV1OrderTransactionsOrderTransactions_universal_d_ApplicationError as ApplicationError, ecomV1OrderTransactionsOrderTransactions_universal_d_BulkActionMetadata as BulkActionMetadata, ecomV1OrderTransactionsOrderTransactions_universal_d_TriggerRefundRequest as TriggerRefundRequest, ecomV1OrderTransactionsOrderTransactions_universal_d_PaymentRefund as PaymentRefund, ecomV1OrderTransactionsOrderTransactions_universal_d_TriggerRefundResponse as TriggerRefundResponse, ecomV1OrderTransactionsOrderTransactions_universal_d_CalculateRefundRequest as CalculateRefundRequest, ecomV1OrderTransactionsOrderTransactions_universal_d_CalculateRefundItemRequest as CalculateRefundItemRequest, ecomV1OrderTransactionsOrderTransactions_universal_d_CalculateRefundResponse as CalculateRefundResponse, ecomV1OrderTransactionsOrderTransactions_universal_d_CalculateRefundItemResponse as CalculateRefundItemResponse, ecomV1OrderTransactionsOrderTransactions_universal_d_GetRefundabilityStatusRequest as GetRefundabilityStatusRequest, ecomV1OrderTransactionsOrderTransactions_universal_d_GetRefundabilityStatusResponse as GetRefundabilityStatusResponse, ecomV1OrderTransactionsOrderTransactions_universal_d_Refundability as Refundability, ecomV1OrderTransactionsOrderTransactions_universal_d_RefundabilityAdditionalRefundabilityInfoOneOf as RefundabilityAdditionalRefundabilityInfoOneOf, ecomV1OrderTransactionsOrderTransactions_universal_d_RefundableStatus as RefundableStatus, ecomV1OrderTransactionsOrderTransactions_universal_d_NonRefundableReason as NonRefundableReason, ecomV1OrderTransactionsOrderTransactions_universal_d_ManuallyRefundableReason as ManuallyRefundableReason, ecomV1OrderTransactionsOrderTransactions_universal_d_ListInvoicesForSingleOrderRequest as ListInvoicesForSingleOrderRequest, ecomV1OrderTransactionsOrderTransactions_universal_d_ListInvoicesForSingleOrderResponse as ListInvoicesForSingleOrderResponse, ecomV1OrderTransactionsOrderTransactions_universal_d_InvoiceInfo as InvoiceInfo, ecomV1OrderTransactionsOrderTransactions_universal_d_ListInvoicesForMultipleOrdersRequest as ListInvoicesForMultipleOrdersRequest, ecomV1OrderTransactionsOrderTransactions_universal_d_ListInvoicesForMultipleOrdersResponse as ListInvoicesForMultipleOrdersResponse, ecomV1OrderTransactionsOrderTransactions_universal_d_InvoicesForOrder as InvoicesForOrder, ecomV1OrderTransactionsOrderTransactions_universal_d_GenerateInvoiceRequest as GenerateInvoiceRequest, ecomV1OrderTransactionsOrderTransactions_universal_d_GenerateInvoiceResponse as GenerateInvoiceResponse, ecomV1OrderTransactionsOrderTransactions_universal_d_BulkGenerateInvoicesRequest as BulkGenerateInvoicesRequest, ecomV1OrderTransactionsOrderTransactions_universal_d_BulkGenerateInvoicesResponse as BulkGenerateInvoicesResponse, ecomV1OrderTransactionsOrderTransactions_universal_d_BulkInvoiceResult as BulkInvoiceResult, ecomV1OrderTransactionsOrderTransactions_universal_d_InvoiceForOrder as InvoiceForOrder, ecomV1OrderTransactionsOrderTransactions_universal_d_AddInvoiceToOrderRequest as AddInvoiceToOrderRequest, ecomV1OrderTransactionsOrderTransactions_universal_d_AddInvoiceToOrderResponse as AddInvoiceToOrderResponse, ecomV1OrderTransactionsOrderTransactions_universal_d_DomainEvent as DomainEvent, ecomV1OrderTransactionsOrderTransactions_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf, ecomV1OrderTransactionsOrderTransactions_universal_d_EntityCreatedEvent as EntityCreatedEvent, ecomV1OrderTransactionsOrderTransactions_universal_d_EntityUpdatedEvent as EntityUpdatedEvent, ecomV1OrderTransactionsOrderTransactions_universal_d_EntityDeletedEvent as EntityDeletedEvent, ecomV1OrderTransactionsOrderTransactions_universal_d_ActionEvent as ActionEvent, ecomV1OrderTransactionsOrderTransactions_universal_d_MessageEnvelope as MessageEnvelope, ecomV1OrderTransactionsOrderTransactions_universal_d_IdentificationData as IdentificationData, ecomV1OrderTransactionsOrderTransactions_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf, ecomV1OrderTransactionsOrderTransactions_universal_d_WebhookIdentityType as WebhookIdentityType, ecomV1OrderTransactionsOrderTransactions_universal_d_listTransactionsForSingleOrder as listTransactionsForSingleOrder, ecomV1OrderTransactionsOrderTransactions_universal_d_listTransactionsForMultipleOrders as listTransactionsForMultipleOrders, ecomV1OrderTransactionsOrderTransactions_universal_d_addPayments as addPayments, ecomV1OrderTransactionsOrderTransactions_universal_d_AddRefundOptions as AddRefundOptions, ecomV1OrderTransactionsOrderTransactions_universal_d_updatePaymentStatus as updatePaymentStatus, ecomV1OrderTransactionsOrderTransactions_universal_d_UpdatePaymentStatusIdentifiers as UpdatePaymentStatusIdentifiers, ecomV1OrderTransactionsOrderTransactions_universal_d_UpdatePaymentStatusOptions as UpdatePaymentStatusOptions, ecomV1OrderTransactionsOrderTransactions_universal_d_bulkUpdatePaymentStatuses as bulkUpdatePaymentStatuses, ecomV1OrderTransactionsOrderTransactions_universal_d_BulkUpdatePaymentStatusesOptions as BulkUpdatePaymentStatusesOptions, ecomV1OrderTransactionsOrderTransactions_universal_d_TriggerRefundOptions as TriggerRefundOptions, ecomV1OrderTransactionsOrderTransactions_universal_d_CalculateRefundOptions as CalculateRefundOptions, };\n    }\n    export { ecomV1BackInStockNotificationRequestBackInStockNotifications_universal_d as backInStockNotifications, ecomV1BackInStockSettingsBackInStockSettings_universal_d as backInStockSettings, ecomV1CartCart_universal_d as cart, ecomV1CheckoutCheckout_universal_d as checkout, ecomV1CheckoutSettingsCheckoutSettings_universal_d as checkoutSettings, ecomV1CheckoutTemplateCheckoutTemplates_universal_d as checkoutTemplates, ecomV1CartCurrentCart_universal_d as currentCart, ecomDiscountsV1DiscountRuleDiscountRules_universal_d as discountRules, ecomV1FulfillmentsOrderFulfillments_universal_d as orderFulfillments, ecomOrdersV1InvoiceOrderInvoices_universal_d as orderInvoices, ecomV1OrderTransactionsOrderTransactions_universal_d as orderTransactions, ecomV1OrderOrders_universal_d as orders, ecomV1OrdersSettingsOrdersSettings_universal_d as ordersSettings, ecomRecommendationsV1RecommendationRecommendations_universal_d as recommendations };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/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;\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;\n        /**\n         * Date and time the item was last updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\n        /** Item tags. */\n        tags?: Tags;\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        /** Display text of the link. */\n        text?: string | null;\n        /** Target URL of the link. */\n        url?: string | null;\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        /** 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    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        /** 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        /** *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?: 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 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;\n        /** @readonly */\n        oldRevision?: Date;\n    }\n    interface CleanDeletedGalleriesEvent {\n        /** @readonly */\n        instanceId?: string;\n        /** @readonly */\n        metaSiteId?: string;\n        /** @readonly */\n        htmlSiteRevision?: string;\n        /** @readonly */\n        timeSitePublished?: Date;\n    }\n    interface ProgallerypublisherPublishGalleryRequest {\n        /** id of the gallery that will be published */\n        galleryId?: string;\n    }\n    interface ProgallerypublisherPublishGalleryResponse {\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?: EventsPage[];\n        /** Site's publish date */\n        publishDate?: string;\n    }\n    interface EventsPage {\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    }\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. */\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    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    interface EntityDeletedEvent {\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    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        /** 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    /** @oneof */\n    interface GetGalleryRequestVersionOneOf {\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    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    interface GetGalleryItemResponse {\n        /** Returned media item. */\n        item?: Item;\n    }\n    interface CreateGalleryRequest {\n        /** Gallery to create. */\n        gallery?: Gallery;\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    interface UpdateGalleryResponse {\n        /** Updated gallery. */\n        gallery?: Gallery;\n    }\n    interface DeleteGalleryRequest {\n        /** ID of the gallery to delete. */\n        galleryId: string;\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    interface DeleteGalleryItemsResponse {\n        /** Gallery that previously included the deleted media item. */\n        gallery?: Gallery;\n    }\n    interface CreateGalleryItemRequest {\n        /** Gallery ID. */\n        galleryId: string;\n        /** Media item to create. */\n        item: Item;\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    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    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    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     * @permissionScope Manage Galleries\n     * @permissionScopeId SCOPE.DC-PROGALLERY.MANAGE-GALLERIES\n     * @permissionScope Read Galleries\n     * @permissionScopeId SCOPE.DC-PROGALLERY.READ-GALLERIES\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\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    /**\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     * @permissionScope Manage Galleries\n     * @permissionScopeId SCOPE.DC-PROGALLERY.MANAGE-GALLERIES\n     * @permissionScope Read Galleries\n     * @permissionScopeId SCOPE.DC-PROGALLERY.READ-GALLERIES\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\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    /**\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     * @permissionScope Manage Galleries\n     * @permissionScopeId SCOPE.DC-PROGALLERY.MANAGE-GALLERIES\n     * @permissionScope Read Galleries\n     * @permissionScopeId SCOPE.DC-PROGALLERY.READ-GALLERIES\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\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    /**\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     * @permissionScope Manage Galleries\n     * @permissionScopeId SCOPE.DC-PROGALLERY.MANAGE-GALLERIES\n     * @permissionScope Read Galleries\n     * @permissionScopeId SCOPE.DC-PROGALLERY.READ-GALLERIES\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\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    /**\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     * @permissionScope Manage Galleries\n     * @permissionScopeId SCOPE.DC-PROGALLERY.MANAGE-GALLERIES\n     * @applicableIdentity APP\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        /** 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     * @permissionScope Manage Galleries\n     * @permissionScopeId SCOPE.DC-PROGALLERY.MANAGE-GALLERIES\n     * @applicableIdentity APP\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;\n    }\n    interface UpdateGalleryOptions {\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     * @permissionScope Manage Galleries\n     * @permissionScopeId SCOPE.DC-PROGALLERY.MANAGE-GALLERIES\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function deleteGallery(galleryId: string, options?: DeleteGalleryOptions): Promise<DeleteGalleryResponse>;\n    interface DeleteGalleryOptions {\n    }\n    interface DeleteGalleryItemsOptions {\n        /** ID of the media item to delete. */\n        itemsIds?: string[];\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     *\n     * #### Override permissions\n     * 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     * <blockquote class='warning'>\n     *   <p><strong>Warning:</strong> Elevating a function allows it to be called by any site visitor. Exercise caution to prevent security vulnerabilities.</p>\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     * @permissionScope Manage Galleries\n     * @permissionScopeId SCOPE.DC-PROGALLERY.MANAGE-GALLERIES\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Created media item.\n     */\n    function createGalleryItem(galleryId: string, item: Item, options?: CreateGalleryItemOptions): Promise<Item>;\n    interface CreateGalleryItemOptions {\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     * @permissionScope Manage Galleries\n     * @permissionScopeId SCOPE.DC-PROGALLERY.MANAGE-GALLERIES\n     * @applicableIdentity APP\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;\n        /**\n         * Date and time the item was last updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\n        /** Item tags. */\n        tags?: Tags;\n    }\n    interface UpdateGalleryItemOptions {\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     * @permissionScope Manage Galleries\n     * @permissionScopeId SCOPE.DC-PROGALLERY.MANAGE-GALLERIES\n     * @applicableIdentity APP\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    type proGalleryV2GalleryProGallery_universal_d_Gallery = Gallery;\n    type proGalleryV2GalleryProGallery_universal_d_Item = Item;\n    type proGalleryV2GalleryProGallery_universal_d_ItemMetadataOneOf = ItemMetadataOneOf;\n    type proGalleryV2GalleryProGallery_universal_d_Link = Link;\n    type proGalleryV2GalleryProGallery_universal_d_LinkType = LinkType;\n    const proGalleryV2GalleryProGallery_universal_d_LinkType: typeof LinkType;\n    type proGalleryV2GalleryProGallery_universal_d_WixLink = WixLink;\n    type proGalleryV2GalleryProGallery_universal_d_WixLinkLinkOneOf = WixLinkLinkOneOf;\n    type proGalleryV2GalleryProGallery_universal_d_ExternalLink = ExternalLink;\n    type proGalleryV2GalleryProGallery_universal_d_PageLink = PageLink;\n    type proGalleryV2GalleryProGallery_universal_d_LinkRel = LinkRel;\n    const proGalleryV2GalleryProGallery_universal_d_LinkRel: typeof LinkRel;\n    type proGalleryV2GalleryProGallery_universal_d_AnchorLink = AnchorLink;\n    type proGalleryV2GalleryProGallery_universal_d_DynamicPageLink = DynamicPageLink;\n    type proGalleryV2GalleryProGallery_universal_d_DocumentLink = DocumentLink;\n    type proGalleryV2GalleryProGallery_universal_d_EmailLink = EmailLink;\n    type proGalleryV2GalleryProGallery_universal_d_PhoneLink = PhoneLink;\n    type proGalleryV2GalleryProGallery_universal_d_AddressLink = AddressLink;\n    type proGalleryV2GalleryProGallery_universal_d_WhatsAppLink = WhatsAppLink;\n    type proGalleryV2GalleryProGallery_universal_d_TpaPageLink = TpaPageLink;\n    type proGalleryV2GalleryProGallery_universal_d_Type = Type;\n    const proGalleryV2GalleryProGallery_universal_d_Type: typeof Type;\n    type proGalleryV2GalleryProGallery_universal_d_Image = Image;\n    type proGalleryV2GalleryProGallery_universal_d_ImageType = ImageType;\n    const proGalleryV2GalleryProGallery_universal_d_ImageType: typeof ImageType;\n    type proGalleryV2GalleryProGallery_universal_d_Point = Point;\n    type proGalleryV2GalleryProGallery_universal_d_UnsharpMasking = UnsharpMasking;\n    type proGalleryV2GalleryProGallery_universal_d_Video = Video;\n    type proGalleryV2GalleryProGallery_universal_d_VideoType = VideoType;\n    const proGalleryV2GalleryProGallery_universal_d_VideoType: typeof VideoType;\n    type proGalleryV2GalleryProGallery_universal_d_VideoResolution = VideoResolution;\n    type proGalleryV2GalleryProGallery_universal_d_Text = Text;\n    type proGalleryV2GalleryProGallery_universal_d_Tags = Tags;\n    type proGalleryV2GalleryProGallery_universal_d_SecondaryMedia = SecondaryMedia;\n    type proGalleryV2GalleryProGallery_universal_d_SecondaryMediaMetadataOneOf = SecondaryMediaMetadataOneOf;\n    type proGalleryV2GalleryProGallery_universal_d_InvalidateCache = InvalidateCache;\n    type proGalleryV2GalleryProGallery_universal_d_InvalidateCacheGetByOneOf = InvalidateCacheGetByOneOf;\n    type proGalleryV2GalleryProGallery_universal_d_App = App;\n    type proGalleryV2GalleryProGallery_universal_d_Page = Page;\n    type proGalleryV2GalleryProGallery_universal_d_URI = URI;\n    type proGalleryV2GalleryProGallery_universal_d_File = File;\n    type proGalleryV2GalleryProGallery_universal_d_GalleryPublished = GalleryPublished;\n    type proGalleryV2GalleryProGallery_universal_d_CleanDeletedGalleriesEvent = CleanDeletedGalleriesEvent;\n    type proGalleryV2GalleryProGallery_universal_d_ProgallerypublisherPublishGalleryRequest = ProgallerypublisherPublishGalleryRequest;\n    type proGalleryV2GalleryProGallery_universal_d_ProgallerypublisherPublishGalleryResponse = ProgallerypublisherPublishGalleryResponse;\n    type proGalleryV2GalleryProGallery_universal_d_PublishGalleryItemRequest = PublishGalleryItemRequest;\n    type proGalleryV2GalleryProGallery_universal_d_PublishGalleryItemResponse = PublishGalleryItemResponse;\n    type proGalleryV2GalleryProGallery_universal_d_PublishGalleryItemsRequest = PublishGalleryItemsRequest;\n    type proGalleryV2GalleryProGallery_universal_d_PublishGalleryItemsResponse = PublishGalleryItemsResponse;\n    type proGalleryV2GalleryProGallery_universal_d_Empty = Empty;\n    type proGalleryV2GalleryProGallery_universal_d_HtmlSitePublished = HtmlSitePublished;\n    type proGalleryV2GalleryProGallery_universal_d_EventsPage = EventsPage;\n    type proGalleryV2GalleryProGallery_universal_d_HtmlSiteRCPublished = HtmlSiteRCPublished;\n    type proGalleryV2GalleryProGallery_universal_d_DomainEvent = DomainEvent;\n    type proGalleryV2GalleryProGallery_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n    type proGalleryV2GalleryProGallery_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n    type proGalleryV2GalleryProGallery_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n    type proGalleryV2GalleryProGallery_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n    type proGalleryV2GalleryProGallery_universal_d_ActionEvent = ActionEvent;\n    type proGalleryV2GalleryProGallery_universal_d_MessageEnvelope = MessageEnvelope;\n    type proGalleryV2GalleryProGallery_universal_d_IdentificationData = IdentificationData;\n    type proGalleryV2GalleryProGallery_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n    type proGalleryV2GalleryProGallery_universal_d_WebhookIdentityType = WebhookIdentityType;\n    const proGalleryV2GalleryProGallery_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n    type proGalleryV2GalleryProGallery_universal_d_UpdateDocumentsEvent = UpdateDocumentsEvent;\n    type proGalleryV2GalleryProGallery_universal_d_UpdateDocumentsEventOperationOneOf = UpdateDocumentsEventOperationOneOf;\n    type proGalleryV2GalleryProGallery_universal_d_DocumentUpdateOperation = DocumentUpdateOperation;\n    type proGalleryV2GalleryProGallery_universal_d_IndexDocument = IndexDocument;\n    type proGalleryV2GalleryProGallery_universal_d_DocumentPayload = DocumentPayload;\n    type proGalleryV2GalleryProGallery_universal_d_DocumentImage = DocumentImage;\n    type proGalleryV2GalleryProGallery_universal_d_Enum = Enum;\n    const proGalleryV2GalleryProGallery_universal_d_Enum: typeof Enum;\n    type proGalleryV2GalleryProGallery_universal_d_DeleteByIdsOperation = DeleteByIdsOperation;\n    type proGalleryV2GalleryProGallery_universal_d_DeleteByFilterOperation = DeleteByFilterOperation;\n    type proGalleryV2GalleryProGallery_universal_d_UpdateByFilterOperation = UpdateByFilterOperation;\n    type proGalleryV2GalleryProGallery_universal_d_UpdateExistingOperation = UpdateExistingOperation;\n    type proGalleryV2GalleryProGallery_universal_d_SearchIndexingNotification = SearchIndexingNotification;\n    type proGalleryV2GalleryProGallery_universal_d_SearchIndexingNotificationState = SearchIndexingNotificationState;\n    const proGalleryV2GalleryProGallery_universal_d_SearchIndexingNotificationState: typeof SearchIndexingNotificationState;\n    type proGalleryV2GalleryProGallery_universal_d_ListGalleriesItemsRequest = ListGalleriesItemsRequest;\n    type proGalleryV2GalleryProGallery_universal_d_ItemId = ItemId;\n    type proGalleryV2GalleryProGallery_universal_d_ListGalleriesItemsResponse = ListGalleriesItemsResponse;\n    type proGalleryV2GalleryProGallery_universal_d_ItemsInGallery = ItemsInGallery;\n    type proGalleryV2GalleryProGallery_universal_d_GalleryItemCreated = GalleryItemCreated;\n    type proGalleryV2GalleryProGallery_universal_d_GalleryItemUpdated = GalleryItemUpdated;\n    type proGalleryV2GalleryProGallery_universal_d_GalleryItemDeleted = GalleryItemDeleted;\n    type proGalleryV2GalleryProGallery_universal_d_ListGalleriesRequest = ListGalleriesRequest;\n    type proGalleryV2GalleryProGallery_universal_d_State = State;\n    const proGalleryV2GalleryProGallery_universal_d_State: typeof State;\n    type proGalleryV2GalleryProGallery_universal_d_ListGalleriesResponse = ListGalleriesResponse;\n    type proGalleryV2GalleryProGallery_universal_d_GetGalleryRequest = GetGalleryRequest;\n    type proGalleryV2GalleryProGallery_universal_d_GetGalleryRequestVersionOneOf = GetGalleryRequestVersionOneOf;\n    type proGalleryV2GalleryProGallery_universal_d_GetGalleryResponse = GetGalleryResponse;\n    type proGalleryV2GalleryProGallery_universal_d_ListGalleryItemsRequest = ListGalleryItemsRequest;\n    type proGalleryV2GalleryProGallery_universal_d_ListGalleryItemsResponse = ListGalleryItemsResponse;\n    type proGalleryV2GalleryProGallery_universal_d_GetGalleryItemRequest = GetGalleryItemRequest;\n    type proGalleryV2GalleryProGallery_universal_d_GetGalleryItemResponse = GetGalleryItemResponse;\n    type proGalleryV2GalleryProGallery_universal_d_CreateGalleryRequest = CreateGalleryRequest;\n    type proGalleryV2GalleryProGallery_universal_d_CreateGalleryResponse = CreateGalleryResponse;\n    type proGalleryV2GalleryProGallery_universal_d_UpdateGalleryRequest = UpdateGalleryRequest;\n    type proGalleryV2GalleryProGallery_universal_d_UpdateGalleryResponse = UpdateGalleryResponse;\n    type proGalleryV2GalleryProGallery_universal_d_DeleteGalleryRequest = DeleteGalleryRequest;\n    type proGalleryV2GalleryProGallery_universal_d_DeleteGalleryResponse = DeleteGalleryResponse;\n    type proGalleryV2GalleryProGallery_universal_d_DeleteGalleryItemsRequest = DeleteGalleryItemsRequest;\n    type proGalleryV2GalleryProGallery_universal_d_DeleteGalleryItemsResponse = DeleteGalleryItemsResponse;\n    type proGalleryV2GalleryProGallery_universal_d_CreateGalleryItemRequest = CreateGalleryItemRequest;\n    type proGalleryV2GalleryProGallery_universal_d_CreateGalleryItemResponse = CreateGalleryItemResponse;\n    type proGalleryV2GalleryProGallery_universal_d_CreateGalleryItemsRequest = CreateGalleryItemsRequest;\n    type proGalleryV2GalleryProGallery_universal_d_CreateGalleryItemsResponse = CreateGalleryItemsResponse;\n    type proGalleryV2GalleryProGallery_universal_d_UpdateGalleryItemRequest = UpdateGalleryItemRequest;\n    type proGalleryV2GalleryProGallery_universal_d_UpdateGalleryItemResponse = UpdateGalleryItemResponse;\n    type proGalleryV2GalleryProGallery_universal_d_DeleteGalleryItemRequest = DeleteGalleryItemRequest;\n    type proGalleryV2GalleryProGallery_universal_d_DeleteGalleryItemResponse = DeleteGalleryItemResponse;\n    type proGalleryV2GalleryProGallery_universal_d_PublishGalleryRequest = PublishGalleryRequest;\n    type proGalleryV2GalleryProGallery_universal_d_PublishGalleryResponse = PublishGalleryResponse;\n    const proGalleryV2GalleryProGallery_universal_d_listGalleries: typeof listGalleries;\n    type proGalleryV2GalleryProGallery_universal_d_ListGalleriesOptions = ListGalleriesOptions;\n    const proGalleryV2GalleryProGallery_universal_d_getGallery: typeof getGallery;\n    type proGalleryV2GalleryProGallery_universal_d_GetGalleryOptions = GetGalleryOptions;\n    const proGalleryV2GalleryProGallery_universal_d_listGalleryItems: typeof listGalleryItems;\n    type proGalleryV2GalleryProGallery_universal_d_ListGalleryItemsOptions = ListGalleryItemsOptions;\n    const proGalleryV2GalleryProGallery_universal_d_getGalleryItem: typeof getGalleryItem;\n    type proGalleryV2GalleryProGallery_universal_d_GetGalleryItemIdentifiers = GetGalleryItemIdentifiers;\n    type proGalleryV2GalleryProGallery_universal_d_GetGalleryItemOptions = GetGalleryItemOptions;\n    const proGalleryV2GalleryProGallery_universal_d_createGallery: typeof createGallery;\n    type proGalleryV2GalleryProGallery_universal_d_CreateGalleryOptions = CreateGalleryOptions;\n    const proGalleryV2GalleryProGallery_universal_d_updateGallery: typeof updateGallery;\n    type proGalleryV2GalleryProGallery_universal_d_UpdateGallery = UpdateGallery;\n    type proGalleryV2GalleryProGallery_universal_d_UpdateGalleryOptions = UpdateGalleryOptions;\n    const proGalleryV2GalleryProGallery_universal_d_deleteGallery: typeof deleteGallery;\n    type proGalleryV2GalleryProGallery_universal_d_DeleteGalleryOptions = DeleteGalleryOptions;\n    type proGalleryV2GalleryProGallery_universal_d_DeleteGalleryItemsOptions = DeleteGalleryItemsOptions;\n    const proGalleryV2GalleryProGallery_universal_d_createGalleryItem: typeof createGalleryItem;\n    type proGalleryV2GalleryProGallery_universal_d_CreateGalleryItemOptions = CreateGalleryItemOptions;\n    const proGalleryV2GalleryProGallery_universal_d_updateGalleryItem: typeof updateGalleryItem;\n    type proGalleryV2GalleryProGallery_universal_d_UpdateGalleryItemIdentifiers = UpdateGalleryItemIdentifiers;\n    type proGalleryV2GalleryProGallery_universal_d_UpdateGalleryItem = UpdateGalleryItem;\n    type proGalleryV2GalleryProGallery_universal_d_UpdateGalleryItemOptions = UpdateGalleryItemOptions;\n    const proGalleryV2GalleryProGallery_universal_d_deleteGalleryItem: typeof deleteGalleryItem;\n    type proGalleryV2GalleryProGallery_universal_d_DeleteGalleryItemIdentifiers = DeleteGalleryItemIdentifiers;\n    type proGalleryV2GalleryProGallery_universal_d_DeleteGalleryItemOptions = DeleteGalleryItemOptions;\n    namespace proGalleryV2GalleryProGallery_universal_d {\n        export { proGalleryV2GalleryProGallery_universal_d_Gallery as Gallery, proGalleryV2GalleryProGallery_universal_d_Item as Item, proGalleryV2GalleryProGallery_universal_d_ItemMetadataOneOf as ItemMetadataOneOf, proGalleryV2GalleryProGallery_universal_d_Link as Link, proGalleryV2GalleryProGallery_universal_d_LinkType as LinkType, proGalleryV2GalleryProGallery_universal_d_WixLink as WixLink, proGalleryV2GalleryProGallery_universal_d_WixLinkLinkOneOf as WixLinkLinkOneOf, proGalleryV2GalleryProGallery_universal_d_ExternalLink as ExternalLink, proGalleryV2GalleryProGallery_universal_d_PageLink as PageLink, proGalleryV2GalleryProGallery_universal_d_LinkRel as LinkRel, proGalleryV2GalleryProGallery_universal_d_AnchorLink as AnchorLink, proGalleryV2GalleryProGallery_universal_d_DynamicPageLink as DynamicPageLink, proGalleryV2GalleryProGallery_universal_d_DocumentLink as DocumentLink, proGalleryV2GalleryProGallery_universal_d_EmailLink as EmailLink, proGalleryV2GalleryProGallery_universal_d_PhoneLink as PhoneLink, proGalleryV2GalleryProGallery_universal_d_AddressLink as AddressLink, proGalleryV2GalleryProGallery_universal_d_WhatsAppLink as WhatsAppLink, proGalleryV2GalleryProGallery_universal_d_TpaPageLink as TpaPageLink, proGalleryV2GalleryProGallery_universal_d_Type as Type, proGalleryV2GalleryProGallery_universal_d_Image as Image, proGalleryV2GalleryProGallery_universal_d_ImageType as ImageType, proGalleryV2GalleryProGallery_universal_d_Point as Point, proGalleryV2GalleryProGallery_universal_d_UnsharpMasking as UnsharpMasking, proGalleryV2GalleryProGallery_universal_d_Video as Video, proGalleryV2GalleryProGallery_universal_d_VideoType as VideoType, proGalleryV2GalleryProGallery_universal_d_VideoResolution as VideoResolution, proGalleryV2GalleryProGallery_universal_d_Text as Text, proGalleryV2GalleryProGallery_universal_d_Tags as Tags, proGalleryV2GalleryProGallery_universal_d_SecondaryMedia as SecondaryMedia, proGalleryV2GalleryProGallery_universal_d_SecondaryMediaMetadataOneOf as SecondaryMediaMetadataOneOf, proGalleryV2GalleryProGallery_universal_d_InvalidateCache as InvalidateCache, proGalleryV2GalleryProGallery_universal_d_InvalidateCacheGetByOneOf as InvalidateCacheGetByOneOf, proGalleryV2GalleryProGallery_universal_d_App as App, proGalleryV2GalleryProGallery_universal_d_Page as Page, proGalleryV2GalleryProGallery_universal_d_URI as URI, proGalleryV2GalleryProGallery_universal_d_File as File, proGalleryV2GalleryProGallery_universal_d_GalleryPublished as GalleryPublished, proGalleryV2GalleryProGallery_universal_d_CleanDeletedGalleriesEvent as CleanDeletedGalleriesEvent, proGalleryV2GalleryProGallery_universal_d_ProgallerypublisherPublishGalleryRequest as ProgallerypublisherPublishGalleryRequest, proGalleryV2GalleryProGallery_universal_d_ProgallerypublisherPublishGalleryResponse as ProgallerypublisherPublishGalleryResponse, proGalleryV2GalleryProGallery_universal_d_PublishGalleryItemRequest as PublishGalleryItemRequest, proGalleryV2GalleryProGallery_universal_d_PublishGalleryItemResponse as PublishGalleryItemResponse, proGalleryV2GalleryProGallery_universal_d_PublishGalleryItemsRequest as PublishGalleryItemsRequest, proGalleryV2GalleryProGallery_universal_d_PublishGalleryItemsResponse as PublishGalleryItemsResponse, proGalleryV2GalleryProGallery_universal_d_Empty as Empty, proGalleryV2GalleryProGallery_universal_d_HtmlSitePublished as HtmlSitePublished, proGalleryV2GalleryProGallery_universal_d_EventsPage as EventsPage, proGalleryV2GalleryProGallery_universal_d_HtmlSiteRCPublished as HtmlSiteRCPublished, proGalleryV2GalleryProGallery_universal_d_DomainEvent as DomainEvent, proGalleryV2GalleryProGallery_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf, proGalleryV2GalleryProGallery_universal_d_EntityCreatedEvent as EntityCreatedEvent, proGalleryV2GalleryProGallery_universal_d_EntityUpdatedEvent as EntityUpdatedEvent, proGalleryV2GalleryProGallery_universal_d_EntityDeletedEvent as EntityDeletedEvent, proGalleryV2GalleryProGallery_universal_d_ActionEvent as ActionEvent, proGalleryV2GalleryProGallery_universal_d_MessageEnvelope as MessageEnvelope, proGalleryV2GalleryProGallery_universal_d_IdentificationData as IdentificationData, proGalleryV2GalleryProGallery_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf, proGalleryV2GalleryProGallery_universal_d_WebhookIdentityType as WebhookIdentityType, proGalleryV2GalleryProGallery_universal_d_UpdateDocumentsEvent as UpdateDocumentsEvent, proGalleryV2GalleryProGallery_universal_d_UpdateDocumentsEventOperationOneOf as UpdateDocumentsEventOperationOneOf, proGalleryV2GalleryProGallery_universal_d_DocumentUpdateOperation as DocumentUpdateOperation, proGalleryV2GalleryProGallery_universal_d_IndexDocument as IndexDocument, proGalleryV2GalleryProGallery_universal_d_DocumentPayload as DocumentPayload, proGalleryV2GalleryProGallery_universal_d_DocumentImage as DocumentImage, proGalleryV2GalleryProGallery_universal_d_Enum as Enum, proGalleryV2GalleryProGallery_universal_d_DeleteByIdsOperation as DeleteByIdsOperation, proGalleryV2GalleryProGallery_universal_d_DeleteByFilterOperation as DeleteByFilterOperation, proGalleryV2GalleryProGallery_universal_d_UpdateByFilterOperation as UpdateByFilterOperation, proGalleryV2GalleryProGallery_universal_d_UpdateExistingOperation as UpdateExistingOperation, proGalleryV2GalleryProGallery_universal_d_SearchIndexingNotification as SearchIndexingNotification, proGalleryV2GalleryProGallery_universal_d_SearchIndexingNotificationState as SearchIndexingNotificationState, proGalleryV2GalleryProGallery_universal_d_ListGalleriesItemsRequest as ListGalleriesItemsRequest, proGalleryV2GalleryProGallery_universal_d_ItemId as ItemId, proGalleryV2GalleryProGallery_universal_d_ListGalleriesItemsResponse as ListGalleriesItemsResponse, proGalleryV2GalleryProGallery_universal_d_ItemsInGallery as ItemsInGallery, proGalleryV2GalleryProGallery_universal_d_GalleryItemCreated as GalleryItemCreated, proGalleryV2GalleryProGallery_universal_d_GalleryItemUpdated as GalleryItemUpdated, proGalleryV2GalleryProGallery_universal_d_GalleryItemDeleted as GalleryItemDeleted, proGalleryV2GalleryProGallery_universal_d_ListGalleriesRequest as ListGalleriesRequest, proGalleryV2GalleryProGallery_universal_d_State as State, proGalleryV2GalleryProGallery_universal_d_ListGalleriesResponse as ListGalleriesResponse, proGalleryV2GalleryProGallery_universal_d_GetGalleryRequest as GetGalleryRequest, proGalleryV2GalleryProGallery_universal_d_GetGalleryRequestVersionOneOf as GetGalleryRequestVersionOneOf, proGalleryV2GalleryProGallery_universal_d_GetGalleryResponse as GetGalleryResponse, proGalleryV2GalleryProGallery_universal_d_ListGalleryItemsRequest as ListGalleryItemsRequest, proGalleryV2GalleryProGallery_universal_d_ListGalleryItemsResponse as ListGalleryItemsResponse, proGalleryV2GalleryProGallery_universal_d_GetGalleryItemRequest as GetGalleryItemRequest, proGalleryV2GalleryProGallery_universal_d_GetGalleryItemResponse as GetGalleryItemResponse, proGalleryV2GalleryProGallery_universal_d_CreateGalleryRequest as CreateGalleryRequest, proGalleryV2GalleryProGallery_universal_d_CreateGalleryResponse as CreateGalleryResponse, proGalleryV2GalleryProGallery_universal_d_UpdateGalleryRequest as UpdateGalleryRequest, proGalleryV2GalleryProGallery_universal_d_UpdateGalleryResponse as UpdateGalleryResponse, proGalleryV2GalleryProGallery_universal_d_DeleteGalleryRequest as DeleteGalleryRequest, proGalleryV2GalleryProGallery_universal_d_DeleteGalleryResponse as DeleteGalleryResponse, proGalleryV2GalleryProGallery_universal_d_DeleteGalleryItemsRequest as DeleteGalleryItemsRequest, proGalleryV2GalleryProGallery_universal_d_DeleteGalleryItemsResponse as DeleteGalleryItemsResponse, proGalleryV2GalleryProGallery_universal_d_CreateGalleryItemRequest as CreateGalleryItemRequest, proGalleryV2GalleryProGallery_universal_d_CreateGalleryItemResponse as CreateGalleryItemResponse, proGalleryV2GalleryProGallery_universal_d_CreateGalleryItemsRequest as CreateGalleryItemsRequest, proGalleryV2GalleryProGallery_universal_d_CreateGalleryItemsResponse as CreateGalleryItemsResponse, proGalleryV2GalleryProGallery_universal_d_UpdateGalleryItemRequest as UpdateGalleryItemRequest, proGalleryV2GalleryProGallery_universal_d_UpdateGalleryItemResponse as UpdateGalleryItemResponse, proGalleryV2GalleryProGallery_universal_d_DeleteGalleryItemRequest as DeleteGalleryItemRequest, proGalleryV2GalleryProGallery_universal_d_DeleteGalleryItemResponse as DeleteGalleryItemResponse, proGalleryV2GalleryProGallery_universal_d_PublishGalleryRequest as PublishGalleryRequest, proGalleryV2GalleryProGallery_universal_d_PublishGalleryResponse as PublishGalleryResponse, proGalleryV2GalleryProGallery_universal_d_listGalleries as listGalleries, proGalleryV2GalleryProGallery_universal_d_ListGalleriesOptions as ListGalleriesOptions, proGalleryV2GalleryProGallery_universal_d_getGallery as getGallery, proGalleryV2GalleryProGallery_universal_d_GetGalleryOptions as GetGalleryOptions, proGalleryV2GalleryProGallery_universal_d_listGalleryItems as listGalleryItems, proGalleryV2GalleryProGallery_universal_d_ListGalleryItemsOptions as ListGalleryItemsOptions, proGalleryV2GalleryProGallery_universal_d_getGalleryItem as getGalleryItem, proGalleryV2GalleryProGallery_universal_d_GetGalleryItemIdentifiers as GetGalleryItemIdentifiers, proGalleryV2GalleryProGallery_universal_d_GetGalleryItemOptions as GetGalleryItemOptions, proGalleryV2GalleryProGallery_universal_d_createGallery as createGallery, proGalleryV2GalleryProGallery_universal_d_CreateGalleryOptions as CreateGalleryOptions, proGalleryV2GalleryProGallery_universal_d_updateGallery as updateGallery, proGalleryV2GalleryProGallery_universal_d_UpdateGallery as UpdateGallery, proGalleryV2GalleryProGallery_universal_d_UpdateGalleryOptions as UpdateGalleryOptions, proGalleryV2GalleryProGallery_universal_d_deleteGallery as deleteGallery, proGalleryV2GalleryProGallery_universal_d_DeleteGalleryOptions as DeleteGalleryOptions, proGalleryV2GalleryProGallery_universal_d_DeleteGalleryItemsOptions as DeleteGalleryItemsOptions, proGalleryV2GalleryProGallery_universal_d_createGalleryItem as createGalleryItem, proGalleryV2GalleryProGallery_universal_d_CreateGalleryItemOptions as CreateGalleryItemOptions, proGalleryV2GalleryProGallery_universal_d_updateGalleryItem as updateGalleryItem, proGalleryV2GalleryProGallery_universal_d_UpdateGalleryItemIdentifiers as UpdateGalleryItemIdentifiers, proGalleryV2GalleryProGallery_universal_d_UpdateGalleryItem as UpdateGalleryItem, proGalleryV2GalleryProGallery_universal_d_UpdateGalleryItemOptions as UpdateGalleryItemOptions, proGalleryV2GalleryProGallery_universal_d_deleteGalleryItem as deleteGalleryItem, proGalleryV2GalleryProGallery_universal_d_DeleteGalleryItemIdentifiers as DeleteGalleryItemIdentifiers, proGalleryV2GalleryProGallery_universal_d_DeleteGalleryItemOptions as DeleteGalleryItemOptions, };\n    }\n    export { proGalleryV2GalleryProGallery_universal_d as proGallery };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/interfaces-ecommerce-v1-additional-fees-provider.d.ts",
      "content": "declare module \"interfaces-ecommerce-v1-additional-fees-provider\" {\n    interface AdditionalFeesProvider {\n        /** GUID unique to this list for this site */\n        _id?: string | null;\n    }\n    interface CalculateAdditionalFeesRequest {\n        /** LineItems */\n        lineItems?: LineItem[];\n        /** Selected shipping option */\n        shippingInfo?: ShippingInformation;\n        /** Applied discounts */\n        appliedDiscounts?: AppliedDiscount[];\n    }\n    interface LineItem {\n        /** Line item ID. */\n        _id?: string;\n        /** Quantity. */\n        quantity?: number | null;\n        /** Catalog reference */\n        catalogReference?: CatalogReference;\n        /** Product/booking/event name. */\n        productName?: string | null;\n        /** Price. */\n        price?: string;\n        /** Physical properties (if applicable). */\n        physicalProperties?: PhysicalProperties;\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    }\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 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 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    interface SubscriptionSettings {\n        /** Frequency of recurring payment. Every day/week/month/year. */\n        frequency?: SubscriptionFrequency;\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 given item will happen as part of the checkout. */\n        FULL_PAYMENT_ONLINE = \"FULL_PAYMENT_ONLINE\",\n        /** The entire payment for given item will happen after the checkout. */\n        FULL_PAYMENT_OFFLINE = \"FULL_PAYMENT_OFFLINE\",\n        /** Given item cannot be paid via monetary payment options, only via membership. When this option is used, price will always be 0. */\n        MEMBERSHIP = \"MEMBERSHIP\",\n        /**\n         * Partial payment for the given item to be paid upfront during the checkout.\n         * Amount to be paid is defined by `deposit_amount` field on per-item basis.\n         */\n        DEPOSIT_ONLINE = \"DEPOSIT_ONLINE\"\n    }\n    interface ServiceProperties {\n        /** Optional - The date and time for which the service is supposed to be provided. For example, the time of the class. */\n        scheduledDate?: Date;\n        /** Optional - 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 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;\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    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        /** Whether the pickup address is that of a business - this may effect tax calculation. */\n        businessLocation?: boolean;\n        /** Pickup method */\n        pickupMethod?: PickupMethod;\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 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    interface StreetAddress {\n        /** Street number. */\n        number?: string;\n        /** Street name. */\n        name?: string;\n    }\n    enum PickupMethod {\n        UNKNOWN_METHOD = \"UNKNOWN_METHOD\",\n        STORE_PICKUP = \"STORE_PICKUP\",\n        PICKUP_POINT = \"PICKUP_POINT\"\n    }\n    interface SelectedCarrierServiceOptionPrices {\n        /** Total shipping price, after discount and after tax. */\n        totalPriceAfterTax?: 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 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 ItemTaxFullDetails {\n        /** Amount for which tax is calculated. */\n        taxableAmount?: MultiCurrencyPrice;\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`.\n         * @readonly\n         */\n        rateBreakdown?: TaxRateBreakdown[];\n    }\n    interface TaxRateBreakdown {\n        /** Type 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    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 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?: DeliveryLogistics;\n        /** Sipping price information. */\n        cost?: ShippingPrice;\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 OtherCharge {\n        /** Type of additional cost. */\n        type?: ChargeType;\n        /** Price of added cost. */\n        price?: MultiCurrencyPrice;\n    }\n    interface AppliedDiscount extends AppliedDiscountDiscountSourceOneOf {\n        /** Discount type. */\n        discountType?: DiscountType;\n        /** IDs of line items the discount applies to. */\n        lineItemIds?: string[];\n        /** Coupon details. */\n        coupon?: Coupon;\n        /** Merchant discount. */\n        merchantDiscount?: MerchantDiscount;\n        /** Discount rule */\n        discountRule?: DiscountRule;\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    interface MerchantDiscount {\n        /** Discount value. */\n        amount?: MultiCurrencyPrice;\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 CalculateAdditionalFeesResponse {\n        /** Returned additional fees */\n        additionalFees?: AdditionalFee[];\n        /** Currency */\n        currency?: string;\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        /** Tax details */\n        taxDetails?: TaxDetails;\n    }\n    interface TaxDetails {\n        /** Indication if additional fee is taxable or not */\n        taxable?: boolean;\n    }\n    interface AdditionalFeesSPIConfig {\n    }\n    interface CalculateAdditionalFeesOptions {\n        /** LineItems */\n        lineItems?: LineItem[];\n        /** Selected shipping option */\n        shippingInfo?: ShippingInformation;\n        /** Applied discounts */\n        appliedDiscounts?: AppliedDiscount[];\n    }\n    export { AdditionalFee, AdditionalFeesProvider, AdditionalFeesSPIConfig, Address, AppliedDiscount, AppliedDiscountDiscountSourceOneOf, CalculateAdditionalFeesOptions, CalculateAdditionalFeesRequest, CalculateAdditionalFeesResponse, CarrierServiceOption, CatalogReference, ChargeType, Coupon, DeliveryLogistics, DiscountRule, DiscountRuleName, DiscountType, Group, ItemTaxFullDetails, LineItem, MerchantDiscount, MultiCurrencyPrice, OtherCharge, PaymentOptionType, PhysicalProperties, PickupDetails, PickupMethod, Scope, SelectedCarrierServiceOption, SelectedCarrierServiceOptionOtherCharge, SelectedCarrierServiceOptionPrices, ServiceProperties, ShippingInformation, ShippingOption, ShippingPrice, ShippingRegion, StreetAddress, SubscriptionFrequency, SubscriptionSettings, TaxDetails, TaxRateBreakdown };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/interfaces-ecommerce-v1-catalog-provider.d.ts",
      "content": "declare module \"interfaces-ecommerce-v1-catalog-provider\" {\n    interface CatalogProvider {\n    }\n    interface GetCatalogItemsRequest {\n        /** Catalog and items references and quantities. */\n        catalogReferences?: CatalogReferenceAndQuantity[];\n        /** Weight measurement unit. Defaults to site weight unit. */\n        weightUnit?: WeightUnit;\n        /** Currency code the items' prices will be presented in. For example, `\"USD\"` or `\"EUR\"`. Defaults to site currency. */\n        currency?: string;\n        /** Instance ID. Set only when calling HTTP providers. */\n        instanceId?: string | null;\n    }\n    interface CatalogReferenceAndQuantity {\n        /** Catalog and item reference info. */\n        catalogReference?: CatalogReference;\n        /** Item quantity. */\n        quantity?: number;\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    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 GetCatalogItemsResponse {\n        /** Catalog info and item data. */\n        catalogItems?: Item[];\n    }\n    interface Item {\n        /** Catalog and item reference info. */\n        catalogReference?: CatalogReference;\n        /** Item data. */\n        data?: ItemData;\n    }\n    interface ItemData {\n        /**\n         * *Required** - Item name.\n         * + Stores - `product.name`\n         * + Bookings - `service.info.name`\n         * + Events - `ticket.name`\n         */\n        productName?: ProductName;\n        /**\n         * Optional - 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         * The URL is optional and if not provided, the site URL will be used.\n         */\n        url?: string;\n        /** *Required** - Item type. Either a preset type or custom. */\n        itemType?: ItemType;\n        /** *Required** - Item price **after** catalog-defined discount. */\n        price?: string;\n        /** Optional - Item price **before** catalog-defined discount. Defaults to `price` when not provided. */\n        fullPrice?: string | null;\n        /**\n         * Optional - Line item description lines. Line item description lines. Used for displaying the cart, checkout and order.\n         * 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        descriptionLines?: DescriptionLine[];\n        /**\n         * Optional - Line item 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         * + We are working on removing `altText` as it is not being used by our systems.\n         */\n        media?: string;\n        /**\n         * Optional - 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        /** Optional - Physical properties of the item. When relevant, contains information such as SKU and item weight. */\n        physicalProperties?: PhysicalProperties;\n        /**\n         * Optional - Type of selected payment option for current item. Defaults to `FULL_PAYMENT_ONLINE`.\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;\n        /**\n         * Optional - 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;\n        /**\n         * Optional - 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 name as `catalogReference.catalogItemId`.\n         * + Used in membership validation.\n         */\n        rootCatalogItemId?: string | null;\n        /** Optional - Additional description for the price. For example, when passing `\"price\": \"0\"` but additional details about the actual price are needed - \"Starts at $67\". */\n        priceDescription?: PriceDescription;\n        /**\n         * Optional - partial payment for the given item to be paid upfront during the checkout.\n         * Eligible for catalog items with type `DEPOSIT_ONLINE`.\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    }\n    interface ProductName {\n        /** *Required** - Original item name (in site's default language). */\n        original?: string;\n        /** Optional - Translated item name according to buyer language. Defaults to `original` when not provided. */\n        translated?: string | null;\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 DescriptionLine extends DescriptionLineValueOneOf, DescriptionLineDescriptionLineValueOneOf {\n        /** Description line name. */\n        name?: DescriptionLineName;\n        /** Description line plain text value. */\n        plainText?: PlainTextValue;\n        /** Description line color value. */\n        colorInfo?: Color;\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    interface DescriptionLineName {\n        /** Optional - Description line name in site's default language. */\n        original?: string;\n        /** Optional - Translated description line item according to buyer language. Defaults to `original` when not provided. */\n        translated?: string | null;\n    }\n    interface PlainTextValue {\n        /** Optional - Description line plain text value in site's default language. */\n        original?: string;\n        /** Optional - Translated description line plain text value according to buyer language. Defaults to `original` when not provided. */\n        translated?: string | null;\n    }\n    interface Color {\n        /** Optional - Description line color name in site's default language. */\n        original?: string;\n        /** Optional - Translated description line color name according to buyer language. Defaults to `original` when not provided. */\n        translated?: string | null;\n        /** Optional - 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 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 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    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        /** 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 SecuredMedia {\n        /** Media ID in media manager. */\n        _id?: string;\n        /** Original file name. */\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 given item will happen as part of the checkout. */\n        FULL_PAYMENT_ONLINE = \"FULL_PAYMENT_ONLINE\",\n        /** The entire payment for given item will happen after the checkout. */\n        FULL_PAYMENT_OFFLINE = \"FULL_PAYMENT_OFFLINE\",\n        /** Given item cannot be paid via monetary payment options, only via membership. When this option is used, price will always be 0. */\n        MEMBERSHIP = \"MEMBERSHIP\",\n        /**\n         * Partial payment for the given item to be paid upfront during the checkout.\n         * Amount to be paid is defined by `deposit_amount` field on per-item basis.\n         */\n        DEPOSIT_ONLINE = \"DEPOSIT_ONLINE\"\n    }\n    interface ServiceProperties {\n        /** Optional - The date and time for which the service is supposed to be provided. For example, the time of the class. */\n        scheduledDate?: Date;\n        /** Optional - 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 {\n        /** *Required** - Original price description (in site's default language). */\n        original?: string;\n        /** Optional - Translated product name according to buyer language. Defaults to `original` when not provided. */\n        translated?: 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    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        /** Item Media items. */\n        image?: string[];\n        /** The current status of the inventory */\n        inStock?: boolean;\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    interface CatalogSPIConfig {\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    /** Configuration for discount functionality on the catalog */\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    /**\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 GetCatalogItemsOptions {\n        /** Catalog and items references and quantities. */\n        catalogReferences?: CatalogReferenceAndQuantity[];\n        /** Weight measurement unit. Defaults to site weight unit. */\n        weightUnit?: WeightUnit;\n        /** Currency code the items' prices will be presented in. For example, `\"USD\"` or `\"EUR\"`. Defaults to site currency. */\n        currency?: string;\n        /** Instance ID. Set only when calling HTTP providers. */\n        instanceId?: string | null;\n    }\n    interface QueryCatalogItemsOptions {\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    export { BasicItem, CatalogProvider, CatalogReference, CatalogReferenceAndQuantity, CatalogSPIConfig, Color, Context, Description, DescriptionLine, DescriptionLineDescriptionLineValueOneOf, DescriptionLineName, DescriptionLineType, DescriptionLineValueOneOf, DiscountConfig, FileType, GetCatalogItemsOptions, GetCatalogItemsRequest, GetCatalogItemsResponse, Group, IdentificationData, IdentificationDataIdOneOf, IdentityType, Item, ItemData, ItemType, ItemTypeItemType, ItemTypeItemTypeDataOneOf, NumericPropertyRange, Paging, PagingMetadata, PaymentOptionType, PhysicalProperties, PlainTextValue, PriceDescription, ProductName, QueryCatalogItemsOptions, QueryCatalogItemsRequest, QueryCatalogItemsResponse, Scope, SecuredMedia, ServiceProperties, SubscriptionFrequency, SubscriptionOptionInfo, SubscriptionSettings, Title, WeightUnit };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/interfaces-ecom-v1-shipping-rates-provider.d.ts",
      "content": "declare module \"interfaces-ecom-v1-shipping-rates-provider\" {\n    interface ShippingRatesProvider {\n    }\n    interface GetShippingRatesRequest {\n        /** All items included to be sent */\n        lineItems?: ProductItem[];\n        /** Destination of the items */\n        shippingDestination?: Address;\n        /**\n         * Where the items are sent from - this may be needed for some carriers.\n         * For now it will simply be the business location of the store.\n         */\n        shippingOrigin?: Address;\n        /** Contact details */\n        buyerContactDetails?: FullAddressContactDetails;\n        /** Measure unit */\n        weightUnit?: WeightUnit;\n        /** If tax should be added to price */\n        taxIncludedInPrices?: boolean;\n    }\n    interface ProductItem {\n        /** product's name */\n        name?: string;\n        /** The amount of items for that specific product */\n        quantity?: number;\n        /** Fully qualified identifier of the product */\n        catalogReference?: CatalogReference;\n        /** Physical properties of the product, e.g weight */\n        physicalProperties?: PhysicalProperties;\n        /** final price after all discounts (catalog discount + merchant discount + coupon discounts) what the user actually will pay */\n        price?: string;\n        /** price for all the quantity in the line item before coupons and before auto discounts. */\n        totalPriceBeforeDiscount?: string | null;\n        /** price for a single item before platform discounts (as above) */\n        priceBeforeDiscount?: string | null;\n        /** final price after discounts for the whole quantity of the line item */\n        totalPrice?: 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 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    /** 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    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    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 first name */\n        firstName?: string | null;\n        /** Contact last name */\n        lastName?: string | null;\n        /** Contact phone number */\n        phone?: string | null;\n        /** Contact's company */\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        /** tax type */\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 GetShippingRatesResponse {\n        /** Shipping rates this carrier gives */\n        shippingRates?: 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         * e.g \"Standard\" or \"First-Class Package International\" (in legacy its called \"option title\")\n         */\n        title?: string;\n        /** Logistics of how delivery will be */\n        logistics?: DeliveryLogistics;\n        /** Cost information for the rates option */\n        cost?: ShippingPrice;\n    }\n    interface DeliveryLogistics {\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;\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 ShippingPrice {\n        /** Amount charged for actual shipping rate */\n        price?: string;\n        /** Currency of the price - can differ from each Carrier, e.g US Carrier gives price in USD but London Carrier in EUR. */\n        currency?: string;\n        /** Additional costs such as insurance, handling & packaging for fragile items etc. */\n        additionalCharges?: AdditionalCharge[];\n    }\n    interface AdditionalCharge {\n        /** The reason for the 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        /** Cost of the charge */\n        price?: string;\n    }\n    enum ChargeType {\n        HANDLING_FEE = \"HANDLING_FEE\"\n    }\n    interface MissingPostalCodeError {\n        error?: ApplicationError;\n    }\n    interface ApplicationError {\n        code?: string;\n        description?: string;\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    }\n    interface GenericShippingRatesError {\n        errors?: ApplicationError[];\n    }\n    interface ShippingRatesConfig {\n        /** Short name */\n        name?: string;\n        /** Carrier description */\n        description?: string | null;\n        /** Carrier learn more url */\n        learnMoreUrl?: string | null;\n        /** Dashboard URL for Carrier */\n        dashboardUrl?: string | null;\n        /** Require site owner to define fallback rate. Turn it on if you do not provide rate as part of the integration */\n        fallbackDefinitionMandatory?: 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        /** @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 GetShippingRatesOptions {\n        /** All items included to be sent */\n        lineItems?: ProductItem[];\n        /** Destination of the items */\n        shippingDestination?: Address;\n        /**\n         * Where the items are sent from - this may be needed for some carriers.\n         * For now it will simply be the business location of the store.\n         */\n        shippingOrigin?: Address;\n        /** Contact details */\n        buyerContactDetails?: FullAddressContactDetails;\n        /** Measure unit */\n        weightUnit?: WeightUnit;\n        /** If tax should be added to price */\n        taxIncludedInPrices?: boolean;\n    }\n    export { AdditionalCharge, Address, AddressLocation, AddressStreetOneOf, ApplicationError, CatalogReference, ChargeType, Context, DeliveryLogistics, FieldViolation, FullAddressContactDetails, GenericShippingRatesError, GetShippingRatesOptions, GetShippingRatesRequest, GetShippingRatesResponse, IdentificationData, IdentificationDataIdOneOf, IdentityType, InvalidAddressError, InvalidPostalCodeError, MissingPostalCodeError, PhysicalProperties, PickupDetails, PickupMethod, ProductItem, RuleType, ShippingOption, ShippingPrice, ShippingRatesConfig, ShippingRatesProvider, StreetAddress, Subdivision, SubdivisionType, VatId, VatType, WeightUnit };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-events.v2.d.ts",
      "content": "declare module \"wix-events.v2\" {\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;\n        /**\n         * Date and time when the schedule item was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\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;\n        /** End of the interval. Non-inclusive. */\n        end?: Date;\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 was 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;\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         * @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$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$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$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$7;\n    }\n    interface FacetCounts$7 {\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$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 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$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$7[];\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$7;\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 QueryScheduleItemsResponse$1 {\n        pagingMetadata?: PagingMetadataV2$7;\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    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 up to 100 schedule items\n     * @public\n     * @param options - Optional fields.\n     * @permissionId WIX_EVENTS.READ_AGENDA\n     * @applicableIdentity VISITOR\n     */\n    function listScheduleItems(options?: ListScheduleItemsOptions): Promise<ListScheduleItemsResponse$1>;\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$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         * @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     * @applicableIdentity VISITOR\n     */\n    function queryScheduleItems(): ItemsQueryBuilder;\n    interface QueryCursorResult$4 {\n        cursors: Cursors$7;\n        hasNext: () => boolean;\n        hasPrev: () => boolean;\n        length: number;\n        pageSize: number;\n    }\n    interface ItemsQueryResult extends QueryCursorResult$4 {\n        items: ScheduleItem$1[];\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     * @applicableIdentity VISITOR\n     * @returns Schedule item.\n     */\n    function getScheduleItem(itemId: string, options?: GetScheduleItemOptions): Promise<ScheduleItem$1>;\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function addScheduleItem(eventId: string, options?: AddScheduleItemOptions): Promise<AddScheduleItemResponse$1>;\n    interface AddScheduleItemOptions {\n        /** Schedule item. */\n        item?: ScheduleItemData$1;\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function updateScheduleItem(itemId: string, eventId: string, options?: UpdateScheduleItemOptions): Promise<UpdateScheduleItemResponse$1>;\n    interface UpdateScheduleItemOptions {\n        /** Schedule item. */\n        item?: ScheduleItemData$1;\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @applicableIdentity APP\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @applicableIdentity APP\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @applicableIdentity APP\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @applicableIdentity APP\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$1;\n    }\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 { ScheduleItem$1 as ScheduleItem, TimeInterval$1 as TimeInterval, ScheduleStatus$1 as ScheduleStatus, ListScheduleItemsRequest$1 as ListScheduleItemsRequest, StateFilter$1 as StateFilter, Paging$7 as Paging, ListScheduleItemsResponse$1 as ListScheduleItemsResponse, FacetCounts$7 as FacetCounts, PagingMetadataV2$7 as PagingMetadataV2, Cursors$7 as Cursors, QueryScheduleItemsRequest$1 as QueryScheduleItemsRequest, QueryV2$7 as QueryV2, QueryV2PagingMethodOneOf$7 as QueryV2PagingMethodOneOf, Sorting$7 as Sorting, SortOrder$7 as SortOrder, QueryScheduleItemsResponse$1 as QueryScheduleItemsResponse, GetScheduleItemRequest$1 as GetScheduleItemRequest, GetScheduleItemResponse$1 as GetScheduleItemResponse, AddScheduleItemRequest$1 as AddScheduleItemRequest, ScheduleItemData$1 as ScheduleItemData, AddScheduleItemResponse$1 as AddScheduleItemResponse, UpdateScheduleItemRequest$1 as UpdateScheduleItemRequest, UpdateScheduleItemResponse$1 as UpdateScheduleItemResponse, DeleteScheduleItemRequest$1 as DeleteScheduleItemRequest, DeleteScheduleItemResponse$1 as DeleteScheduleItemResponse, DiscardDraftRequest$2 as DiscardDraftRequest, DiscardDraftResponse$2 as DiscardDraftResponse, PublishDraftRequest$2 as PublishDraftRequest, PublishDraftResponse$2 as PublishDraftResponse, RescheduleDraftRequest$1 as RescheduleDraftRequest, RescheduleDraftResponse$1 as RescheduleDraftResponse, ListBookmarksRequest$1 as ListBookmarksRequest, ListBookmarksResponse$1 as ListBookmarksResponse, CreateBookmarkRequest$1 as CreateBookmarkRequest, CreateBookmarkResponse$1 as CreateBookmarkResponse, DeleteBookmarkRequest$1 as DeleteBookmarkRequest, DeleteBookmarkResponse$1 as DeleteBookmarkResponse, eventsScheduleV1ScheduleItemSchedule_universal_d_listScheduleItems as listScheduleItems, eventsScheduleV1ScheduleItemSchedule_universal_d_ListScheduleItemsOptions as ListScheduleItemsOptions, eventsScheduleV1ScheduleItemSchedule_universal_d_queryScheduleItems as queryScheduleItems, eventsScheduleV1ScheduleItemSchedule_universal_d_ItemsQueryResult as ItemsQueryResult, eventsScheduleV1ScheduleItemSchedule_universal_d_ItemsQueryBuilder as ItemsQueryBuilder, eventsScheduleV1ScheduleItemSchedule_universal_d_getScheduleItem as getScheduleItem, eventsScheduleV1ScheduleItemSchedule_universal_d_GetScheduleItemOptions as GetScheduleItemOptions, eventsScheduleV1ScheduleItemSchedule_universal_d_addScheduleItem as addScheduleItem, eventsScheduleV1ScheduleItemSchedule_universal_d_AddScheduleItemOptions as AddScheduleItemOptions, eventsScheduleV1ScheduleItemSchedule_universal_d_updateScheduleItem as updateScheduleItem, eventsScheduleV1ScheduleItemSchedule_universal_d_UpdateScheduleItemOptions as UpdateScheduleItemOptions, eventsScheduleV1ScheduleItemSchedule_universal_d_deleteScheduleItem as deleteScheduleItem, eventsScheduleV1ScheduleItemSchedule_universal_d_DeleteScheduleItemOptions as DeleteScheduleItemOptions, discardDraft$1 as discardDraft, publishDraft$1 as publishDraft, eventsScheduleV1ScheduleItemSchedule_universal_d_rescheduleDraft as rescheduleDraft, eventsScheduleV1ScheduleItemSchedule_universal_d_RescheduleDraftOptions as RescheduleDraftOptions, };\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;\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         * - `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$6[];\n    }\n    interface CategoryCounts$3 {\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$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 CreateCategoryRequest {\n        /** Category to create. */\n        category: Category$3;\n    }\n    interface CreateCategoryResponse {\n        /** Created category. */\n        category?: Category$3;\n    }\n    interface BulkCreateCategoryRequest {\n        /** Categories to create. */\n        categories: Category$3[];\n    }\n    interface BulkCreateCategoryResponse {\n        /** Bulk create results. */\n        results?: BulkCategoryResult[];\n        /** Metadata of results. */\n        bulkActionMetadata?: BulkActionMetadata;\n    }\n    interface BulkCategoryResult {\n        /** Metadata. */\n        itemMetadata?: ItemMetadata;\n        /** Created categories. */\n        item?: Category$3;\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 due to exceeding the threshold for detailed failures. */\n        undetailedFailures?: number;\n    }\n    interface UpdateCategoryRequest {\n        /** Category to update. */\n        category: Category$3;\n    }\n    interface UpdateCategoryResponse {\n        /** Updated category. */\n        category?: Category$3;\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$6;\n        /**\n         * Predefined sets of fields to return.\n         * - `COUNTS`: Returns `assignedEventsCount`.\n         */\n        fieldset?: CategoryFieldset[];\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$6;\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$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$6;\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$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    enum CategoryFieldset {\n        /** Include `assignedEventsCount` in the response. */\n        COUNTS = \"COUNTS\"\n    }\n    interface QueryCategoriesResponse {\n        /** List of categories. */\n        categories?: Category$3[];\n        /** Metadata for the paginated results. */\n        metaData?: 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$6;\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;\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;\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$3[];\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$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;\n        /**\n         * Whether the event was triggered as a result of a privacy regulation application\n         * (for example, GDPR).\n         */\n        triggeredByAnonymizeRequest?: boolean | null;\n        /** If present, indicates the action that triggered the event. */\n        originatedFrom?: string | null;\n        /**\n         * A sequence number defining the order of updates to the underlying entity.\n         * For example, given that some entity was updated at 16:00 and than again at 16:01,\n         * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n         * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n         * To do so, you will need to persist this number on your end, and compare the sequence number from the\n         * message against the one you have 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        /** 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$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    interface EntityDeletedEvent$5 {\n        /** Entity that was deleted */\n        deletedEntityAsJson?: 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     * Creates a category.\n     * @public\n     * @requiredField category\n     * @param category - Category to create.\n     * @permissionId WIX_EVENTS.MANAGE_CATEGORIES\n     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Created category.\n     */\n    function createCategory(category: Category$3): Promise<Category$3>;\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function bulkCreateCategory(categories: Category$3[]): 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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Updated category.\n     */\n    function updateCategory(_id: string, category: UpdateCategory): Promise<Category$3>;\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;\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         * - `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$6[];\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @applicableIdentity APP\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     * @applicableIdentity VISITOR\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$3[];\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @applicableIdentity APP\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @applicableIdentity APP\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @applicableIdentity APP\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @applicableIdentity APP\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @applicableIdentity APP\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @applicableIdentity APP\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     * @applicableIdentity VISITOR\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @applicableIdentity APP\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    type eventsV1CategoryCategories_universal_d_CreateCategoryRequest = CreateCategoryRequest;\n    type eventsV1CategoryCategories_universal_d_CreateCategoryResponse = CreateCategoryResponse;\n    type eventsV1CategoryCategories_universal_d_BulkCreateCategoryRequest = BulkCreateCategoryRequest;\n    type eventsV1CategoryCategories_universal_d_BulkCreateCategoryResponse = BulkCreateCategoryResponse;\n    type eventsV1CategoryCategories_universal_d_BulkCategoryResult = BulkCategoryResult;\n    type eventsV1CategoryCategories_universal_d_ItemMetadata = ItemMetadata;\n    type eventsV1CategoryCategories_universal_d_ApplicationError = ApplicationError;\n    type eventsV1CategoryCategories_universal_d_BulkActionMetadata = BulkActionMetadata;\n    type eventsV1CategoryCategories_universal_d_UpdateCategoryRequest = UpdateCategoryRequest;\n    type eventsV1CategoryCategories_universal_d_UpdateCategoryResponse = UpdateCategoryResponse;\n    type eventsV1CategoryCategories_universal_d_DeleteCategoryRequest = DeleteCategoryRequest;\n    type eventsV1CategoryCategories_universal_d_DeleteCategoryResponse = DeleteCategoryResponse;\n    type eventsV1CategoryCategories_universal_d_QueryCategoriesRequest = QueryCategoriesRequest;\n    type eventsV1CategoryCategories_universal_d_CategoryFieldset = CategoryFieldset;\n    const eventsV1CategoryCategories_universal_d_CategoryFieldset: typeof CategoryFieldset;\n    type eventsV1CategoryCategories_universal_d_QueryCategoriesResponse = QueryCategoriesResponse;\n    type eventsV1CategoryCategories_universal_d_AssignEventsRequest = AssignEventsRequest;\n    type eventsV1CategoryCategories_universal_d_AssignEventsResponse = AssignEventsResponse;\n    type eventsV1CategoryCategories_universal_d_BulkAssignEventsRequest = BulkAssignEventsRequest;\n    type eventsV1CategoryCategories_universal_d_BulkAssignEventsResponse = BulkAssignEventsResponse;\n    type eventsV1CategoryCategories_universal_d_BulkAssignEventsAsyncRequest = BulkAssignEventsAsyncRequest;\n    type eventsV1CategoryCategories_universal_d_BulkAssignEventsAsyncResponse = BulkAssignEventsAsyncResponse;\n    type eventsV1CategoryCategories_universal_d_UnassignEventsRequest = UnassignEventsRequest;\n    type eventsV1CategoryCategories_universal_d_UnassignEventsResponse = UnassignEventsResponse;\n    type eventsV1CategoryCategories_universal_d_BulkUnassignEventsRequest = BulkUnassignEventsRequest;\n    type eventsV1CategoryCategories_universal_d_BulkUnassignEventsResponse = BulkUnassignEventsResponse;\n    type eventsV1CategoryCategories_universal_d_BulkUnassignEventsAsyncRequest = BulkUnassignEventsAsyncRequest;\n    type eventsV1CategoryCategories_universal_d_BulkUnassignEventsAsyncResponse = BulkUnassignEventsAsyncResponse;\n    type eventsV1CategoryCategories_universal_d_ListEventCategoriesRequest = ListEventCategoriesRequest;\n    type eventsV1CategoryCategories_universal_d_ListEventCategoriesResponse = ListEventCategoriesResponse;\n    type eventsV1CategoryCategories_universal_d_ReorderCategoryEventsRequest = ReorderCategoryEventsRequest;\n    type eventsV1CategoryCategories_universal_d_ReorderCategoryEventsRequestReferenceEventOneOf = ReorderCategoryEventsRequestReferenceEventOneOf;\n    type eventsV1CategoryCategories_universal_d_ReorderCategoryEventsResponse = ReorderCategoryEventsResponse;\n    const eventsV1CategoryCategories_universal_d_createCategory: typeof createCategory;\n    const eventsV1CategoryCategories_universal_d_bulkCreateCategory: typeof bulkCreateCategory;\n    const eventsV1CategoryCategories_universal_d_updateCategory: typeof updateCategory;\n    type eventsV1CategoryCategories_universal_d_UpdateCategory = UpdateCategory;\n    const eventsV1CategoryCategories_universal_d_deleteCategory: typeof deleteCategory;\n    const eventsV1CategoryCategories_universal_d_queryCategories: typeof queryCategories;\n    type eventsV1CategoryCategories_universal_d_QueryCategoriesOptions = QueryCategoriesOptions;\n    type eventsV1CategoryCategories_universal_d_CategoriesQueryResult = CategoriesQueryResult;\n    type eventsV1CategoryCategories_universal_d_CategoriesQueryBuilder = CategoriesQueryBuilder;\n    const eventsV1CategoryCategories_universal_d_assignEvents: typeof assignEvents;\n    const eventsV1CategoryCategories_universal_d_bulkAssignEvents: typeof bulkAssignEvents;\n    type eventsV1CategoryCategories_universal_d_BulkAssignEventsOptions = BulkAssignEventsOptions;\n    const eventsV1CategoryCategories_universal_d_bulkAssignEventsAsync: typeof bulkAssignEventsAsync;\n    type eventsV1CategoryCategories_universal_d_BulkAssignEventsAsyncOptions = BulkAssignEventsAsyncOptions;\n    const eventsV1CategoryCategories_universal_d_unassignEvents: typeof unassignEvents;\n    const eventsV1CategoryCategories_universal_d_bulkUnassignEvents: typeof bulkUnassignEvents;\n    type eventsV1CategoryCategories_universal_d_BulkUnassignEventsOptions = BulkUnassignEventsOptions;\n    const eventsV1CategoryCategories_universal_d_bulkUnassignEventsAsync: typeof bulkUnassignEventsAsync;\n    type eventsV1CategoryCategories_universal_d_BulkUnassignEventsAsyncOptions = BulkUnassignEventsAsyncOptions;\n    const eventsV1CategoryCategories_universal_d_listEventCategories: typeof listEventCategories;\n    const eventsV1CategoryCategories_universal_d_reorderCategoryEvents: typeof reorderCategoryEvents;\n    type eventsV1CategoryCategories_universal_d_ReorderCategoryEventsOptions = ReorderCategoryEventsOptions;\n    namespace eventsV1CategoryCategories_universal_d {\n        export { Category$3 as Category, CategoryCounts$3 as CategoryCounts, State$6 as State, eventsV1CategoryCategories_universal_d_CreateCategoryRequest as CreateCategoryRequest, eventsV1CategoryCategories_universal_d_CreateCategoryResponse as CreateCategoryResponse, eventsV1CategoryCategories_universal_d_BulkCreateCategoryRequest as BulkCreateCategoryRequest, eventsV1CategoryCategories_universal_d_BulkCreateCategoryResponse as BulkCreateCategoryResponse, eventsV1CategoryCategories_universal_d_BulkCategoryResult as BulkCategoryResult, eventsV1CategoryCategories_universal_d_ItemMetadata as ItemMetadata, eventsV1CategoryCategories_universal_d_ApplicationError as ApplicationError, eventsV1CategoryCategories_universal_d_BulkActionMetadata as BulkActionMetadata, eventsV1CategoryCategories_universal_d_UpdateCategoryRequest as UpdateCategoryRequest, eventsV1CategoryCategories_universal_d_UpdateCategoryResponse as UpdateCategoryResponse, eventsV1CategoryCategories_universal_d_DeleteCategoryRequest as DeleteCategoryRequest, eventsV1CategoryCategories_universal_d_DeleteCategoryResponse as DeleteCategoryResponse, eventsV1CategoryCategories_universal_d_QueryCategoriesRequest as QueryCategoriesRequest, QueryV2$6 as QueryV2, QueryV2PagingMethodOneOf$6 as QueryV2PagingMethodOneOf, Sorting$6 as Sorting, SortOrder$6 as SortOrder, Paging$6 as Paging, eventsV1CategoryCategories_universal_d_CategoryFieldset as CategoryFieldset, eventsV1CategoryCategories_universal_d_QueryCategoriesResponse as QueryCategoriesResponse, PagingMetadataV2$6 as PagingMetadataV2, Cursors$6 as Cursors, eventsV1CategoryCategories_universal_d_AssignEventsRequest as AssignEventsRequest, eventsV1CategoryCategories_universal_d_AssignEventsResponse as AssignEventsResponse, eventsV1CategoryCategories_universal_d_BulkAssignEventsRequest as BulkAssignEventsRequest, eventsV1CategoryCategories_universal_d_BulkAssignEventsResponse as BulkAssignEventsResponse, eventsV1CategoryCategories_universal_d_BulkAssignEventsAsyncRequest as BulkAssignEventsAsyncRequest, eventsV1CategoryCategories_universal_d_BulkAssignEventsAsyncResponse as BulkAssignEventsAsyncResponse, eventsV1CategoryCategories_universal_d_UnassignEventsRequest as UnassignEventsRequest, eventsV1CategoryCategories_universal_d_UnassignEventsResponse as UnassignEventsResponse, eventsV1CategoryCategories_universal_d_BulkUnassignEventsRequest as BulkUnassignEventsRequest, eventsV1CategoryCategories_universal_d_BulkUnassignEventsResponse as BulkUnassignEventsResponse, eventsV1CategoryCategories_universal_d_BulkUnassignEventsAsyncRequest as BulkUnassignEventsAsyncRequest, eventsV1CategoryCategories_universal_d_BulkUnassignEventsAsyncResponse as BulkUnassignEventsAsyncResponse, eventsV1CategoryCategories_universal_d_ListEventCategoriesRequest as ListEventCategoriesRequest, eventsV1CategoryCategories_universal_d_ListEventCategoriesResponse as ListEventCategoriesResponse, eventsV1CategoryCategories_universal_d_ReorderCategoryEventsRequest as ReorderCategoryEventsRequest, eventsV1CategoryCategories_universal_d_ReorderCategoryEventsRequestReferenceEventOneOf as ReorderCategoryEventsRequestReferenceEventOneOf, eventsV1CategoryCategories_universal_d_ReorderCategoryEventsResponse as ReorderCategoryEventsResponse, DomainEvent$5 as DomainEvent, DomainEventBodyOneOf$5 as DomainEventBodyOneOf, EntityCreatedEvent$5 as EntityCreatedEvent, RestoreInfo$2 as RestoreInfo, EntityUpdatedEvent$5 as EntityUpdatedEvent, EntityDeletedEvent$5 as EntityDeletedEvent, ActionEvent$5 as ActionEvent, MessageEnvelope$9 as MessageEnvelope, IdentificationData$9 as IdentificationData, IdentificationDataIdOneOf$9 as IdentificationDataIdOneOf, WebhookIdentityType$9 as WebhookIdentityType, eventsV1CategoryCategories_universal_d_createCategory as createCategory, eventsV1CategoryCategories_universal_d_bulkCreateCategory as bulkCreateCategory, eventsV1CategoryCategories_universal_d_updateCategory as updateCategory, eventsV1CategoryCategories_universal_d_UpdateCategory as UpdateCategory, eventsV1CategoryCategories_universal_d_deleteCategory as deleteCategory, eventsV1CategoryCategories_universal_d_queryCategories as queryCategories, eventsV1CategoryCategories_universal_d_QueryCategoriesOptions as QueryCategoriesOptions, eventsV1CategoryCategories_universal_d_CategoriesQueryResult as CategoriesQueryResult, eventsV1CategoryCategories_universal_d_CategoriesQueryBuilder as CategoriesQueryBuilder, eventsV1CategoryCategories_universal_d_assignEvents as assignEvents, eventsV1CategoryCategories_universal_d_bulkAssignEvents as bulkAssignEvents, eventsV1CategoryCategories_universal_d_BulkAssignEventsOptions as BulkAssignEventsOptions, eventsV1CategoryCategories_universal_d_bulkAssignEventsAsync as bulkAssignEventsAsync, eventsV1CategoryCategories_universal_d_BulkAssignEventsAsyncOptions as BulkAssignEventsAsyncOptions, eventsV1CategoryCategories_universal_d_unassignEvents as unassignEvents, eventsV1CategoryCategories_universal_d_bulkUnassignEvents as bulkUnassignEvents, eventsV1CategoryCategories_universal_d_BulkUnassignEventsOptions as BulkUnassignEventsOptions, eventsV1CategoryCategories_universal_d_bulkUnassignEventsAsync as bulkUnassignEventsAsync, eventsV1CategoryCategories_universal_d_BulkUnassignEventsAsyncOptions as BulkUnassignEventsAsyncOptions, eventsV1CategoryCategories_universal_d_listEventCategories as listEventCategories, eventsV1CategoryCategories_universal_d_reorderCategoryEvents as reorderCategoryEvents, eventsV1CategoryCategories_universal_d_ReorderCategoryEventsOptions as ReorderCategoryEventsOptions, };\n    }\n    interface TicketingTicket$1 {\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$6;\n        /**\n         * Whether ticket requires payment.\n         * @readonly\n         */\n        free?: boolean;\n        /** Ticket and event policies. */\n        policy?: string;\n        /** Ticket check-in. */\n        checkIn?: CheckIn$3;\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$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 the ticket is visible in an order. */\n        archived?: boolean;\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$1;\n        /**\n         * An URL to download a ticket in the `.pkpass` format for Apple Wallet.\n         * @readonly\n         */\n        walletPassUrl?: string;\n    }\n    interface Money$6 {\n        /** *Deprecated:** Use `value` instead. */\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, a single (-), to indicate that the amount is negative. */\n        value?: string | null;\n    }\n    interface CheckIn$3 {\n        /** Time of a ticket check-in. */\n        created?: Date;\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 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    interface FormResponse$3 {\n        /** Form field inputs. */\n        inputValues?: InputValue$3[];\n    }\n    interface InputValue$3 {\n        /** Form field input name. */\n        inputName?: string;\n        /** Form field value. */\n        value?: string;\n        /** Form field values. */\n        values?: string[];\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    /** @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    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        /** Standard organizations details (e.g. ISO). */\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 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$2 {\n        /** Unique seat id in the event venue. */\n        seatId?: 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        /** 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$2[];\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$5[];\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$5 {\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$1[];\n        /** 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 TicketFacets {\n        /** Filter facets. */\n        facets?: Record<string, TicketFacetCounts>;\n    }\n    interface TicketFacetCounts {\n        /** Facet totals, aggregated per filter. */\n        counts?: Record<string, Counts$2>;\n    }\n    interface Counts$2 {\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$1;\n    }\n    interface CheckInTicketRequest {\n        /** Event ID to which the ticket belongs. */\n        eventId: string;\n        /** Tickets to check-in. */\n        ticketNumber?: string[];\n    }\n    interface CheckInTicketResponse {\n        /** Updated tickets. */\n        tickets?: TicketingTicket$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 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;\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 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$6;\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 DeleteTicketCheckInRequest {\n        /** Event ID to which the ticket belongs. */\n        eventId: string;\n        /** Ticket numbers which check-ins to delete. */\n        ticketNumber?: string[];\n    }\n    interface DeleteTicketCheckInResponse {\n        /** Updated tickets. */\n        tickets?: TicketingTicket$1[];\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        /** 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$3;\n    }\n    interface UpdateTicketResponse {\n        /** Updated ticket. */\n        ticket?: TicketingTicket$1;\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$1[];\n    }\n    interface GetDemoTicketRequest {\n        /** Ticket definition ID. */\n        definitionId?: string;\n    }\n    interface GetDemoTicketResponse {\n        /** Ticket. */\n        ticket?: TicketingTicket$1;\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 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     * @permissionScope Read Events - all read permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.READ-EVENTS\n     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Guest List\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-GUEST-LIST\n     * @permissionScope Read Event Tickets and Guest List\n     * @permissionScopeId SCOPE.DC-EVENTS.READ-GUEST-LIST\n     * @applicableIdentity APP\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        /** 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$2[];\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$5[];\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     * @permissionScope Read Events - all read permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.READ-EVENTS\n     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Guest List\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-GUEST-LIST\n     * @permissionScope Read Event Tickets and Guest List\n     * @permissionScopeId SCOPE.DC-EVENTS.READ-GUEST-LIST\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Ticket.\n     */\n    function getTicket(identifiers: GetTicketIdentifiers, options?: GetTicketOptions): Promise<TicketingTicket$1>;\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     * @adminMethod\n     */\n    function checkInTickets(eventId: string, options?: CheckInTicketsOptions): Promise<CheckInTicketResponse>;\n    interface CheckInTicketsOptions {\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     * @adminMethod\n     */\n    function deleteTicketCheckIns(eventId: string, options?: DeleteTicketCheckInsOptions): Promise<DeleteTicketCheckInResponse>;\n    interface DeleteTicketCheckInsOptions {\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Guest List\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-GUEST-LIST\n     * @applicableIdentity APP\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        /** 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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Guest List\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-GUEST-LIST\n     * @applicableIdentity APP\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    type eventsV1TicketTickets_universal_d_ListTicketsRequest = ListTicketsRequest;\n    type eventsV1TicketTickets_universal_d_TicketFieldset = TicketFieldset;\n    const eventsV1TicketTickets_universal_d_TicketFieldset: typeof TicketFieldset;\n    type eventsV1TicketTickets_universal_d_ListTicketsResponse = ListTicketsResponse;\n    type eventsV1TicketTickets_universal_d_TicketFacets = TicketFacets;\n    type eventsV1TicketTickets_universal_d_TicketFacetCounts = TicketFacetCounts;\n    type eventsV1TicketTickets_universal_d_GetTicketRequest = GetTicketRequest;\n    type eventsV1TicketTickets_universal_d_GetTicketResponse = GetTicketResponse;\n    type eventsV1TicketTickets_universal_d_CheckInTicketRequest = CheckInTicketRequest;\n    type eventsV1TicketTickets_universal_d_CheckInTicketResponse = CheckInTicketResponse;\n    type eventsV1TicketTickets_universal_d_DeleteTicketCheckInRequest = DeleteTicketCheckInRequest;\n    type eventsV1TicketTickets_universal_d_DeleteTicketCheckInResponse = DeleteTicketCheckInResponse;\n    type eventsV1TicketTickets_universal_d_UpdateTicketRequest = UpdateTicketRequest;\n    type eventsV1TicketTickets_universal_d_GuestDetailsUpdate = GuestDetailsUpdate;\n    type eventsV1TicketTickets_universal_d_UpdateTicketResponse = UpdateTicketResponse;\n    type eventsV1TicketTickets_universal_d_BulkUpdateTicketsRequest = BulkUpdateTicketsRequest;\n    type eventsV1TicketTickets_universal_d_BulkUpdateTicketsResponse = BulkUpdateTicketsResponse;\n    type eventsV1TicketTickets_universal_d_GetDemoTicketRequest = GetDemoTicketRequest;\n    type eventsV1TicketTickets_universal_d_GetDemoTicketResponse = GetDemoTicketResponse;\n    const eventsV1TicketTickets_universal_d_listTickets: typeof listTickets;\n    type eventsV1TicketTickets_universal_d_ListTicketsOptions = ListTicketsOptions;\n    const eventsV1TicketTickets_universal_d_getTicket: typeof getTicket;\n    type eventsV1TicketTickets_universal_d_GetTicketIdentifiers = GetTicketIdentifiers;\n    type eventsV1TicketTickets_universal_d_GetTicketOptions = GetTicketOptions;\n    const eventsV1TicketTickets_universal_d_checkInTickets: typeof checkInTickets;\n    type eventsV1TicketTickets_universal_d_CheckInTicketsOptions = CheckInTicketsOptions;\n    const eventsV1TicketTickets_universal_d_deleteTicketCheckIns: typeof deleteTicketCheckIns;\n    type eventsV1TicketTickets_universal_d_DeleteTicketCheckInsOptions = DeleteTicketCheckInsOptions;\n    const eventsV1TicketTickets_universal_d_updateTicket: typeof updateTicket;\n    type eventsV1TicketTickets_universal_d_UpdateTicketIdentifiers = UpdateTicketIdentifiers;\n    type eventsV1TicketTickets_universal_d_UpdateTicketOptions = UpdateTicketOptions;\n    const eventsV1TicketTickets_universal_d_bulkUpdateTickets: typeof bulkUpdateTickets;\n    type eventsV1TicketTickets_universal_d_BulkUpdateTicketsOptions = BulkUpdateTicketsOptions;\n    namespace eventsV1TicketTickets_universal_d {\n        export { TicketingTicket$1 as TicketingTicket, Money$6 as Money, CheckIn$3 as CheckIn, OrderStatus$2 as OrderStatus, GuestDetails$2 as GuestDetails, FormResponse$3 as FormResponse, InputValue$3 as InputValue, FormattedAddress$3 as FormattedAddress, Address$7 as Address, AddressStreetOneOf$7 as AddressStreetOneOf, StreetAddress$7 as StreetAddress, AddressLocation$7 as AddressLocation, Subdivision$7 as Subdivision, SubdivisionType$7 as SubdivisionType, StandardDetails$3 as StandardDetails, ChannelType$1 as ChannelType, TicketDetails$2 as TicketDetails, eventsV1TicketTickets_universal_d_ListTicketsRequest as ListTicketsRequest, eventsV1TicketTickets_universal_d_TicketFieldset as TicketFieldset, State$5 as State, eventsV1TicketTickets_universal_d_ListTicketsResponse as ListTicketsResponse, FacetCounts$6 as FacetCounts, eventsV1TicketTickets_universal_d_TicketFacets as TicketFacets, eventsV1TicketTickets_universal_d_TicketFacetCounts as TicketFacetCounts, Counts$2 as Counts, eventsV1TicketTickets_universal_d_GetTicketRequest as GetTicketRequest, eventsV1TicketTickets_universal_d_GetTicketResponse as GetTicketResponse, eventsV1TicketTickets_universal_d_CheckInTicketRequest as CheckInTicketRequest, eventsV1TicketTickets_universal_d_CheckInTicketResponse as CheckInTicketResponse, OrderUpdated$2 as OrderUpdated, Ticket$2 as Ticket, OnlineConferencingLogin$3 as OnlineConferencingLogin, eventsV1TicketTickets_universal_d_DeleteTicketCheckInRequest as DeleteTicketCheckInRequest, eventsV1TicketTickets_universal_d_DeleteTicketCheckInResponse as DeleteTicketCheckInResponse, eventsV1TicketTickets_universal_d_UpdateTicketRequest as UpdateTicketRequest, eventsV1TicketTickets_universal_d_GuestDetailsUpdate as GuestDetailsUpdate, eventsV1TicketTickets_universal_d_UpdateTicketResponse as UpdateTicketResponse, eventsV1TicketTickets_universal_d_BulkUpdateTicketsRequest as BulkUpdateTicketsRequest, eventsV1TicketTickets_universal_d_BulkUpdateTicketsResponse as BulkUpdateTicketsResponse, eventsV1TicketTickets_universal_d_GetDemoTicketRequest as GetDemoTicketRequest, eventsV1TicketTickets_universal_d_GetDemoTicketResponse as GetDemoTicketResponse, MessageEnvelope$8 as MessageEnvelope, IdentificationData$8 as IdentificationData, IdentificationDataIdOneOf$8 as IdentificationDataIdOneOf, WebhookIdentityType$8 as WebhookIdentityType, eventsV1TicketTickets_universal_d_listTickets as listTickets, eventsV1TicketTickets_universal_d_ListTicketsOptions as ListTicketsOptions, eventsV1TicketTickets_universal_d_getTicket as getTicket, eventsV1TicketTickets_universal_d_GetTicketIdentifiers as GetTicketIdentifiers, eventsV1TicketTickets_universal_d_GetTicketOptions as GetTicketOptions, eventsV1TicketTickets_universal_d_checkInTickets as checkInTickets, eventsV1TicketTickets_universal_d_CheckInTicketsOptions as CheckInTicketsOptions, eventsV1TicketTickets_universal_d_deleteTicketCheckIns as deleteTicketCheckIns, eventsV1TicketTickets_universal_d_DeleteTicketCheckInsOptions as DeleteTicketCheckInsOptions, eventsV1TicketTickets_universal_d_updateTicket as updateTicket, eventsV1TicketTickets_universal_d_UpdateTicketIdentifiers as UpdateTicketIdentifiers, eventsV1TicketTickets_universal_d_UpdateTicketOptions as UpdateTicketOptions, eventsV1TicketTickets_universal_d_bulkUpdateTickets as bulkUpdateTickets, eventsV1TicketTickets_universal_d_BulkUpdateTicketsOptions as BulkUpdateTicketsOptions, };\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;\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$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$2[];\n        /** Whether RSVP is anonymized by GDPR delete. */\n        anonymized?: boolean;\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    interface FormattedAddress$2 {\n        /** One line address representation. */\n        formatted?: string;\n        /** Address components (optional). */\n        address?: Address$6;\n    }\n    /** Physical address */\n    interface Address$6 extends AddressStreetOneOf$6 {\n        /** Street name and number. */\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 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    /** @oneof */\n    interface AddressStreetOneOf$6 {\n        /** Street name and 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    }\n    interface AddressLocation$6 {\n        /** Address latitude. */\n        latitude?: number | null;\n        /** Address longitude. */\n        longitude?: number | null;\n    }\n    interface Subdivision$6 {\n        /** Short subdivision code. */\n        code?: string;\n        /** Subdivision full name. */\n        name?: string;\n        /** Standard organizations details (e.g. ISO). */\n        standardDetails?: StandardDetails$2;\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    /** 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$2 {\n        /** Index in the RSVP guest list. */\n        index?: number;\n        /** Guest full name. */\n        fullName?: string;\n        /** Guest check-in. */\n        checkIn?: CheckIn$2;\n        /** Unique guest ID per RSVP. */\n        _id?: number;\n    }\n    interface CheckIn$2 {\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        /**\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         * 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$5>;\n        /** Rsvp data enriched facets. */\n        rsvpFacets?: RsvpFacets;\n    }\n    interface FacetCounts$5 {\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         * 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$5>;\n        /** Rsvp data enriched facets. */\n        rsvpFacets?: RsvpFacets;\n    }\n    interface GetRsvpRequest {\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 {\n        /** RSVP. */\n        rsvp?: Rsvp;\n    }\n    interface CreateRsvpRequest {\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;\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$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 RsvpCreated$1 {\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 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$2[];\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 {\n        /** Event ID to which RSVP belongs. */\n        eventId: string;\n        /** RSVP ID. */\n        rsvpId: 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;\n    }\n    interface UpdateRsvpResponse {\n        /** Updated RSVP. */\n        rsvp?: Rsvp;\n    }\n    interface RsvpUpdated$1 {\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 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;\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$2[];\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 {\n        /** Event ID to which RSVP belongs. */\n        eventId: string;\n        /** RSVPs to update. */\n        rsvpId?: 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 {\n        /** Updated RSVPs. */\n        rsvps?: Rsvp[];\n    }\n    interface DeleteRsvpRequest {\n        /** Event ID to which RSVP belongs. */\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$1 {\n        /** RSVP deleted timestamp in ISO UTC format. */\n        timestamp?: Date;\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 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     * Retrieves a list of up to 100 RSVPs.\n     * @public\n     * @param options - Optional fields.\n     * @permissionScope Read Events - all read permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.READ-EVENTS\n     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Guest List\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-GUEST-LIST\n     * @permissionScope Read Event Tickets and Guest List\n     * @permissionScopeId SCOPE.DC-EVENTS.READ-GUEST-LIST\n     * @applicableIdentity APP\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         * 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     * @permissionScope Read Events - all read permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.READ-EVENTS\n     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Guest List\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-GUEST-LIST\n     * @permissionScope Read Event Tickets and Guest List\n     * @permissionScopeId SCOPE.DC-EVENTS.READ-GUEST-LIST\n     * @applicableIdentity APP\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         * 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     * @permissionScope Read Events - all read permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.READ-EVENTS\n     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Guest List\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-GUEST-LIST\n     * @permissionScope Read Event Tickets and Guest List\n     * @permissionScopeId SCOPE.DC-EVENTS.READ-GUEST-LIST\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns RSVP.\n     */\n    function getRsvp(rsvpId: string, options?: GetRsvpOptions): Promise<Rsvp>;\n    interface GetRsvpOptions {\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     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\n     */\n    function createRsvp(options?: CreateRsvpOptions): Promise<CreateRsvpResponse>;\n    interface CreateRsvpOptions {\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;\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Guest List\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-GUEST-LIST\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function updateRsvp(rsvpId: string, eventId: string, options?: UpdateRsvpOptions): Promise<UpdateRsvpResponse>;\n    interface UpdateRsvpOptions {\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;\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Guest List\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-GUEST-LIST\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function bulkUpdateRsvp(eventId: string, options?: BulkUpdateRsvpOptions): Promise<BulkUpdateRsvpResponse>;\n    interface BulkUpdateRsvpOptions {\n        /** RSVPs to update. */\n        rsvpId?: 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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Guest List\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-GUEST-LIST\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function deleteRsvp(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     * @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     * @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    type eventsV1RsvpRsvp_universal_d_Rsvp = Rsvp;\n    type eventsV1RsvpRsvp_universal_d_ListRsvpRequest = ListRsvpRequest;\n    type eventsV1RsvpRsvp_universal_d_RsvpFieldset = RsvpFieldset;\n    const eventsV1RsvpRsvp_universal_d_RsvpFieldset: typeof RsvpFieldset;\n    type eventsV1RsvpRsvp_universal_d_RsvpTag = RsvpTag;\n    const eventsV1RsvpRsvp_universal_d_RsvpTag: typeof RsvpTag;\n    type eventsV1RsvpRsvp_universal_d_ListRsvpResponse = ListRsvpResponse;\n    type eventsV1RsvpRsvp_universal_d_RsvpFacets = RsvpFacets;\n    type eventsV1RsvpRsvp_universal_d_RsvpFacetCounts = RsvpFacetCounts;\n    type eventsV1RsvpRsvp_universal_d_QueryRsvpRequest = QueryRsvpRequest;\n    type eventsV1RsvpRsvp_universal_d_QueryRsvpResponse = QueryRsvpResponse;\n    type eventsV1RsvpRsvp_universal_d_GetRsvpRequest = GetRsvpRequest;\n    type eventsV1RsvpRsvp_universal_d_GetRsvpResponse = GetRsvpResponse;\n    type eventsV1RsvpRsvp_universal_d_CreateRsvpRequest = CreateRsvpRequest;\n    type eventsV1RsvpRsvp_universal_d_ModificationOptions = ModificationOptions;\n    type eventsV1RsvpRsvp_universal_d_CreateRsvpResponse = CreateRsvpResponse;\n    type eventsV1RsvpRsvp_universal_d_UpdateRsvpRequest = UpdateRsvpRequest;\n    type eventsV1RsvpRsvp_universal_d_UpdateRsvpResponse = UpdateRsvpResponse;\n    type eventsV1RsvpRsvp_universal_d_BulkUpdateRsvpRequest = BulkUpdateRsvpRequest;\n    type eventsV1RsvpRsvp_universal_d_BulkUpdateRsvpResponse = BulkUpdateRsvpResponse;\n    type eventsV1RsvpRsvp_universal_d_DeleteRsvpRequest = DeleteRsvpRequest;\n    type eventsV1RsvpRsvp_universal_d_DeleteRsvpResponse = DeleteRsvpResponse;\n    type eventsV1RsvpRsvp_universal_d_CheckInRsvpRequest = CheckInRsvpRequest;\n    type eventsV1RsvpRsvp_universal_d_CheckInRsvpResponse = CheckInRsvpResponse;\n    type eventsV1RsvpRsvp_universal_d_DeleteRsvpCheckInRequest = DeleteRsvpCheckInRequest;\n    type eventsV1RsvpRsvp_universal_d_DeleteRsvpCheckInResponse = DeleteRsvpCheckInResponse;\n    const eventsV1RsvpRsvp_universal_d_listRsvp: typeof listRsvp;\n    type eventsV1RsvpRsvp_universal_d_ListRsvpOptions = ListRsvpOptions;\n    const eventsV1RsvpRsvp_universal_d_queryRsvp: typeof queryRsvp;\n    type eventsV1RsvpRsvp_universal_d_QueryRsvpOptions = QueryRsvpOptions;\n    const eventsV1RsvpRsvp_universal_d_getRsvp: typeof getRsvp;\n    type eventsV1RsvpRsvp_universal_d_GetRsvpOptions = GetRsvpOptions;\n    const eventsV1RsvpRsvp_universal_d_createRsvp: typeof createRsvp;\n    type eventsV1RsvpRsvp_universal_d_CreateRsvpOptions = CreateRsvpOptions;\n    const eventsV1RsvpRsvp_universal_d_updateRsvp: typeof updateRsvp;\n    type eventsV1RsvpRsvp_universal_d_UpdateRsvpOptions = UpdateRsvpOptions;\n    const eventsV1RsvpRsvp_universal_d_bulkUpdateRsvp: typeof bulkUpdateRsvp;\n    type eventsV1RsvpRsvp_universal_d_BulkUpdateRsvpOptions = BulkUpdateRsvpOptions;\n    const eventsV1RsvpRsvp_universal_d_deleteRsvp: typeof deleteRsvp;\n    type eventsV1RsvpRsvp_universal_d_DeleteRsvpOptions = DeleteRsvpOptions;\n    const eventsV1RsvpRsvp_universal_d_checkInRsvp: typeof checkInRsvp;\n    type eventsV1RsvpRsvp_universal_d_CheckInRsvpOptions = CheckInRsvpOptions;\n    const eventsV1RsvpRsvp_universal_d_deleteRsvpCheckIn: typeof deleteRsvpCheckIn;\n    type eventsV1RsvpRsvp_universal_d_DeleteRsvpCheckInOptions = DeleteRsvpCheckInOptions;\n    namespace eventsV1RsvpRsvp_universal_d {\n        export { eventsV1RsvpRsvp_universal_d_Rsvp as Rsvp, FormResponse$2 as FormResponse, InputValue$2 as InputValue, FormattedAddress$2 as FormattedAddress, Address$6 as Address, AddressStreetOneOf$6 as AddressStreetOneOf, StreetAddress$6 as StreetAddress, AddressLocation$6 as AddressLocation, Subdivision$6 as Subdivision, SubdivisionType$6 as SubdivisionType, StandardDetails$2 as StandardDetails, RsvpStatus$1 as RsvpStatus, Guest$2 as Guest, CheckIn$2 as CheckIn, eventsV1RsvpRsvp_universal_d_ListRsvpRequest as ListRsvpRequest, eventsV1RsvpRsvp_universal_d_RsvpFieldset as RsvpFieldset, eventsV1RsvpRsvp_universal_d_RsvpTag as RsvpTag, eventsV1RsvpRsvp_universal_d_ListRsvpResponse as ListRsvpResponse, FacetCounts$5 as FacetCounts, eventsV1RsvpRsvp_universal_d_RsvpFacets as RsvpFacets, eventsV1RsvpRsvp_universal_d_RsvpFacetCounts as RsvpFacetCounts, Counts$1 as Counts, eventsV1RsvpRsvp_universal_d_QueryRsvpRequest as QueryRsvpRequest, eventsV1RsvpRsvp_universal_d_QueryRsvpResponse as QueryRsvpResponse, eventsV1RsvpRsvp_universal_d_GetRsvpRequest as GetRsvpRequest, eventsV1RsvpRsvp_universal_d_GetRsvpResponse as GetRsvpResponse, eventsV1RsvpRsvp_universal_d_CreateRsvpRequest as CreateRsvpRequest, eventsV1RsvpRsvp_universal_d_ModificationOptions as ModificationOptions, eventsV1RsvpRsvp_universal_d_CreateRsvpResponse as CreateRsvpResponse, CalendarLinks$4 as CalendarLinks, RsvpCreated$1 as RsvpCreated, OnlineConferencingLogin$2 as OnlineConferencingLogin, eventsV1RsvpRsvp_universal_d_UpdateRsvpRequest as UpdateRsvpRequest, eventsV1RsvpRsvp_universal_d_UpdateRsvpResponse as UpdateRsvpResponse, RsvpUpdated$1 as RsvpUpdated, eventsV1RsvpRsvp_universal_d_BulkUpdateRsvpRequest as BulkUpdateRsvpRequest, eventsV1RsvpRsvp_universal_d_BulkUpdateRsvpResponse as BulkUpdateRsvpResponse, eventsV1RsvpRsvp_universal_d_DeleteRsvpRequest as DeleteRsvpRequest, eventsV1RsvpRsvp_universal_d_DeleteRsvpResponse as DeleteRsvpResponse, RsvpDeleted$1 as RsvpDeleted, eventsV1RsvpRsvp_universal_d_CheckInRsvpRequest as CheckInRsvpRequest, eventsV1RsvpRsvp_universal_d_CheckInRsvpResponse as CheckInRsvpResponse, eventsV1RsvpRsvp_universal_d_DeleteRsvpCheckInRequest as DeleteRsvpCheckInRequest, eventsV1RsvpRsvp_universal_d_DeleteRsvpCheckInResponse as DeleteRsvpCheckInResponse, MessageEnvelope$7 as MessageEnvelope, IdentificationData$7 as IdentificationData, IdentificationDataIdOneOf$7 as IdentificationDataIdOneOf, WebhookIdentityType$7 as WebhookIdentityType, eventsV1RsvpRsvp_universal_d_listRsvp as listRsvp, eventsV1RsvpRsvp_universal_d_ListRsvpOptions as ListRsvpOptions, eventsV1RsvpRsvp_universal_d_queryRsvp as queryRsvp, eventsV1RsvpRsvp_universal_d_QueryRsvpOptions as QueryRsvpOptions, eventsV1RsvpRsvp_universal_d_getRsvp as getRsvp, eventsV1RsvpRsvp_universal_d_GetRsvpOptions as GetRsvpOptions, eventsV1RsvpRsvp_universal_d_createRsvp as createRsvp, eventsV1RsvpRsvp_universal_d_CreateRsvpOptions as CreateRsvpOptions, eventsV1RsvpRsvp_universal_d_updateRsvp as updateRsvp, eventsV1RsvpRsvp_universal_d_UpdateRsvpOptions as UpdateRsvpOptions, eventsV1RsvpRsvp_universal_d_bulkUpdateRsvp as bulkUpdateRsvp, eventsV1RsvpRsvp_universal_d_BulkUpdateRsvpOptions as BulkUpdateRsvpOptions, eventsV1RsvpRsvp_universal_d_deleteRsvp as deleteRsvp, eventsV1RsvpRsvp_universal_d_DeleteRsvpOptions as DeleteRsvpOptions, eventsV1RsvpRsvp_universal_d_checkInRsvp as checkInRsvp, eventsV1RsvpRsvp_universal_d_CheckInRsvpOptions as CheckInRsvpOptions, eventsV1RsvpRsvp_universal_d_deleteRsvpCheckIn as deleteRsvpCheckIn, eventsV1RsvpRsvp_universal_d_DeleteRsvpCheckInOptions as DeleteRsvpCheckInOptions, };\n    }\n    interface TicketDefinition$2 {\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;\n        /**\n         * Date and time when the ticket definition was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\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        /**\n         * Whether fee is included in the ticket price or customer pays it additionally at checkout. Possible values:\n         * - `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.\n         * - `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         */\n        feeType?: Type$3;\n        /** Ticket sale period. */\n        salePeriod?: SalePeriod;\n        /**\n         * Ticket sale status. Possible values:\n         * - `SALE_SCHEDULED`: Tickets are not on sale yet.\n         * - `SALE_STARTED`: Tickets are on sale.\n         * - `SALE_ENDED`: Tickets are not on sale.\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         * 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    interface PricingMethod extends PricingMethodPriceOneOf {\n        /** Same ticket price for everyone. */\n        fixedPrice?: CommonMoney;\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?: CommonMoney;\n        /** Sets of various ticket prices. For example, you can charge different prices for children and adults. */\n        pricingOptions?: PricingOptions$2;\n        /**\n         * Ticket price type. Possible values:\n         * - `STANDARD`: All money goes to a seller. Applies to all ticket pricing methods except for `guestPrice`.\n         * - `DONATION`: All collected money is a donation. This pricing type is automatically assigned when you select the `guestPrice` pricing method.\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        /** 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?: CommonMoney;\n        /** Sets of various ticket prices. For example, you can charge different prices for children and adults. */\n        pricingOptions?: PricingOptions$2;\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$2 {\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        UNKNOWN_PRICING_TYPE = \"UNKNOWN_PRICING_TYPE\",\n        STANDARD = \"STANDARD\",\n        DONATION = \"DONATION\"\n    }\n    enum Type$3 {\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. */\n        startDate?: Date;\n        /** Ticket sale end timestamp. */\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 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 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    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?: CommonMoney;\n        /**\n         * Price of highest priced ticket.\n         * @readonly\n         */\n        highestTicketPrice?: CommonMoney;\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$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    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    interface EntityDeletedEvent$4 {\n        /** Entity that was deleted */\n        deletedEntityAsJson?: string | null;\n    }\n    interface ActionEvent$4 {\n        bodyAsJson?: string;\n    }\n    interface Empty$3 {\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 EventDeleted$2 {\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    interface UpdateEventTicketingSummaryRequest {\n        /** Event ID. */\n        eventId?: 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$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    interface CreateTicketDefinitionRequest$1 {\n        /** Ticket definition info. */\n        ticketDefinition: TicketDefinition$2;\n        /**\n         * Predefined sets of fields to return.\n         * - `SALES_DETAILS`: Returns `salesDetails`.\n         */\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$1 {\n        /** Created ticket definition. */\n        ticketDefinition?: TicketDefinition$2;\n    }\n    interface UpdateTicketDefinitionRequest$1 {\n        /** Ticket definition to update. */\n        ticketDefinition: TicketDefinition$2;\n        /**\n         * Predefined sets of fields to return.\n         * - `SALES_DETAILS`: Returns `salesDetails`.\n         */\n        fields?: Field[];\n    }\n    interface UpdateTicketDefinitionResponse$1 {\n        /** The updated ticket definition. */\n        ticketDefinition?: TicketDefinition$2;\n    }\n    interface SalePeriodUpdated {\n        /** Ticket definition sale period after update. */\n        afterUpdate?: SalePeriod;\n    }\n    interface GetTicketDefinitionRequest$1 {\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$1 {\n        /** The requested ticket definition. */\n        ticketDefinition?: TicketDefinition$2;\n    }\n    interface DeleteTicketDefinitionRequest$1 {\n        /** ID of the ticket definition to delete. */\n        ticketDefinitionId: string;\n    }\n    interface DeleteTicketDefinitionResponse$1 {\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$2;\n    }\n    interface QueryTicketDefinitionsRequest$1 {\n        /** Query options. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more details. */\n        query: QueryV2$5;\n        /**\n         * Predefined sets of fields to return.\n         * - `SALES_DETAILS`: Returns `salesDetails`.\n         */\n        fields?: Field[];\n    }\n    interface QueryV2$5 extends QueryV2PagingMethodOneOf$5 {\n        /** Paging options to limit and skip the number of items. */\n        paging?: Paging$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` parameters. */\n        cursorPaging?: CursorPaging$4;\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$5[];\n    }\n    /** @oneof */\n    interface QueryV2PagingMethodOneOf$5 {\n        /** Paging options to limit and skip the number of items. */\n        paging?: Paging$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` parameters. */\n        cursorPaging?: CursorPaging$4;\n    }\n    interface Sorting$5 {\n        /** Name of the field to sort by. */\n        fieldName?: string;\n        /** Defaults to `ASC` */\n        order?: SortOrder$5;\n    }\n    enum SortOrder$5 {\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    interface CursorPaging$4 {\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$1 {\n        /** List of ticket definitions. */\n        ticketDefinitions?: TicketDefinition$2[];\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$5;\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 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$5;\n        /**\n         * Predefined sets of fields to return.\n         * - `SALES_DETAILS`: Returns `salesDetails`.\n         */\n        fields?: Field[];\n    }\n    interface QueryAvailableTicketDefinitionsResponse {\n        /** List of ticket definitions. */\n        ticketDefinitions?: TicketDefinition$2[];\n        /** Metadata for the paginated results. */\n        metadata?: PagingMetadataV2$5;\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$5;\n        /** Filter facets. */\n        facets?: Record<string, FacetCounts$4>;\n    }\n    interface FacetCounts$4 {\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$5;\n        /** Filter facets. */\n        facets?: Record<string, FacetCounts$4>;\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$1 {\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$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 EventCanceled$1 {\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$1 {\n        /** Event end timestamp in ISO UTC format. */\n        timestamp?: Date;\n        /** Event ID. */\n        eventId?: string;\n    }\n    interface EventCreated$1 {\n        /** Event created timestamp in ISO UTC format. */\n        timestamp?: Date;\n        /** Event ID. */\n        eventId?: string;\n        /** Event location. */\n        location?: Location$4;\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        /** Event that was created. */\n        event?: Event$2;\n    }\n    interface Location$4 {\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$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$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$3 {\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$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    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    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 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;\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$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;\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$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$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 Event$2 {\n        /**\n         * Event ID.\n         * @readonly\n         */\n        _id?: string;\n        /** Event location. */\n        location?: Location$4;\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;\n        /** Event modified timestamp. */\n        modified?: Date;\n        /** Event status. */\n        status?: EventStatus$3;\n        /** RSVP or ticketing registration details. */\n        registration?: Registration$2;\n        /** \"Add to calendar\" URLs. */\n        calendarLinks?: CalendarLinks$3;\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$4;\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    interface Scheduling$2 {\n        /** Schedule configuration. */\n        config?: ScheduleConfig$3;\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$3;\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$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$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;\n        /** Registration end timestamp. */\n        endDate?: Date;\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        /** 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$2;\n        /**\n         * Price of lowest priced ticket.\n         * @readonly\n         */\n        lowestTicketPrice?: Money$5;\n        /**\n         * Price of highest priced ticket.\n         * @readonly\n         */\n        highestTicketPrice?: Money$5;\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        /** 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$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$5 {\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$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    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$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        /** Deprecated: Use `id`. */\n        name?: string;\n        /** Child inputs. */\n        inputs?: Input$2[];\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         * 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        /** 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$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$4 {\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$5;\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$5;\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    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    }\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         * Category creation timestamp.\n         * @readonly\n         */\n        _createdDate?: Date;\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?: CategoryStateState[];\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 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$2 {\n        /** Whether event details button is hidden. Only available for events with no registration. */\n        hideEventDetailsButton?: boolean | null;\n    }\n    interface LabellingSettings$2 {\n    }\n    interface EventUpdated$2 {\n        /** Event update timestamp in ISO UTC format. */\n        timestamp?: Date;\n        /** Event ID. */\n        eventId?: string;\n        /** Event location. */\n        location?: Location$4;\n        /** Event schedule configuration. */\n        scheduleConfig?: ScheduleConfig$3;\n        /** Event title. */\n        title?: string;\n        /** Whether schedule configuration was updated. */\n        scheduleConfigUpdated?: boolean;\n        /** Updated event */\n        event?: Event$2;\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        /** 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$4;\n    }\n    enum State$4 {\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 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$2;\n    }\n    interface ScheduleTimecapsuleTaskRequest {\n        /** Definition ID. */\n        _id?: string;\n        /** Sale period. */\n        salePeriod?: SalePeriod;\n    }\n    interface RescheduleTimecapsuleTaskRequest {\n        /** Definition ID. */\n        _id?: string;\n        /** Sale period. */\n        salePeriod?: SalePeriod;\n    }\n    interface CancelTimecapsuleTaskRequest {\n        /** Definition ID. */\n        _id?: 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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Ticket Definitions\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-TICKET-DEF\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Created ticket definition.\n     */\n    function createTicketDefinition$1(ticketDefinition: TicketDefinition$2, options?: CreateTicketDefinitionOptions$1): Promise<TicketDefinition$2>;\n    interface CreateTicketDefinitionOptions$1 {\n        /**\n         * Predefined sets of fields to return.\n         * - `SALES_DETAILS`: Returns `salesDetails`.\n         */\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Ticket Definitions\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-TICKET-DEF\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns The updated ticket definition.\n     */\n    function updateTicketDefinition$1(_id: string | null, ticketDefinition: UpdateTicketDefinition, options?: UpdateTicketDefinitionOptions$1): Promise<TicketDefinition$2>;\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;\n        /**\n         * Date and time when the ticket definition was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\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        /**\n         * Whether fee is included in the ticket price or customer pays it additionally at checkout. Possible values:\n         * - `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.\n         * - `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         */\n        feeType?: Type$3;\n        /** Ticket sale period. */\n        salePeriod?: SalePeriod;\n        /**\n         * Ticket sale status. Possible values:\n         * - `SALE_SCHEDULED`: Tickets are not on sale yet.\n         * - `SALE_STARTED`: Tickets are on sale.\n         * - `SALE_ENDED`: Tickets are not on sale.\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         * 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    interface UpdateTicketDefinitionOptions$1 {\n        /**\n         * Predefined sets of fields to return.\n         * - `SALES_DETAILS`: Returns `salesDetails`.\n         */\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-ORDERS\n     * @permissionScope Manage Ticket Definitions\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-TICKET-DEF\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns The requested ticket definition.\n     */\n    function getTicketDefinition$1(ticketDefinitionId: string, options?: GetTicketDefinitionOptions$1): Promise<TicketDefinition$2>;\n    interface GetTicketDefinitionOptions$1 {\n        /**\n         * Predefined sets of fields to return.\n         * - `SALES_DETAILS`: Returns `salesDetails`.\n         */\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Ticket Definitions\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-TICKET-DEF\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function deleteTicketDefinition$1(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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Ticket Definitions\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-TICKET-DEF\n     * @applicableIdentity APP\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     * @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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-ORDERS\n     * @permissionScope Manage Ticket Definitions\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-TICKET-DEF\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function queryTicketDefinitions$1(query: QueryV2$5, options?: QueryTicketDefinitionsOptions$1): Promise<QueryTicketDefinitionsResponse$1>;\n    interface QueryTicketDefinitionsOptions$1 {\n        /**\n         * Predefined sets of fields to return.\n         * - `SALES_DETAILS`: Returns `salesDetails`.\n         */\n        fields?: Field[];\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     * @public\n     * @param options - Optional fields.\n     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\n     */\n    function queryAvailableTicketDefinitions(options?: QueryAvailableTicketDefinitionsOptions): TicketDefinitionsQueryBuilder;\n    interface QueryAvailableTicketDefinitionsOptions {\n        /**\n         * Predefined sets of fields to return.\n         * - `SALES_DETAILS`: Returns `salesDetails`.\n         */\n        fields?: Field[] | 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 TicketDefinitionsQueryResult extends QueryCursorResult$3 {\n        items: TicketDefinition$2[];\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\" | \"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\" | \"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\", 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\", 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\", 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\", value: any) => TicketDefinitionsQueryBuilder;\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        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        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        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        limit: (limit: number) => TicketDefinitionsQueryBuilder;\n        /** @param cursor - A pointer to specific record */\n        skipTo: (cursor: string) => TicketDefinitionsQueryBuilder;\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     * @public\n     * @param options - Optional fields.\n     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-ORDERS\n     * @permissionScope Manage Ticket Definitions\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-TICKET-DEF\n     * @applicableIdentity APP\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 available ticket definitions. <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     * @public\n     * @param options - Optional fields.\n     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Ticket Definitions\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-TICKET-DEF\n     * @applicableIdentity APP\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Ticket Definitions\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-TICKET-DEF\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function changeCurrency$1(eventId: string, options: ChangeCurrencyOptions$1): Promise<void>;\n    interface ChangeCurrencyOptions$1 {\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    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_PricingMethod = PricingMethod;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_PricingMethodPriceOneOf = PricingMethodPriceOneOf;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_CommonMoney = CommonMoney;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_OptionDetails = OptionDetails;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_PricingTypeEnumType = PricingTypeEnumType;\n    const eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_PricingTypeEnumType: typeof PricingTypeEnumType;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SalePeriod = SalePeriod;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SaleStatusEnumStatus = SaleStatusEnumStatus;\n    const eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SaleStatusEnumStatus: typeof SaleStatusEnumStatus;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SalesDetails = SalesDetails;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_InvalidateCache = InvalidateCache;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_InvalidateCacheGetByOneOf = InvalidateCacheGetByOneOf;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_App = App;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_Page = Page;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_URI = URI;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_File = File;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_GetTicketDefinitionSummaryRequest = GetTicketDefinitionSummaryRequest;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_GetTicketDefinitionSummaryResponse = GetTicketDefinitionSummaryResponse;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_TicketDefinitionSummary = TicketDefinitionSummary;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_ListEventTicketingSummaryRequest = ListEventTicketingSummaryRequest;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_ListEventTicketingSummaryResponse = ListEventTicketingSummaryResponse;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_EventTicketingSummary = EventTicketingSummary;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_UpdateEventTicketingSummaryRequest = UpdateEventTicketingSummaryRequest;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_Field = Field;\n    const eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_Field: typeof Field;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SalePeriodUpdated = SalePeriodUpdated;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_ReorderTicketDefinitionsRequest = ReorderTicketDefinitionsRequest;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_ReorderTicketDefinitionsRequestReferenceDefinitionOneOf = ReorderTicketDefinitionsRequestReferenceDefinitionOneOf;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_ReorderTicketDefinitionsResponse = ReorderTicketDefinitionsResponse;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_UpdateTicketDefinitionSortIndexRequest = UpdateTicketDefinitionSortIndexRequest;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_UpdateTicketDefinitionSortIndexResponse = UpdateTicketDefinitionSortIndexResponse;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_QueryAvailableTicketDefinitionsRequest = QueryAvailableTicketDefinitionsRequest;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_QueryAvailableTicketDefinitionsResponse = QueryAvailableTicketDefinitionsResponse;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_CountTicketDefinitionsRequest = CountTicketDefinitionsRequest;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_CountTicketDefinitionsResponse = CountTicketDefinitionsResponse;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_CountAvailableTicketDefinitionsRequest = CountAvailableTicketDefinitionsRequest;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_CountAvailableTicketDefinitionsResponse = CountAvailableTicketDefinitionsResponse;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_BulkDeleteTicketDefinitionsByFilterRequest = BulkDeleteTicketDefinitionsByFilterRequest;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_BulkDeleteTicketDefinitionsByFilterResponse = BulkDeleteTicketDefinitionsByFilterResponse;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_CategoryStateState = CategoryStateState;\n    const eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_CategoryStateState: typeof CategoryStateState;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SeatingPlanCategoriesSummaryUpdated = SeatingPlanCategoriesSummaryUpdated;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_CategoryDetails = CategoryDetails;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_MetaSiteSpecialEvent = MetaSiteSpecialEvent;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_Asset = Asset;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SiteCreated = SiteCreated;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SiteCreatedContext = SiteCreatedContext;\n    const eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SiteCreatedContext: typeof SiteCreatedContext;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_Namespace = Namespace;\n    const eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_Namespace: typeof Namespace;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SiteTransferred = SiteTransferred;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SiteDeleted = SiteDeleted;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_DeleteContext = DeleteContext;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_DeleteStatus = DeleteStatus;\n    const eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_DeleteStatus: typeof DeleteStatus;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SiteUndeleted = SiteUndeleted;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SitePublished = SitePublished;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SiteUnpublished = SiteUnpublished;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SiteMarkedAsTemplate = SiteMarkedAsTemplate;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SiteMarkedAsWixSite = SiteMarkedAsWixSite;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_ServiceProvisioned = ServiceProvisioned;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_ServiceRemoved = ServiceRemoved;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SiteRenamed = SiteRenamed;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SiteHardDeleted = SiteHardDeleted;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_NamespaceChanged = NamespaceChanged;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_StudioAssigned = StudioAssigned;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_StudioUnassigned = StudioUnassigned;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_GetTicketDefinitionFromTrashBinRequest = GetTicketDefinitionFromTrashBinRequest;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_GetTicketDefinitionFromTrashBinResponse = GetTicketDefinitionFromTrashBinResponse;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_ScheduleTimecapsuleTaskRequest = ScheduleTimecapsuleTaskRequest;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_RescheduleTimecapsuleTaskRequest = RescheduleTimecapsuleTaskRequest;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_CancelTimecapsuleTaskRequest = CancelTimecapsuleTaskRequest;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_UpdateTicketDefinition = UpdateTicketDefinition;\n    const eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_reorderTicketDefinitions: typeof reorderTicketDefinitions;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_ReorderTicketDefinitionsOptions = ReorderTicketDefinitionsOptions;\n    const eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_queryAvailableTicketDefinitions: typeof queryAvailableTicketDefinitions;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_QueryAvailableTicketDefinitionsOptions = QueryAvailableTicketDefinitionsOptions;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_TicketDefinitionsQueryResult = TicketDefinitionsQueryResult;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_TicketDefinitionsQueryBuilder = TicketDefinitionsQueryBuilder;\n    const eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_countTicketDefinitions: typeof countTicketDefinitions;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_CountTicketDefinitionsOptions = CountTicketDefinitionsOptions;\n    const eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_countAvailableTicketDefinitions: typeof countAvailableTicketDefinitions;\n    type eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_CountAvailableTicketDefinitionsOptions = CountAvailableTicketDefinitionsOptions;\n    const eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_bulkDeleteTicketDefinitionsByFilter: typeof bulkDeleteTicketDefinitionsByFilter;\n    namespace eventsV3TicketDefinitionTicketDefinitionsV2_universal_d {\n        export { TicketDefinition$2 as TicketDefinition, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_PricingMethod as PricingMethod, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_PricingMethodPriceOneOf as PricingMethodPriceOneOf, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_CommonMoney as CommonMoney, PricingOptions$2 as PricingOptions, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_OptionDetails as OptionDetails, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_PricingTypeEnumType as PricingTypeEnumType, Type$3 as Type, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SalePeriod as SalePeriod, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SaleStatusEnumStatus as SaleStatusEnumStatus, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SalesDetails as SalesDetails, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_InvalidateCache as InvalidateCache, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_InvalidateCacheGetByOneOf as InvalidateCacheGetByOneOf, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_App as App, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_Page as Page, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_URI as URI, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_File as File, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_GetTicketDefinitionSummaryRequest as GetTicketDefinitionSummaryRequest, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_GetTicketDefinitionSummaryResponse as GetTicketDefinitionSummaryResponse, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_TicketDefinitionSummary as TicketDefinitionSummary, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_ListEventTicketingSummaryRequest as ListEventTicketingSummaryRequest, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_ListEventTicketingSummaryResponse as ListEventTicketingSummaryResponse, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_EventTicketingSummary as EventTicketingSummary, DomainEvent$4 as DomainEvent, DomainEventBodyOneOf$4 as DomainEventBodyOneOf, EntityCreatedEvent$4 as EntityCreatedEvent, EntityUpdatedEvent$4 as EntityUpdatedEvent, EntityDeletedEvent$4 as EntityDeletedEvent, ActionEvent$4 as ActionEvent, Empty$3 as Empty, ReservationCreated$1 as ReservationCreated, ReservationStatus$1 as ReservationStatus, TicketQuantity$1 as TicketQuantity, ReservationCount$1 as ReservationCount, ReservationUpdated$1 as ReservationUpdated, EventDeleted$2 as EventDeleted, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_UpdateEventTicketingSummaryRequest as UpdateEventTicketingSummaryRequest, MessageEnvelope$6 as MessageEnvelope, IdentificationData$6 as IdentificationData, IdentificationDataIdOneOf$6 as IdentificationDataIdOneOf, WebhookIdentityType$6 as WebhookIdentityType, CreateTicketDefinitionRequest$1 as CreateTicketDefinitionRequest, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_Field as Field, CreateTicketDefinitionResponse$1 as CreateTicketDefinitionResponse, UpdateTicketDefinitionRequest$1 as UpdateTicketDefinitionRequest, UpdateTicketDefinitionResponse$1 as UpdateTicketDefinitionResponse, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SalePeriodUpdated as SalePeriodUpdated, GetTicketDefinitionRequest$1 as GetTicketDefinitionRequest, GetTicketDefinitionResponse$1 as GetTicketDefinitionResponse, DeleteTicketDefinitionRequest$1 as DeleteTicketDefinitionRequest, DeleteTicketDefinitionResponse$1 as DeleteTicketDefinitionResponse, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_ReorderTicketDefinitionsRequest as ReorderTicketDefinitionsRequest, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_ReorderTicketDefinitionsRequestReferenceDefinitionOneOf as ReorderTicketDefinitionsRequestReferenceDefinitionOneOf, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_ReorderTicketDefinitionsResponse as ReorderTicketDefinitionsResponse, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_UpdateTicketDefinitionSortIndexRequest as UpdateTicketDefinitionSortIndexRequest, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_UpdateTicketDefinitionSortIndexResponse as UpdateTicketDefinitionSortIndexResponse, QueryTicketDefinitionsRequest$1 as QueryTicketDefinitionsRequest, QueryV2$5 as QueryV2, QueryV2PagingMethodOneOf$5 as QueryV2PagingMethodOneOf, Sorting$5 as Sorting, SortOrder$5 as SortOrder, Paging$5 as Paging, CursorPaging$4 as CursorPaging, QueryTicketDefinitionsResponse$1 as QueryTicketDefinitionsResponse, PagingMetadataV2$5 as PagingMetadataV2, Cursors$5 as Cursors, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_QueryAvailableTicketDefinitionsRequest as QueryAvailableTicketDefinitionsRequest, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_QueryAvailableTicketDefinitionsResponse as QueryAvailableTicketDefinitionsResponse, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_CountTicketDefinitionsRequest as CountTicketDefinitionsRequest, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_CountTicketDefinitionsResponse as CountTicketDefinitionsResponse, FacetCounts$4 as FacetCounts, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_CountAvailableTicketDefinitionsRequest as CountAvailableTicketDefinitionsRequest, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_CountAvailableTicketDefinitionsResponse as CountAvailableTicketDefinitionsResponse, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_BulkDeleteTicketDefinitionsByFilterRequest as BulkDeleteTicketDefinitionsByFilterRequest, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_BulkDeleteTicketDefinitionsByFilterResponse as BulkDeleteTicketDefinitionsByFilterResponse, ChangeCurrencyRequest$1 as ChangeCurrencyRequest, ChangeCurrencyResponse$1 as ChangeCurrencyResponse, BulkCopyTicketDefinitionsByEventIdRequest$1 as BulkCopyTicketDefinitionsByEventIdRequest, BulkCopyTicketDefinitionsByEventIdResponse$1 as BulkCopyTicketDefinitionsByEventIdResponse, CopiedTicketDefinition$1 as CopiedTicketDefinition, EventCanceled$1 as EventCanceled, EventEnded$1 as EventEnded, EventCreated$1 as EventCreated, Location$4 as Location, MapCoordinates$3 as MapCoordinates, LocationType$4 as LocationType, Address$5 as Address, AddressStreetOneOf$5 as AddressStreetOneOf, StreetAddress$5 as StreetAddress, AddressLocation$5 as AddressLocation, Subdivision$5 as Subdivision, SubdivisionType$5 as SubdivisionType, ScheduleConfig$3 as ScheduleConfig, Recurrences$4 as Recurrences, Occurrence$4 as Occurrence, Status$4 as Status, EventStatus$3 as EventStatus, Event$2 as Event, Scheduling$2 as Scheduling, Registration$2 as Registration, EventType$3 as EventType, RegistrationStatus$2 as RegistrationStatus, RsvpCollection$2 as RsvpCollection, RsvpCollectionConfig$2 as RsvpCollectionConfig, RsvpStatusOptions$2 as RsvpStatusOptions, Ticketing$2 as Ticketing, TicketingConfig$2 as TicketingConfig, TaxConfig$2 as TaxConfig, TaxType$4 as TaxType, Money$5 as Money, ExternalEvent$2 as ExternalEvent, VisitorType$2 as VisitorType, CalendarLinks$3 as CalendarLinks, SiteUrl$2 as SiteUrl, Form$2 as Form, InputControl$2 as InputControl, InputControlType$2 as InputControlType, Input$2 as Input, ValueType$2 as ValueType, OptionSelection$2 as OptionSelection, OptionSelectionSelectedOptionOneOf$2 as OptionSelectionSelectedOptionOneOf, Label$2 as Label, FormMessages$2 as FormMessages, RsvpFormMessages$2 as RsvpFormMessages, PositiveResponseConfirmation$2 as PositiveResponseConfirmation, NegativeResponseConfirmation$2 as NegativeResponseConfirmation, Positive$2 as Positive, Negative$2 as Negative, CheckoutFormMessages$2 as CheckoutFormMessages, ResponseConfirmation$2 as ResponseConfirmation, RegistrationClosedMessages$2 as RegistrationClosedMessages, TicketsUnavailableMessages$2 as TicketsUnavailableMessages, Dashboard$4 as Dashboard, RsvpSummary$2 as RsvpSummary, TicketingSummary$2 as TicketingSummary, GuestListConfig$2 as GuestListConfig, Feed$2 as Feed, OnlineConferencing$2 as OnlineConferencing, OnlineConferencingConfig$2 as OnlineConferencingConfig, ConferenceType$2 as ConferenceType, OnlineConferencingSession$2 as OnlineConferencingSession, SeoSettings$2 as SeoSettings, SeoSchema$2 as SeoSchema, Keyword$2 as Keyword, Tag$2 as Tag, Settings$2 as Settings, Agenda$2 as Agenda, Category$2 as Category, CategoryCounts$2 as CategoryCounts, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_CategoryStateState as CategoryStateState, EventDisplaySettings$2 as EventDisplaySettings, LabellingSettings$2 as LabellingSettings, EventUpdated$2 as EventUpdated, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SeatingPlanCategoriesSummaryUpdated as SeatingPlanCategoriesSummaryUpdated, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_CategoryDetails as CategoryDetails, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_MetaSiteSpecialEvent as MetaSiteSpecialEvent, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_Asset as Asset, State$4 as State, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SiteCreated as SiteCreated, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SiteCreatedContext as SiteCreatedContext, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_Namespace as Namespace, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SiteTransferred as SiteTransferred, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SiteDeleted as SiteDeleted, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_DeleteContext as DeleteContext, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_DeleteStatus as DeleteStatus, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SiteUndeleted as SiteUndeleted, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SitePublished as SitePublished, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SiteUnpublished as SiteUnpublished, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SiteMarkedAsTemplate as SiteMarkedAsTemplate, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SiteMarkedAsWixSite as SiteMarkedAsWixSite, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_ServiceProvisioned as ServiceProvisioned, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_ServiceRemoved as ServiceRemoved, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SiteRenamed as SiteRenamed, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_SiteHardDeleted as SiteHardDeleted, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_NamespaceChanged as NamespaceChanged, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_StudioAssigned as StudioAssigned, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_StudioUnassigned as StudioUnassigned, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_GetTicketDefinitionFromTrashBinRequest as GetTicketDefinitionFromTrashBinRequest, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_GetTicketDefinitionFromTrashBinResponse as GetTicketDefinitionFromTrashBinResponse, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_ScheduleTimecapsuleTaskRequest as ScheduleTimecapsuleTaskRequest, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_RescheduleTimecapsuleTaskRequest as RescheduleTimecapsuleTaskRequest, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_CancelTimecapsuleTaskRequest as CancelTimecapsuleTaskRequest, createTicketDefinition$1 as createTicketDefinition, CreateTicketDefinitionOptions$1 as CreateTicketDefinitionOptions, updateTicketDefinition$1 as updateTicketDefinition, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_UpdateTicketDefinition as UpdateTicketDefinition, UpdateTicketDefinitionOptions$1 as UpdateTicketDefinitionOptions, getTicketDefinition$1 as getTicketDefinition, GetTicketDefinitionOptions$1 as GetTicketDefinitionOptions, deleteTicketDefinition$1 as deleteTicketDefinition, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_reorderTicketDefinitions as reorderTicketDefinitions, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_ReorderTicketDefinitionsOptions as ReorderTicketDefinitionsOptions, queryTicketDefinitions$1 as queryTicketDefinitions, QueryTicketDefinitionsOptions$1 as QueryTicketDefinitionsOptions, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_queryAvailableTicketDefinitions as queryAvailableTicketDefinitions, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_QueryAvailableTicketDefinitionsOptions as QueryAvailableTicketDefinitionsOptions, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_TicketDefinitionsQueryResult as TicketDefinitionsQueryResult, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_TicketDefinitionsQueryBuilder as TicketDefinitionsQueryBuilder, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_countTicketDefinitions as countTicketDefinitions, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_CountTicketDefinitionsOptions as CountTicketDefinitionsOptions, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_countAvailableTicketDefinitions as countAvailableTicketDefinitions, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_CountAvailableTicketDefinitionsOptions as CountAvailableTicketDefinitionsOptions, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d_bulkDeleteTicketDefinitionsByFilter as bulkDeleteTicketDefinitionsByFilter, changeCurrency$1 as changeCurrency, ChangeCurrencyOptions$1 as ChangeCurrencyOptions, };\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;\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$1;\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$4;\n        /** Ticket PDF URL. */\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$1;\n        /** Whether all tickets in order are checked-in. */\n        fullyCheckedIn?: boolean;\n        /** Internal order payment details */\n        paymentDetails?: PaymentDetails;\n        /** Checkout channel type */\n        channel?: ChannelType;\n        /**\n         * Order updated timestamp.\n         * @readonly\n         */\n        updated?: Date;\n    }\n    interface FormResponse$1 {\n        /** Input fields for a checkout form. */\n        inputValues?: InputValue$1[];\n    }\n    interface InputValue$1 {\n        /** Input field name. */\n        inputName?: string;\n        /** Input field value. */\n        value?: string;\n        /** Multiple input field values. */\n        values?: string[];\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    /** @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    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        /** Standard organizations details (e.g. ISO). */\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 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$4 {\n        /** *Deprecated:** Use `value` instead. */\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, 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$4;\n        /**\n         * Whether the ticket requires payment.\n         * @readonly\n         */\n        free?: boolean;\n        /** Event and ticket policies. */\n        policy?: string;\n        /** Deprecated, use `check_in_url`. */\n        qrCode?: string;\n        /** Ticket check-in. */\n        checkIn?: CheckIn$1;\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 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;\n        /**\n         * URL to download ticket in the `.pkpass` format for Apple Wallet\n         * @readonly\n         */\n        walletPassUrl?: string;\n    }\n    interface CheckIn$1 {\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$1;\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$1 {\n        /** Unique seat id in the event venue. */\n        seatId?: 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$4;\n        /** Discount applied to a 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$4;\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$4;\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$4;\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 mame. */\n        name?: string;\n        /** Line item price. */\n        price?: Money$4;\n        /** Total price for line items. It's calculated by multiplying price and item quantity. */\n        total?: Money$4;\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$4;\n        /** Total sum after the discount. */\n        afterDiscount?: Money$4;\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$4;\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$3;\n        /**\n         * Tax name.\n         * @readonly\n         */\n        name?: string;\n        /** Tax rate. */\n        rate?: string;\n        /** Taxable amount. */\n        taxable?: Money$4;\n        /** Total tax amount. */\n        amount?: Money$4;\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$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$4;\n    }\n    enum FeeName$1 {\n        /** Wix 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    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$1 {\n        /** Order deleted timestamp in ISO UTC format. */\n        timestamp?: Date;\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;\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$1[];\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$1 {\n        /** Unique issued ticket number. */\n        ticketNumber?: string;\n        /** Ticket definition ID. */\n        ticketDefinitionId?: string;\n        /** Ticket check-in. */\n        checkIn?: CheckIn$1;\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 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        /** Event ID to which the order belongs. */\n        eventId?: string[];\n        /** Order number. */\n        orderNumber?: string[];\n        /** Site member ID. */\n        memberId?: string[];\n        /** Field facets, */\n        facet?: string[];\n        /** Search filter. You can search `fullName`, `email` and `orderNumber`. */\n        searchPhrase?: string;\n        /** Event creator ID. */\n        eventCreatorId?: string[];\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: 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$3>;\n        /** Order data enriched facets. */\n        orderFacets?: OrderFacets;\n    }\n    interface FacetCounts$3 {\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>;\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 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$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 {\n        /** Event ID to which the order belongs. */\n        eventId: string;\n        /** Unique order number. */\n        orderNumber: string;\n        /** Checkout form. */\n        checkoutForm?: FormResponse$1;\n        /** Whether order is archived. */\n        archived?: boolean;\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 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;\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$1;\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        /** 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$4;\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$4;\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$4;\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$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    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 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;\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$1;\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$1;\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        /** 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;\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$1;\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$1;\n    }\n    interface ReservationCreated {\n        /** Reservation created timestamp in ISO UTC format. */\n        timestamp?: Date;\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;\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 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;\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.\n         * Default: `created:asc`.\n         */\n        sort?: string;\n        state?: State$3[];\n    }\n    enum State$3 {\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$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$4;\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$3;\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$3[];\n        /** Ticket pricing. */\n        pricing?: TicketPricing$1;\n    }\n    interface Dashboard$3 {\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` 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$2;\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$4;\n        /** Min price per ticket, customizable. */\n        minPrice?: Money$4;\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$1 {\n        /** Ticket price which is read only. */\n        fixedPrice?: Money$4;\n        /** Min price per ticket, customizable. */\n        minPrice?: Money$4;\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$4;\n    }\n    enum Type$2 {\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$1[];\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        /** Whether to allow reservation for hidden tickets. */\n        allowHiddenTickets?: 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;\n        /** Ticket reservations. */\n        reservations?: TicketReservation[];\n        /** Reservation invoice. */\n        invoice?: Invoice$1;\n    }\n    interface TicketReservation {\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$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    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$1;\n        /** Discount errors, if relevant. */\n        discountErrors?: DiscountErrors;\n        /** Reservation expiration time. */\n        expires?: Date;\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;\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 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        /** 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    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$1;\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        /** 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;\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 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;\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$1;\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$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 {\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$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    interface UpdateCheckoutResponse {\n        /** Updated order. */\n        order?: Order;\n        /** Order page URL. */\n        orderPageUrl?: string | null;\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;\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     * @permissionScope Read Events - all read permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.READ-EVENTS\n     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Read Basic Events Order Info\n     * @permissionScopeId SCOPE.DC-EVENTS.READ-BASIC-ORDERS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-ORDERS\n     * @applicableIdentity APP\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        /** Event ID to which the order belongs. */\n        eventId?: string[];\n        /** Order number. */\n        orderNumber?: string[];\n        /** Site member ID. */\n        memberId?: string[];\n        /** Field facets. */\n        facet?: string[];\n        /** Search filter. You can search `fullName`, `email` and `orderNumber`. */\n        searchPhrase?: string;\n        /** Event creator ID. */\n        eventCreatorId?: string[];\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     * @permissionScope Read Events - all read permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.READ-EVENTS\n     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Read Basic Events Order Info\n     * @permissionScopeId SCOPE.DC-EVENTS.READ-BASIC-ORDERS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-ORDERS\n     * @applicableIdentity APP\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-ORDERS\n     * @applicableIdentity APP\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        /** Checkout form. */\n        checkoutForm?: FormResponse$1;\n        /** Whether order is archived. */\n        archived?: boolean;\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function bulkUpdateOrders(eventId: string, options?: BulkUpdateOrdersOptions): Promise<BulkUpdateOrdersResponse>;\n    interface BulkUpdateOrdersOptions {\n        /** Unique order number. */\n        orderNumber?: 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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-ORDERS\n     * @applicableIdentity APP\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     * @permissionScope Read Events - all read permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.READ-EVENTS\n     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Read Basic Events Order Info\n     * @permissionScopeId SCOPE.DC-EVENTS.READ-BASIC-ORDERS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function getSummary(options?: GetSummaryOptions): Promise<GetSummaryResponse>;\n    interface GetSummaryOptions {\n        /** Event ID. */\n        eventId?: string | null;\n    }\n    interface GetInvoicePreviewIdentifiers {\n        /** Event ID to which the invoice belongs. */\n        eventId: string;\n        /** Order number. */\n        orderNumber: string;\n    }\n    /**\n     * Retrieves checkout details.\n     * @public\n     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\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        state?: State$3[];\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\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        /** Whether to allow reservation for hidden tickets. */\n        allowHiddenTickets?: 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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\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     * @permissionScope Read Events - all read permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.READ-EVENTS\n     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Read Basic Events Order Info\n     * @permissionScopeId SCOPE.DC-EVENTS.READ-BASIC-ORDERS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\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    /**\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\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        /** 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    /**\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\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$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    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    type eventsV1OrderOrders_universal_d_Order = Order;\n    type eventsV1OrderOrders_universal_d_TicketingTicket = TicketingTicket;\n    type eventsV1OrderOrders_universal_d_ChannelType = ChannelType;\n    const eventsV1OrderOrders_universal_d_ChannelType: typeof ChannelType;\n    type eventsV1OrderOrders_universal_d_PaymentDetails = PaymentDetails;\n    type eventsV1OrderOrders_universal_d_PaymentTransaction = PaymentTransaction;\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_Counts = Counts;\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_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_QueryAvailableTicketsRequest = QueryAvailableTicketsRequest;\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_OrderPageUrls = OrderPageUrls;\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    type eventsV1OrderOrders_universal_d_GetInvoicePreviewIdentifiers = GetInvoicePreviewIdentifiers;\n    const eventsV1OrderOrders_universal_d_getCheckoutOptions: typeof getCheckoutOptions;\n    const eventsV1OrderOrders_universal_d_listAvailableTickets: typeof listAvailableTickets;\n    type eventsV1OrderOrders_universal_d_ListAvailableTicketsOptions = ListAvailableTicketsOptions;\n    const eventsV1OrderOrders_universal_d_queryAvailableTickets: typeof queryAvailableTickets;\n    type eventsV1OrderOrders_universal_d_QueryAvailableTicketsOptions = QueryAvailableTicketsOptions;\n    const eventsV1OrderOrders_universal_d_createReservation: typeof createReservation;\n    type eventsV1OrderOrders_universal_d_CreateReservationOptions = CreateReservationOptions;\n    const eventsV1OrderOrders_universal_d_cancelReservation: typeof cancelReservation;\n    const eventsV1OrderOrders_universal_d_getInvoice: typeof getInvoice;\n    type eventsV1OrderOrders_universal_d_GetInvoiceOptions = GetInvoiceOptions;\n    const eventsV1OrderOrders_universal_d_checkout: typeof checkout;\n    type eventsV1OrderOrders_universal_d_CheckoutOptionsForRequest = CheckoutOptionsForRequest;\n    const eventsV1OrderOrders_universal_d_updateCheckout: typeof updateCheckout;\n    type eventsV1OrderOrders_universal_d_UpdateCheckoutOptions = UpdateCheckoutOptions;\n    type eventsV1OrderOrders_universal_d_PosCheckoutOptions = PosCheckoutOptions;\n    namespace eventsV1OrderOrders_universal_d {\n        export { eventsV1OrderOrders_universal_d_Order as Order, FormResponse$1 as FormResponse, InputValue$1 as InputValue, FormattedAddress$1 as FormattedAddress, Address$4 as Address, AddressStreetOneOf$4 as AddressStreetOneOf, StreetAddress$4 as StreetAddress, AddressLocation$4 as AddressLocation, Subdivision$4 as Subdivision, SubdivisionType$4 as SubdivisionType, StandardDetails$1 as StandardDetails, OrderStatus$1 as OrderStatus, Money$4 as Money, eventsV1OrderOrders_universal_d_TicketingTicket as TicketingTicket, CheckIn$1 as CheckIn, GuestDetails$1 as GuestDetails, eventsV1OrderOrders_universal_d_ChannelType as ChannelType, TicketDetails$1 as TicketDetails, Invoice$1 as Invoice, Item$1 as Item, Discount$1 as Discount, DiscountItem$1 as DiscountItem, DiscountItemDiscountOneOf$1 as DiscountItemDiscountOneOf, CouponDiscount$1 as CouponDiscount, PaidPlanDiscount$1 as PaidPlanDiscount, PaidPlanDiscountDiscountOneOf$1 as PaidPlanDiscountDiscountOneOf, PercentDiscount$1 as PercentDiscount, Tax$1 as Tax, TaxType$3 as TaxType, Fee$1 as Fee, FeeName$1 as FeeName, FeeType$2 as FeeType, eventsV1OrderOrders_universal_d_PaymentDetails as PaymentDetails, eventsV1OrderOrders_universal_d_PaymentTransaction as PaymentTransaction, OrderDeleted$1 as OrderDeleted, OrderType$1 as OrderType, Ticket$1 as Ticket, OnlineConferencingLogin$1 as OnlineConferencingLogin, eventsV1OrderOrders_universal_d_ListOrdersRequest as ListOrdersRequest, eventsV1OrderOrders_universal_d_OrderFieldset as OrderFieldset, eventsV1OrderOrders_universal_d_OrderTag as OrderTag, eventsV1OrderOrders_universal_d_ListOrdersResponse as ListOrdersResponse, FacetCounts$3 as FacetCounts, eventsV1OrderOrders_universal_d_OrderFacets as OrderFacets, eventsV1OrderOrders_universal_d_OrderFacetCounts as OrderFacetCounts, eventsV1OrderOrders_universal_d_Counts as Counts, eventsV1OrderOrders_universal_d_GetOrderRequest as GetOrderRequest, eventsV1OrderOrders_universal_d_GetOrderResponse as GetOrderResponse, CalendarLinks$2 as CalendarLinks, eventsV1OrderOrders_universal_d_UpdateOrderRequest as UpdateOrderRequest, eventsV1OrderOrders_universal_d_UpdateOrderResponse as UpdateOrderResponse, OrderUpdated$1 as OrderUpdated, eventsV1OrderOrders_universal_d_BulkUpdateOrdersRequest as BulkUpdateOrdersRequest, eventsV1OrderOrders_universal_d_BulkUpdateOrdersResponse as BulkUpdateOrdersResponse, eventsV1OrderOrders_universal_d_ConfirmOrderRequest as ConfirmOrderRequest, eventsV1OrderOrders_universal_d_ConfirmOrderResponse as ConfirmOrderResponse, eventsV1OrderOrders_universal_d_GetSummaryRequest as GetSummaryRequest, eventsV1OrderOrders_universal_d_GetSummaryResponse as GetSummaryResponse, eventsV1OrderOrders_universal_d_TicketSales as TicketSales, eventsV1OrderOrders_universal_d_GetInvoicePreviewRequest as GetInvoicePreviewRequest, eventsV1OrderOrders_universal_d_RawHttpResponse as RawHttpResponse, eventsV1OrderOrders_universal_d_HeadersEntry as HeadersEntry, eventsV1OrderOrders_universal_d_GetPaymentInfoRequest as GetPaymentInfoRequest, eventsV1OrderOrders_universal_d_GetPaymentInfoResponse as GetPaymentInfoResponse, eventsV1OrderOrders_universal_d_PaymentTransactionSummary as PaymentTransactionSummary, eventsV1OrderOrders_universal_d_PaymentTransactionEvent as PaymentTransactionEvent, MessageEnvelope$5 as MessageEnvelope, IdentificationData$5 as IdentificationData, IdentificationDataIdOneOf$5 as IdentificationDataIdOneOf, WebhookIdentityType$5 as WebhookIdentityType, OrderConfirmed$1 as OrderConfirmed, eventsV1OrderOrders_universal_d_OrderPaid as OrderPaid, eventsV1OrderOrders_universal_d_ReservationCreated as ReservationCreated, eventsV1OrderOrders_universal_d_ReservationStatus as ReservationStatus, eventsV1OrderOrders_universal_d_TicketQuantity as TicketQuantity, eventsV1OrderOrders_universal_d_ReservationCount as ReservationCount, eventsV1OrderOrders_universal_d_ReservationUpdated as ReservationUpdated, eventsV1OrderOrders_universal_d_GetCheckoutOptionsRequest as GetCheckoutOptionsRequest, eventsV1OrderOrders_universal_d_GetCheckoutOptionsResponse as GetCheckoutOptionsResponse, eventsV1OrderOrders_universal_d_ListAvailableTicketsRequest as ListAvailableTicketsRequest, State$3 as State, eventsV1OrderOrders_universal_d_ListAvailableTicketsResponse as ListAvailableTicketsResponse, ResponseMetaData$1 as ResponseMetaData, TicketDefinition$1 as TicketDefinition, Dashboard$3 as Dashboard, WixFeeConfig$1 as WixFeeConfig, TicketSalePeriod$1 as TicketSalePeriod, TicketSaleStatus$1 as TicketSaleStatus, TicketPricing$1 as TicketPricing, TicketPricingPriceOneOf$1 as TicketPricingPriceOneOf, PricingOptions$1 as PricingOptions, PricingOption$1 as PricingOption, Type$2 as Type, eventsV1OrderOrders_universal_d_QueryAvailableTicketsRequest as QueryAvailableTicketsRequest, TicketDefinitionFieldset$1 as TicketDefinitionFieldset, eventsV1OrderOrders_universal_d_QueryAvailableTicketsResponse as QueryAvailableTicketsResponse, eventsV1OrderOrders_universal_d_CreateReservationRequest as CreateReservationRequest, eventsV1OrderOrders_universal_d_TicketReservationQuantity as TicketReservationQuantity, eventsV1OrderOrders_universal_d_CreateReservationResponse as CreateReservationResponse, eventsV1OrderOrders_universal_d_TicketReservation as TicketReservation, eventsV1OrderOrders_universal_d_CancelReservationRequest as CancelReservationRequest, eventsV1OrderOrders_universal_d_CancelReservationResponse as CancelReservationResponse, eventsV1OrderOrders_universal_d_GetInvoiceRequest as GetInvoiceRequest, eventsV1OrderOrders_universal_d_DiscountRequest as DiscountRequest, eventsV1OrderOrders_universal_d_PaidPlanBenefit as PaidPlanBenefit, eventsV1OrderOrders_universal_d_GetInvoiceResponse as GetInvoiceResponse, eventsV1OrderOrders_universal_d_DiscountErrors as DiscountErrors, eventsV1OrderOrders_universal_d_Error as Error, eventsV1OrderOrders_universal_d_CheckoutRequest as CheckoutRequest, eventsV1OrderOrders_universal_d_Buyer as Buyer, Guest$1 as Guest, eventsV1OrderOrders_universal_d_CheckoutOptions as CheckoutOptions, eventsV1OrderOrders_universal_d_CheckoutResponse as CheckoutResponse, eventsV1OrderOrders_universal_d_OrderInitiated as OrderInitiated, eventsV1OrderOrders_universal_d_UpdateCheckoutRequest as UpdateCheckoutRequest, eventsV1OrderOrders_universal_d_UpdateCheckoutResponse as UpdateCheckoutResponse, eventsV1OrderOrders_universal_d_OrderPageUrls as OrderPageUrls, eventsV1OrderOrders_universal_d_PosCheckoutRequest as PosCheckoutRequest, eventsV1OrderOrders_universal_d_PosCheckoutResponse as PosCheckoutResponse, eventsV1OrderOrders_universal_d_listOrders as listOrders, eventsV1OrderOrders_universal_d_ListOrdersOptions as ListOrdersOptions, eventsV1OrderOrders_universal_d_getOrder as getOrder, eventsV1OrderOrders_universal_d_GetOrderIdentifiers as GetOrderIdentifiers, eventsV1OrderOrders_universal_d_GetOrderOptions as GetOrderOptions, eventsV1OrderOrders_universal_d_updateOrder as updateOrder, eventsV1OrderOrders_universal_d_UpdateOrderIdentifiers as UpdateOrderIdentifiers, eventsV1OrderOrders_universal_d_UpdateOrderOptions as UpdateOrderOptions, eventsV1OrderOrders_universal_d_bulkUpdateOrders as bulkUpdateOrders, eventsV1OrderOrders_universal_d_BulkUpdateOrdersOptions as BulkUpdateOrdersOptions, eventsV1OrderOrders_universal_d_confirmOrder as confirmOrder, eventsV1OrderOrders_universal_d_ConfirmOrderOptions as ConfirmOrderOptions, eventsV1OrderOrders_universal_d_getSummary as getSummary, eventsV1OrderOrders_universal_d_GetSummaryOptions as GetSummaryOptions, eventsV1OrderOrders_universal_d_GetInvoicePreviewIdentifiers as GetInvoicePreviewIdentifiers, eventsV1OrderOrders_universal_d_getCheckoutOptions as getCheckoutOptions, eventsV1OrderOrders_universal_d_listAvailableTickets as listAvailableTickets, eventsV1OrderOrders_universal_d_ListAvailableTicketsOptions as ListAvailableTicketsOptions, eventsV1OrderOrders_universal_d_queryAvailableTickets as queryAvailableTickets, eventsV1OrderOrders_universal_d_QueryAvailableTicketsOptions as QueryAvailableTicketsOptions, eventsV1OrderOrders_universal_d_createReservation as createReservation, eventsV1OrderOrders_universal_d_CreateReservationOptions as CreateReservationOptions, eventsV1OrderOrders_universal_d_cancelReservation as cancelReservation, eventsV1OrderOrders_universal_d_getInvoice as getInvoice, eventsV1OrderOrders_universal_d_GetInvoiceOptions as GetInvoiceOptions, eventsV1OrderOrders_universal_d_checkout as checkout, eventsV1OrderOrders_universal_d_CheckoutOptionsForRequest as CheckoutOptionsForRequest, eventsV1OrderOrders_universal_d_updateCheckout as updateCheckout, eventsV1OrderOrders_universal_d_UpdateCheckoutOptions as UpdateCheckoutOptions, eventsV1OrderOrders_universal_d_PosCheckoutOptions as PosCheckoutOptions, };\n    }\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[];\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;\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 {\n        /** Ticket number. */\n        number?: string;\n        /** Ticket definition ID. */\n        definitionId?: string | null;\n        /** Ticket name. */\n        name?: string | null;\n    }\n    interface TicketGuestDetails {\n        /** The login details for the guest to access the online conference event. */\n        onlineConferencingLogin?: OnlineConferencingLogin;\n        /** First name. */\n        firstName?: string | null;\n        /** Last name. */\n        lastName?: 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 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        /** 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;\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 {\n        inputValues?: InputValue[];\n    }\n    interface InputValue {\n        inputName?: string;\n        value?: string;\n        values?: string[];\n    }\n    interface FormattedAddress {\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 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    /** @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    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    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    /** 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 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$2;\n    }\n    enum EventType$2 {\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;\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?: Location$3;\n        /**\n         * Event date  and time settings.\n         * @readonly\n         */\n        dateAndTimeSettings?: DateAndTimeSettings$1;\n        /**\n         * Event page URL components.\n         * @readonly\n         */\n        eventPageUrl?: string;\n        /**\n         * Event status.\n         * @readonly\n         */\n        status?: Status$3;\n    }\n    interface Location$3 {\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$3;\n        /** Exact location address. */\n        address?: CommonAddress$1;\n        /** Whether the event location is TBD. */\n        locationTbd?: boolean | null;\n    }\n    enum LocationType$3 {\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    /** @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    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    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.\n         * @readonly\n         */\n        recurrenceStatus?: RecurrenceStatusStatus$1;\n        /** Event repetitions. */\n        recurringEvents?: Recurrences$3;\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$3 {\n        /** Individual event dates. */\n        individualEventDates?: Occurrence$3[];\n        /**\n         * Recurring event category ID.\n         * @readonly\n         */\n        categoryId?: string | null;\n    }\n    interface Occurrence$3 {\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. <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$3 {\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;\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;\n        /** Invoice */\n        invoice?: Invoice;\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 Invoice {\n        items?: Item[];\n        /**\n         * Total cart amount.\n         * @deprecated\n         */\n        total?: Money$3;\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$3;\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$3;\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$3;\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 name. */\n        name?: string;\n        /** Line item price. */\n        price?: Money$3;\n        /** Total price for line items. Always equal to price * quantity. */\n        total?: Money$3;\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 Money$3 {\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 {\n        /** Total discount amount. */\n        amount?: Money$3;\n        /** Total charge after applied discount. */\n        afterDiscount?: Money$3;\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$3;\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$2;\n        /**\n         * Tax name.\n         * @readonly\n         */\n        name?: string;\n        /** Tax rate. */\n        rate?: string;\n        /** Taxable amount. */\n        taxable?: Money$3;\n        /** Total tax amount. */\n        amount?: Money$3;\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 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$3;\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 GuestEventCanceled {\n        /** Event guest. */\n        guest?: EventGuest;\n        /** Event context. */\n        event?: EventDetails;\n    }\n    interface GuestEventStarts {\n        /** Event guest. */\n        guest?: EventGuest;\n        /** Event context. */\n        event?: EventDetails;\n        /** Timing */\n        timing?: Timing;\n    }\n    interface GuestOrderCanceled {\n        /** Event guest. */\n        guest?: EventGuest;\n        /** Event context. */\n        event?: EventDetails;\n        /** Order context. */\n        order?: OrderDetails;\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        /** 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$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    interface EntityDeletedEvent$3 {\n        /** Entity that was deleted */\n        deletedEntityAsJson?: 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    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$4;\n        /** Predefined sets of fields to return. */\n        fields?: RequestedFieldsEnumRequestedFields[];\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$3;\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$4[];\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$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$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    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$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    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$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    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 StreamEventGuestsRequest {\n        /** Filter. */\n        filter?: Record<string, any> | null;\n        /** Task context. */\n        taskContext?: TaskContext;\n    }\n    interface Empty$2 {\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 {\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        /** 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        /** URL and password to online conference */\n        onlineConferencingLogin?: OnlineConferencingLogin;\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 | null;\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. */\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;\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;\n        /** Notifications silenced for this domain event. */\n        silent?: boolean | null;\n    }\n    interface RsvpDeleted {\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 {\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;\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 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$3;\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 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. */\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;\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 OrderDeleted {\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;\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 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    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$3;\n        /** Requested fields. */\n        fields?: RequestedFields$2[];\n    }\n    enum RequestedFields$2 {\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$4;\n    }\n    interface GuestListPreview {\n        /** Event id. */\n        eventId?: string;\n        /** Latest attending members. */\n        latestAttendingMembers?: EventGuests;\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 {\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     * @permissionScope Read Events - all read permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.READ-EVENTS\n     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Guest List\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-GUEST-LIST\n     * @permissionScope Read Event Tickets and Guest List\n     * @permissionScopeId SCOPE.DC-EVENTS.READ-GUEST-LIST\n     * @permissionId WIX_EVENTS.READ_GUESTS\n     * @applicableIdentity APP\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$2 {\n        cursors: Cursors$4;\n        hasNext: () => boolean;\n        hasPrev: () => boolean;\n        length: number;\n        pageSize: number;\n    }\n    interface GuestsQueryResult extends QueryCursorResult$2 {\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    interface ListGuestListPreviewsOptions {\n        /** Cursor paging. */\n        cursorPaging?: CursorPaging$3;\n        /** Requested fields. */\n        fields?: RequestedFields$2[];\n    }\n    type eventsGuestsV1GuestGuests_universal_d_EventGuest = EventGuest;\n    type eventsGuestsV1GuestGuests_universal_d_TicketDetails = TicketDetails;\n    type eventsGuestsV1GuestGuests_universal_d_TicketGuestDetails = TicketGuestDetails;\n    type eventsGuestsV1GuestGuests_universal_d_OnlineConferencingLogin = OnlineConferencingLogin;\n    type eventsGuestsV1GuestGuests_universal_d_GuestDetails = GuestDetails;\n    type eventsGuestsV1GuestGuests_universal_d_FormResponse = FormResponse;\n    type eventsGuestsV1GuestGuests_universal_d_InputValue = InputValue;\n    type eventsGuestsV1GuestGuests_universal_d_FormattedAddress = FormattedAddress;\n    type eventsGuestsV1GuestGuests_universal_d_StandardDetails = StandardDetails;\n    type eventsGuestsV1GuestGuests_universal_d_AttendanceStatus = AttendanceStatus;\n    const eventsGuestsV1GuestGuests_universal_d_AttendanceStatus: typeof AttendanceStatus;\n    type eventsGuestsV1GuestGuests_universal_d_GuestType = GuestType;\n    const eventsGuestsV1GuestGuests_universal_d_GuestType: typeof GuestType;\n    type eventsGuestsV1GuestGuests_universal_d_GuestCountUpdated = GuestCountUpdated;\n    type eventsGuestsV1GuestGuests_universal_d_GuestCountUpdate = GuestCountUpdate;\n    type eventsGuestsV1GuestGuests_universal_d_MemberEventStatusUpdated = MemberEventStatusUpdated;\n    type eventsGuestsV1GuestGuests_universal_d_MemberEventStatusUpdatedEventType = MemberEventStatusUpdatedEventType;\n    const eventsGuestsV1GuestGuests_universal_d_MemberEventStatusUpdatedEventType: typeof MemberEventStatusUpdatedEventType;\n    type eventsGuestsV1GuestGuests_universal_d_ContactEventStatusUpdated = ContactEventStatusUpdated;\n    type eventsGuestsV1GuestGuests_universal_d_GuestCheckedIn = GuestCheckedIn;\n    type eventsGuestsV1GuestGuests_universal_d_EventDetails = EventDetails;\n    type eventsGuestsV1GuestGuests_universal_d_NotifyGuestAction = NotifyGuestAction;\n    type eventsGuestsV1GuestGuests_universal_d_TaskContext = TaskContext;\n    type eventsGuestsV1GuestGuests_universal_d_NotifyActionType = NotifyActionType;\n    const eventsGuestsV1GuestGuests_universal_d_NotifyActionType: typeof NotifyActionType;\n    type eventsGuestsV1GuestGuests_universal_d_Timing = Timing;\n    const eventsGuestsV1GuestGuests_universal_d_Timing: typeof Timing;\n    type eventsGuestsV1GuestGuests_universal_d_OrderDetails = OrderDetails;\n    type eventsGuestsV1GuestGuests_universal_d_OrderStatus = OrderStatus;\n    const eventsGuestsV1GuestGuests_universal_d_OrderStatus: typeof OrderStatus;\n    type eventsGuestsV1GuestGuests_universal_d_Invoice = Invoice;\n    type eventsGuestsV1GuestGuests_universal_d_Item = Item;\n    type eventsGuestsV1GuestGuests_universal_d_Discount = Discount;\n    type eventsGuestsV1GuestGuests_universal_d_DiscountItem = DiscountItem;\n    type eventsGuestsV1GuestGuests_universal_d_DiscountItemDiscountOneOf = DiscountItemDiscountOneOf;\n    type eventsGuestsV1GuestGuests_universal_d_CouponDiscount = CouponDiscount;\n    type eventsGuestsV1GuestGuests_universal_d_PaidPlanDiscount = PaidPlanDiscount;\n    type eventsGuestsV1GuestGuests_universal_d_PaidPlanDiscountDiscountOneOf = PaidPlanDiscountDiscountOneOf;\n    type eventsGuestsV1GuestGuests_universal_d_PercentDiscount = PercentDiscount;\n    type eventsGuestsV1GuestGuests_universal_d_Tax = Tax;\n    type eventsGuestsV1GuestGuests_universal_d_Fee = Fee;\n    type eventsGuestsV1GuestGuests_universal_d_FeeName = FeeName;\n    const eventsGuestsV1GuestGuests_universal_d_FeeName: typeof FeeName;\n    type eventsGuestsV1GuestGuests_universal_d_GuestEventCanceled = GuestEventCanceled;\n    type eventsGuestsV1GuestGuests_universal_d_GuestEventStarts = GuestEventStarts;\n    type eventsGuestsV1GuestGuests_universal_d_GuestOrderCanceled = GuestOrderCanceled;\n    type eventsGuestsV1GuestGuests_universal_d_QueryEventGuestsRequest = QueryEventGuestsRequest;\n    type eventsGuestsV1GuestGuests_universal_d_RequestedFieldsEnumRequestedFields = RequestedFieldsEnumRequestedFields;\n    const eventsGuestsV1GuestGuests_universal_d_RequestedFieldsEnumRequestedFields: typeof RequestedFieldsEnumRequestedFields;\n    type eventsGuestsV1GuestGuests_universal_d_QueryEventGuestsResponse = QueryEventGuestsResponse;\n    type eventsGuestsV1GuestGuests_universal_d_StreamEventGuestsRequest = StreamEventGuestsRequest;\n    type eventsGuestsV1GuestGuests_universal_d_SecondaryLanguagesRequest = SecondaryLanguagesRequest;\n    type eventsGuestsV1GuestGuests_universal_d_SecondaryLanguagesResponse = SecondaryLanguagesResponse;\n    type eventsGuestsV1GuestGuests_universal_d_Language = Language;\n    type eventsGuestsV1GuestGuests_universal_d_RsvpCreated = RsvpCreated;\n    type eventsGuestsV1GuestGuests_universal_d_RsvpStatus = RsvpStatus;\n    const eventsGuestsV1GuestGuests_universal_d_RsvpStatus: typeof RsvpStatus;\n    type eventsGuestsV1GuestGuests_universal_d_Guest = Guest;\n    type eventsGuestsV1GuestGuests_universal_d_CheckIn = CheckIn;\n    type eventsGuestsV1GuestGuests_universal_d_RsvpUpdated = RsvpUpdated;\n    type eventsGuestsV1GuestGuests_universal_d_RsvpDeleted = RsvpDeleted;\n    type eventsGuestsV1GuestGuests_universal_d_OrderConfirmed = OrderConfirmed;\n    type eventsGuestsV1GuestGuests_universal_d_Ticket = Ticket;\n    type eventsGuestsV1GuestGuests_universal_d_OrderUpdated = OrderUpdated;\n    type eventsGuestsV1GuestGuests_universal_d_OrderDeleted = OrderDeleted;\n    type eventsGuestsV1GuestGuests_universal_d_OrderType = OrderType;\n    const eventsGuestsV1GuestGuests_universal_d_OrderType: typeof OrderType;\n    type eventsGuestsV1GuestGuests_universal_d_Task = Task;\n    type eventsGuestsV1GuestGuests_universal_d_TaskKey = TaskKey;\n    type eventsGuestsV1GuestGuests_universal_d_ListGuestListPreviewsRequest = ListGuestListPreviewsRequest;\n    type eventsGuestsV1GuestGuests_universal_d_ListGuestListPreviewsResponse = ListGuestListPreviewsResponse;\n    type eventsGuestsV1GuestGuests_universal_d_GuestListPreview = GuestListPreview;\n    type eventsGuestsV1GuestGuests_universal_d_EventGuests = EventGuests;\n    type eventsGuestsV1GuestGuests_universal_d_GuestCount = GuestCount;\n    type eventsGuestsV1GuestGuests_universal_d_UpdateGuestRequest = UpdateGuestRequest;\n    type eventsGuestsV1GuestGuests_universal_d_UpdateGuestResponse = UpdateGuestResponse;\n    const eventsGuestsV1GuestGuests_universal_d_queryGuests: typeof queryGuests;\n    type eventsGuestsV1GuestGuests_universal_d_QueryEventGuestsOptions = QueryEventGuestsOptions;\n    type eventsGuestsV1GuestGuests_universal_d_GuestsQueryResult = GuestsQueryResult;\n    type eventsGuestsV1GuestGuests_universal_d_GuestsQueryBuilder = GuestsQueryBuilder;\n    type eventsGuestsV1GuestGuests_universal_d_ListGuestListPreviewsOptions = ListGuestListPreviewsOptions;\n    namespace eventsGuestsV1GuestGuests_universal_d {\n        export { eventsGuestsV1GuestGuests_universal_d_EventGuest as EventGuest, eventsGuestsV1GuestGuests_universal_d_TicketDetails as TicketDetails, eventsGuestsV1GuestGuests_universal_d_TicketGuestDetails as TicketGuestDetails, eventsGuestsV1GuestGuests_universal_d_OnlineConferencingLogin as OnlineConferencingLogin, eventsGuestsV1GuestGuests_universal_d_GuestDetails as GuestDetails, eventsGuestsV1GuestGuests_universal_d_FormResponse as FormResponse, eventsGuestsV1GuestGuests_universal_d_InputValue as InputValue, eventsGuestsV1GuestGuests_universal_d_FormattedAddress as FormattedAddress, Address$3 as Address, AddressStreetOneOf$3 as AddressStreetOneOf, StreetAddress$3 as StreetAddress, AddressLocation$3 as AddressLocation, Subdivision$3 as Subdivision, SubdivisionType$3 as SubdivisionType, eventsGuestsV1GuestGuests_universal_d_StandardDetails as StandardDetails, eventsGuestsV1GuestGuests_universal_d_AttendanceStatus as AttendanceStatus, eventsGuestsV1GuestGuests_universal_d_GuestType as GuestType, eventsGuestsV1GuestGuests_universal_d_GuestCountUpdated as GuestCountUpdated, eventsGuestsV1GuestGuests_universal_d_GuestCountUpdate as GuestCountUpdate, eventsGuestsV1GuestGuests_universal_d_MemberEventStatusUpdated as MemberEventStatusUpdated, eventsGuestsV1GuestGuests_universal_d_MemberEventStatusUpdatedEventType as MemberEventStatusUpdatedEventType, eventsGuestsV1GuestGuests_universal_d_ContactEventStatusUpdated as ContactEventStatusUpdated, EventType$2 as EventType, eventsGuestsV1GuestGuests_universal_d_GuestCheckedIn as GuestCheckedIn, eventsGuestsV1GuestGuests_universal_d_EventDetails as EventDetails, Location$3 as Location, LocationType$3 as LocationType, CommonAddress$1 as CommonAddress, CommonAddressStreetOneOf$1 as CommonAddressStreetOneOf, CommonStreetAddress$1 as CommonStreetAddress, CommonAddressLocation$1 as CommonAddressLocation, CommonSubdivision$1 as CommonSubdivision, SubdivisionSubdivisionType$1 as SubdivisionSubdivisionType, DateAndTimeSettings$1 as DateAndTimeSettings, RecurrenceStatusStatus$1 as RecurrenceStatusStatus, Recurrences$3 as Recurrences, Occurrence$3 as Occurrence, Formatted$1 as Formatted, Status$3 as Status, eventsGuestsV1GuestGuests_universal_d_NotifyGuestAction as NotifyGuestAction, eventsGuestsV1GuestGuests_universal_d_TaskContext as TaskContext, eventsGuestsV1GuestGuests_universal_d_NotifyActionType as NotifyActionType, eventsGuestsV1GuestGuests_universal_d_Timing as Timing, eventsGuestsV1GuestGuests_universal_d_OrderDetails as OrderDetails, eventsGuestsV1GuestGuests_universal_d_OrderStatus as OrderStatus, eventsGuestsV1GuestGuests_universal_d_Invoice as Invoice, eventsGuestsV1GuestGuests_universal_d_Item as Item, Money$3 as Money, eventsGuestsV1GuestGuests_universal_d_Discount as Discount, eventsGuestsV1GuestGuests_universal_d_DiscountItem as DiscountItem, eventsGuestsV1GuestGuests_universal_d_DiscountItemDiscountOneOf as DiscountItemDiscountOneOf, eventsGuestsV1GuestGuests_universal_d_CouponDiscount as CouponDiscount, eventsGuestsV1GuestGuests_universal_d_PaidPlanDiscount as PaidPlanDiscount, eventsGuestsV1GuestGuests_universal_d_PaidPlanDiscountDiscountOneOf as PaidPlanDiscountDiscountOneOf, eventsGuestsV1GuestGuests_universal_d_PercentDiscount as PercentDiscount, eventsGuestsV1GuestGuests_universal_d_Tax as Tax, TaxType$2 as TaxType, eventsGuestsV1GuestGuests_universal_d_Fee as Fee, eventsGuestsV1GuestGuests_universal_d_FeeName as FeeName, FeeType$1 as FeeType, eventsGuestsV1GuestGuests_universal_d_GuestEventCanceled as GuestEventCanceled, eventsGuestsV1GuestGuests_universal_d_GuestEventStarts as GuestEventStarts, eventsGuestsV1GuestGuests_universal_d_GuestOrderCanceled as GuestOrderCanceled, DomainEvent$3 as DomainEvent, DomainEventBodyOneOf$3 as DomainEventBodyOneOf, EntityCreatedEvent$3 as EntityCreatedEvent, RestoreInfo$1 as RestoreInfo, EntityUpdatedEvent$3 as EntityUpdatedEvent, EntityDeletedEvent$3 as EntityDeletedEvent, ActionEvent$3 as ActionEvent, MessageEnvelope$4 as MessageEnvelope, IdentificationData$4 as IdentificationData, IdentificationDataIdOneOf$4 as IdentificationDataIdOneOf, WebhookIdentityType$4 as WebhookIdentityType, eventsGuestsV1GuestGuests_universal_d_QueryEventGuestsRequest as QueryEventGuestsRequest, QueryV2$4 as QueryV2, QueryV2PagingMethodOneOf$4 as QueryV2PagingMethodOneOf, Sorting$4 as Sorting, SortOrder$4 as SortOrder, Paging$4 as Paging, CursorPaging$3 as CursorPaging, eventsGuestsV1GuestGuests_universal_d_RequestedFieldsEnumRequestedFields as RequestedFieldsEnumRequestedFields, eventsGuestsV1GuestGuests_universal_d_QueryEventGuestsResponse as QueryEventGuestsResponse, PagingMetadataV2$4 as PagingMetadataV2, Cursors$4 as Cursors, eventsGuestsV1GuestGuests_universal_d_StreamEventGuestsRequest as StreamEventGuestsRequest, Empty$2 as Empty, eventsGuestsV1GuestGuests_universal_d_SecondaryLanguagesRequest as SecondaryLanguagesRequest, eventsGuestsV1GuestGuests_universal_d_SecondaryLanguagesResponse as SecondaryLanguagesResponse, eventsGuestsV1GuestGuests_universal_d_Language as Language, eventsGuestsV1GuestGuests_universal_d_RsvpCreated as RsvpCreated, eventsGuestsV1GuestGuests_universal_d_RsvpStatus as RsvpStatus, eventsGuestsV1GuestGuests_universal_d_Guest as Guest, eventsGuestsV1GuestGuests_universal_d_CheckIn as CheckIn, eventsGuestsV1GuestGuests_universal_d_RsvpUpdated as RsvpUpdated, eventsGuestsV1GuestGuests_universal_d_RsvpDeleted as RsvpDeleted, eventsGuestsV1GuestGuests_universal_d_OrderConfirmed as OrderConfirmed, eventsGuestsV1GuestGuests_universal_d_Ticket as Ticket, eventsGuestsV1GuestGuests_universal_d_OrderUpdated as OrderUpdated, eventsGuestsV1GuestGuests_universal_d_OrderDeleted as OrderDeleted, eventsGuestsV1GuestGuests_universal_d_OrderType as OrderType, EventDeleted$1 as EventDeleted, eventsGuestsV1GuestGuests_universal_d_Task as Task, eventsGuestsV1GuestGuests_universal_d_TaskKey as TaskKey, eventsGuestsV1GuestGuests_universal_d_ListGuestListPreviewsRequest as ListGuestListPreviewsRequest, RequestedFields$2 as RequestedFields, eventsGuestsV1GuestGuests_universal_d_ListGuestListPreviewsResponse as ListGuestListPreviewsResponse, eventsGuestsV1GuestGuests_universal_d_GuestListPreview as GuestListPreview, eventsGuestsV1GuestGuests_universal_d_EventGuests as EventGuests, eventsGuestsV1GuestGuests_universal_d_GuestCount as GuestCount, eventsGuestsV1GuestGuests_universal_d_UpdateGuestRequest as UpdateGuestRequest, eventsGuestsV1GuestGuests_universal_d_UpdateGuestResponse as UpdateGuestResponse, eventsGuestsV1GuestGuests_universal_d_queryGuests as queryGuests, eventsGuestsV1GuestGuests_universal_d_QueryEventGuestsOptions as QueryEventGuestsOptions, eventsGuestsV1GuestGuests_universal_d_GuestsQueryResult as GuestsQueryResult, eventsGuestsV1GuestGuests_universal_d_GuestsQueryBuilder as GuestsQueryBuilder, eventsGuestsV1GuestGuests_universal_d_ListGuestListPreviewsOptions as ListGuestListPreviewsOptions, };\n    }\n    interface TicketDefinition {\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$2;\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?: TicketDefinitionStateEnumState[];\n        /** Ticket pricing. */\n        pricing?: TicketPricing;\n    }\n    interface Money$2 {\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, a single (-), to indicate that the amount is negative. */\n        value?: string | null;\n    }\n    interface Dashboard$2 {\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        /**\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;\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    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$2;\n        /** Min price per ticket, customizable. */\n        minPrice?: Money$2;\n        /** Ticket pricing options. */\n        pricingOptions?: PricingOptions;\n        /**\n         * Ticket pricing type.\n         * @readonly\n         */\n        pricingType?: Type$1;\n    }\n    /** @oneof */\n    interface TicketPricingPriceOneOf {\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;\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$2;\n    }\n    enum Type$1 {\n        STANDARD = \"STANDARD\",\n        DONATION = \"DONATION\"\n    }\n    interface QueryTicketDefinitionsRequest {\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 {\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[];\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    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$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$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$2;\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$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$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 QueryTicketDefinitionsV2Response {\n        /** Ticket definitions. */\n        definitions?: TicketDefinition[];\n        /** Paging metadata definitions. */\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 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$2[];\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    enum State$2 {\n        /** Ticket is available for purchase. */\n        VISIBLE = \"VISIBLE\",\n        /** Opposite to VISIBLE. */\n        HIDDEN = \"HIDDEN\",\n        /** Ticket price is 0. */\n        FREE = \"FREE\",\n        /** 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[];\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 {\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 {\n        /** Retrieved ticket definition. */\n        definition?: TicketDefinition;\n    }\n    interface CreateTicketDefinitionRequest {\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$2;\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 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 {\n        /** Created ticket definition. */\n        definition?: TicketDefinition;\n    }\n    interface TicketDefinitionCreated {\n        /** Ticket Definition created timestamp in ISO UTC format. */\n        timestamp?: Date;\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 {\n        /** Event ID. */\n        eventId: string;\n        /** Ticket definition ID. */\n        definitionId: string;\n        /** Ticket definition data. */\n        definition?: TicketDefinitionData;\n    }\n    interface UpdateTicketDefinitionResponse {\n        /** Updated ticket definition. */\n        definition?: TicketDefinition;\n    }\n    interface TicketDefinitionUpdated {\n        /** Ticket definition updated timestamp in ISO UTC format. */\n        timestamp?: Date;\n        /** Ticket definition ID. */\n        ticketDefinitionId?: string;\n        /** Event ID. */\n        eventId?: string;\n    }\n    interface DeleteTicketDefinitionRequest 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 {\n    }\n    interface TicketDefinitionDeleted {\n        /** Ticket definition deleted timestamp in ISO UTC format. */\n        timestamp?: Date;\n        /** Ticket definition ID. */\n        ticketDefinitionId?: string;\n        /** Event ID. */\n        eventId?: string;\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 PaidTicketDefinitionExistsRequest {\n    }\n    interface PaidTicketDefinitionExistsResponse {\n        /** Paid exists. */\n        paidExists?: boolean;\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     * **Deprecated.** This function will continue to work until November 8, 2024, but a newer version is available. Use [`queryTicketDefinitions()`](https://www.wix.com/velo/reference/wix-events-v2/ticketdefinitionsv2/queryticketdefinitions) 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()`](https://www.wix.com/velo/reference/wix-events-v2/ticketdefinitionsv2/queryticketdefinitions).\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-ORDERS\n     * @permissionScope Manage Ticket Definitions\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-TICKET-DEF\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function queryTicketDefinitions(options?: QueryTicketDefinitionsOptions): Promise<QueryTicketDefinitionsResponse>;\n    interface QueryTicketDefinitionsOptions {\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    interface QueryTicketDefinitionsV2Options {\n    }\n    interface QueryCursorResult$1 {\n        cursors: Cursors$3;\n        hasNext: () => boolean;\n        hasPrev: () => boolean;\n        length: number;\n        pageSize: number;\n    }\n    interface DefinitionsQueryResult extends QueryCursorResult$1 {\n        items: TicketDefinition[];\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()`](https://www.wix.com/velo/reference/wix-events-v2/ticketdefinitionsv2/queryticketdefinitions) 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()`](https://www.wix.com/velo/reference/wix-events-v2/ticketdefinitionsv2/queryticketdefinitions).\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-ORDERS\n     * @permissionScope Manage Ticket Definitions\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-TICKET-DEF\n     * @applicableIdentity APP\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$2[];\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    /**\n     * **Deprecated.** This function will continue to work until November 8, 2024, but a newer version is available. Use the [`getTicketDefinition()`](https://www.wix.com/velo/reference/wix-events-v2/ticketdefinitionsv2/getticketdefinition) 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()`](https://www.wix.com/velo/reference/wix-events-v2/ticketdefinitionsv2/getticketdefinition).\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-ORDERS\n     * @permissionScope Manage Ticket Definitions\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-TICKET-DEF\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Retrieved ticket definition.\n     */\n    function getTicketDefinition(definitionId: string, options?: GetTicketDefinitionOptions): Promise<TicketDefinition>;\n    interface GetTicketDefinitionOptions {\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()`](https://www.wix.com/velo/reference/wix-events-v2/ticketdefinitionsv2/createticketdefinition) 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()`](https://www.wix.com/velo/reference/wix-events-v2/ticketdefinitionsv2/createticketdefinition).\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Ticket Definitions\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-TICKET-DEF\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function createTicketDefinition(eventId: string, options: CreateTicketDefinitionOptions): Promise<CreateTicketDefinitionResponse>;\n    interface CreateTicketDefinitionOptions {\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()`](https://www.wix.com/velo/reference/wix-events-v2/ticketdefinitionsv2/updateticketdefinition) 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()`](https://www.wix.com/velo/reference/wix-events-v2/ticketdefinitionsv2/updateticketdefinition).\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Ticket Definitions\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-TICKET-DEF\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function updateTicketDefinition(definitionId: string, eventId: string, options?: UpdateTicketDefinitionOptions): Promise<UpdateTicketDefinitionResponse>;\n    interface UpdateTicketDefinitionOptions {\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 [`deleteTicketDefinition()`](https://www.wix.com/velo/reference/wix-events-v2/ticketdefinitionsv2/deleteticketdefinition) 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()`](https://www.wix.com/velo/reference/wix-events-v2/ticketdefinitionsv2/deleteticketdefinition).\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Ticket Definitions\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-TICKET-DEF\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function deleteTicketDefinition(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()`](https://www.wix.com/velo/reference/wix-events-v2/ticketdefinitionsv2/changecurrency).\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()`](https://www.wix.com/velo/reference/wix-events-v2/ticketdefinitionsv2/changecurrency).\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Ticket Definitions\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-TICKET-DEF\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function changeCurrency(options?: ChangeCurrencyOptions): Promise<void>;\n    interface ChangeCurrencyOptions {\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    type eventsV1TicketDefinitionTicketDefinitions_universal_d_TicketDefinition = TicketDefinition;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_WixFeeConfig = WixFeeConfig;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_FeeType = FeeType;\n    const eventsV1TicketDefinitionTicketDefinitions_universal_d_FeeType: typeof FeeType;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_TicketSalePeriod = TicketSalePeriod;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_TicketSaleStatus = TicketSaleStatus;\n    const eventsV1TicketDefinitionTicketDefinitions_universal_d_TicketSaleStatus: typeof TicketSaleStatus;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_TicketDefinitionStateEnumState = TicketDefinitionStateEnumState;\n    const eventsV1TicketDefinitionTicketDefinitions_universal_d_TicketDefinitionStateEnumState: typeof TicketDefinitionStateEnumState;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_TicketPricing = TicketPricing;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_TicketPricingPriceOneOf = TicketPricingPriceOneOf;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_PricingOptions = PricingOptions;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_PricingOption = PricingOption;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_QueryTicketDefinitionsRequest = QueryTicketDefinitionsRequest;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_TicketDefinitionFieldset = TicketDefinitionFieldset;\n    const eventsV1TicketDefinitionTicketDefinitions_universal_d_TicketDefinitionFieldset: typeof TicketDefinitionFieldset;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_QueryTicketDefinitionsResponse = QueryTicketDefinitionsResponse;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_QueryTicketDefinitionsV2Request = QueryTicketDefinitionsV2Request;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_QueryTicketDefinitionsV2Response = QueryTicketDefinitionsV2Response;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_ListTicketDefinitionsRequest = ListTicketDefinitionsRequest;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_GroupBy = GroupBy;\n    const eventsV1TicketDefinitionTicketDefinitions_universal_d_GroupBy: typeof GroupBy;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_ListTicketDefinitionsResponse = ListTicketDefinitionsResponse;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_ResponseMetaData = ResponseMetaData;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_GetTicketDefinitionRequest = GetTicketDefinitionRequest;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_GetTicketDefinitionResponse = GetTicketDefinitionResponse;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_CreateTicketDefinitionRequest = CreateTicketDefinitionRequest;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_TicketDefinitionData = TicketDefinitionData;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_CreateTicketDefinitionResponse = CreateTicketDefinitionResponse;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_TicketDefinitionCreated = TicketDefinitionCreated;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_OriginatedFrom = OriginatedFrom;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_UpdateTicketDefinitionRequest = UpdateTicketDefinitionRequest;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_UpdateTicketDefinitionResponse = UpdateTicketDefinitionResponse;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_TicketDefinitionUpdated = TicketDefinitionUpdated;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_DeleteTicketDefinitionRequest = DeleteTicketDefinitionRequest;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_DeleteTicketDefinitionRequestDeleteOneOf = DeleteTicketDefinitionRequestDeleteOneOf;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_ById = ById;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_DeleteTicketDefinitionResponse = DeleteTicketDefinitionResponse;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_TicketDefinitionDeleted = TicketDefinitionDeleted;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_ChangeCurrencyRequest = ChangeCurrencyRequest;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_ChangeCurrencyResponse = ChangeCurrencyResponse;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_BulkCopyTicketDefinitionsByEventIdRequest = BulkCopyTicketDefinitionsByEventIdRequest;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_BulkCopyTicketDefinitionsByEventIdResponse = BulkCopyTicketDefinitionsByEventIdResponse;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_CopiedTicketDefinition = CopiedTicketDefinition;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_PaidTicketDefinitionExistsRequest = PaidTicketDefinitionExistsRequest;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_PaidTicketDefinitionExistsResponse = PaidTicketDefinitionExistsResponse;\n    const eventsV1TicketDefinitionTicketDefinitions_universal_d_queryTicketDefinitions: typeof queryTicketDefinitions;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_QueryTicketDefinitionsOptions = QueryTicketDefinitionsOptions;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_QueryTicketDefinitionsV2Options = QueryTicketDefinitionsV2Options;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_DefinitionsQueryResult = DefinitionsQueryResult;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_DefinitionsQueryBuilder = DefinitionsQueryBuilder;\n    const eventsV1TicketDefinitionTicketDefinitions_universal_d_listTicketDefinitions: typeof listTicketDefinitions;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_ListTicketDefinitionsOptions = ListTicketDefinitionsOptions;\n    const eventsV1TicketDefinitionTicketDefinitions_universal_d_getTicketDefinition: typeof getTicketDefinition;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_GetTicketDefinitionOptions = GetTicketDefinitionOptions;\n    const eventsV1TicketDefinitionTicketDefinitions_universal_d_createTicketDefinition: typeof createTicketDefinition;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_CreateTicketDefinitionOptions = CreateTicketDefinitionOptions;\n    const eventsV1TicketDefinitionTicketDefinitions_universal_d_updateTicketDefinition: typeof updateTicketDefinition;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_UpdateTicketDefinitionOptions = UpdateTicketDefinitionOptions;\n    const eventsV1TicketDefinitionTicketDefinitions_universal_d_deleteTicketDefinition: typeof deleteTicketDefinition;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_DeleteTicketDefinitionOptions = DeleteTicketDefinitionOptions;\n    const eventsV1TicketDefinitionTicketDefinitions_universal_d_changeCurrency: typeof changeCurrency;\n    type eventsV1TicketDefinitionTicketDefinitions_universal_d_ChangeCurrencyOptions = ChangeCurrencyOptions;\n    namespace eventsV1TicketDefinitionTicketDefinitions_universal_d {\n        export { eventsV1TicketDefinitionTicketDefinitions_universal_d_TicketDefinition as TicketDefinition, Money$2 as Money, Dashboard$2 as Dashboard, eventsV1TicketDefinitionTicketDefinitions_universal_d_WixFeeConfig as WixFeeConfig, eventsV1TicketDefinitionTicketDefinitions_universal_d_FeeType as FeeType, eventsV1TicketDefinitionTicketDefinitions_universal_d_TicketSalePeriod as TicketSalePeriod, eventsV1TicketDefinitionTicketDefinitions_universal_d_TicketSaleStatus as TicketSaleStatus, eventsV1TicketDefinitionTicketDefinitions_universal_d_TicketDefinitionStateEnumState as TicketDefinitionStateEnumState, eventsV1TicketDefinitionTicketDefinitions_universal_d_TicketPricing as TicketPricing, eventsV1TicketDefinitionTicketDefinitions_universal_d_TicketPricingPriceOneOf as TicketPricingPriceOneOf, eventsV1TicketDefinitionTicketDefinitions_universal_d_PricingOptions as PricingOptions, eventsV1TicketDefinitionTicketDefinitions_universal_d_PricingOption as PricingOption, Type$1 as Type, eventsV1TicketDefinitionTicketDefinitions_universal_d_QueryTicketDefinitionsRequest as QueryTicketDefinitionsRequest, eventsV1TicketDefinitionTicketDefinitions_universal_d_TicketDefinitionFieldset as TicketDefinitionFieldset, eventsV1TicketDefinitionTicketDefinitions_universal_d_QueryTicketDefinitionsResponse as QueryTicketDefinitionsResponse, FacetCounts$2 as FacetCounts, eventsV1TicketDefinitionTicketDefinitions_universal_d_QueryTicketDefinitionsV2Request as QueryTicketDefinitionsV2Request, QueryV2$3 as QueryV2, QueryV2PagingMethodOneOf$3 as QueryV2PagingMethodOneOf, Sorting$3 as Sorting, SortOrder$3 as SortOrder, Paging$3 as Paging, CursorPaging$2 as CursorPaging, eventsV1TicketDefinitionTicketDefinitions_universal_d_QueryTicketDefinitionsV2Response as QueryTicketDefinitionsV2Response, PagingMetadataV2$3 as PagingMetadataV2, Cursors$3 as Cursors, eventsV1TicketDefinitionTicketDefinitions_universal_d_ListTicketDefinitionsRequest as ListTicketDefinitionsRequest, State$2 as State, eventsV1TicketDefinitionTicketDefinitions_universal_d_GroupBy as GroupBy, eventsV1TicketDefinitionTicketDefinitions_universal_d_ListTicketDefinitionsResponse as ListTicketDefinitionsResponse, eventsV1TicketDefinitionTicketDefinitions_universal_d_ResponseMetaData as ResponseMetaData, eventsV1TicketDefinitionTicketDefinitions_universal_d_GetTicketDefinitionRequest as GetTicketDefinitionRequest, eventsV1TicketDefinitionTicketDefinitions_universal_d_GetTicketDefinitionResponse as GetTicketDefinitionResponse, eventsV1TicketDefinitionTicketDefinitions_universal_d_CreateTicketDefinitionRequest as CreateTicketDefinitionRequest, eventsV1TicketDefinitionTicketDefinitions_universal_d_TicketDefinitionData as TicketDefinitionData, eventsV1TicketDefinitionTicketDefinitions_universal_d_CreateTicketDefinitionResponse as CreateTicketDefinitionResponse, eventsV1TicketDefinitionTicketDefinitions_universal_d_TicketDefinitionCreated as TicketDefinitionCreated, eventsV1TicketDefinitionTicketDefinitions_universal_d_OriginatedFrom as OriginatedFrom, eventsV1TicketDefinitionTicketDefinitions_universal_d_UpdateTicketDefinitionRequest as UpdateTicketDefinitionRequest, eventsV1TicketDefinitionTicketDefinitions_universal_d_UpdateTicketDefinitionResponse as UpdateTicketDefinitionResponse, eventsV1TicketDefinitionTicketDefinitions_universal_d_TicketDefinitionUpdated as TicketDefinitionUpdated, eventsV1TicketDefinitionTicketDefinitions_universal_d_DeleteTicketDefinitionRequest as DeleteTicketDefinitionRequest, eventsV1TicketDefinitionTicketDefinitions_universal_d_DeleteTicketDefinitionRequestDeleteOneOf as DeleteTicketDefinitionRequestDeleteOneOf, eventsV1TicketDefinitionTicketDefinitions_universal_d_ById as ById, eventsV1TicketDefinitionTicketDefinitions_universal_d_DeleteTicketDefinitionResponse as DeleteTicketDefinitionResponse, eventsV1TicketDefinitionTicketDefinitions_universal_d_TicketDefinitionDeleted as TicketDefinitionDeleted, eventsV1TicketDefinitionTicketDefinitions_universal_d_ChangeCurrencyRequest as ChangeCurrencyRequest, eventsV1TicketDefinitionTicketDefinitions_universal_d_ChangeCurrencyResponse as ChangeCurrencyResponse, eventsV1TicketDefinitionTicketDefinitions_universal_d_BulkCopyTicketDefinitionsByEventIdRequest as BulkCopyTicketDefinitionsByEventIdRequest, eventsV1TicketDefinitionTicketDefinitions_universal_d_BulkCopyTicketDefinitionsByEventIdResponse as BulkCopyTicketDefinitionsByEventIdResponse, eventsV1TicketDefinitionTicketDefinitions_universal_d_CopiedTicketDefinition as CopiedTicketDefinition, eventsV1TicketDefinitionTicketDefinitions_universal_d_PaidTicketDefinitionExistsRequest as PaidTicketDefinitionExistsRequest, eventsV1TicketDefinitionTicketDefinitions_universal_d_PaidTicketDefinitionExistsResponse as PaidTicketDefinitionExistsResponse, MessageEnvelope$3 as MessageEnvelope, IdentificationData$3 as IdentificationData, IdentificationDataIdOneOf$3 as IdentificationDataIdOneOf, WebhookIdentityType$3 as WebhookIdentityType, eventsV1TicketDefinitionTicketDefinitions_universal_d_queryTicketDefinitions as queryTicketDefinitions, eventsV1TicketDefinitionTicketDefinitions_universal_d_QueryTicketDefinitionsOptions as QueryTicketDefinitionsOptions, eventsV1TicketDefinitionTicketDefinitions_universal_d_QueryTicketDefinitionsV2Options as QueryTicketDefinitionsV2Options, eventsV1TicketDefinitionTicketDefinitions_universal_d_DefinitionsQueryResult as DefinitionsQueryResult, eventsV1TicketDefinitionTicketDefinitions_universal_d_DefinitionsQueryBuilder as DefinitionsQueryBuilder, eventsV1TicketDefinitionTicketDefinitions_universal_d_listTicketDefinitions as listTicketDefinitions, eventsV1TicketDefinitionTicketDefinitions_universal_d_ListTicketDefinitionsOptions as ListTicketDefinitionsOptions, eventsV1TicketDefinitionTicketDefinitions_universal_d_getTicketDefinition as getTicketDefinition, eventsV1TicketDefinitionTicketDefinitions_universal_d_GetTicketDefinitionOptions as GetTicketDefinitionOptions, eventsV1TicketDefinitionTicketDefinitions_universal_d_createTicketDefinition as createTicketDefinition, eventsV1TicketDefinitionTicketDefinitions_universal_d_CreateTicketDefinitionOptions as CreateTicketDefinitionOptions, eventsV1TicketDefinitionTicketDefinitions_universal_d_updateTicketDefinition as updateTicketDefinition, eventsV1TicketDefinitionTicketDefinitions_universal_d_UpdateTicketDefinitionOptions as UpdateTicketDefinitionOptions, eventsV1TicketDefinitionTicketDefinitions_universal_d_deleteTicketDefinition as deleteTicketDefinition, eventsV1TicketDefinitionTicketDefinitions_universal_d_DeleteTicketDefinitionOptions as DeleteTicketDefinitionOptions, eventsV1TicketDefinitionTicketDefinitions_universal_d_changeCurrency as changeCurrency, eventsV1TicketDefinitionTicketDefinitions_universal_d_ChangeCurrencyOptions as ChangeCurrencyOptions, };\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;\n        /**\n         * Date and time of the policy's latest update in.\n         * @readonly\n         */\n        _updatedDate?: Date;\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    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$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        /** 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$2[];\n    }\n    /** @oneof */\n    interface QueryV2PagingMethodOneOf$2 {\n        /** Pagination options. */\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$1;\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 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 CursorPaging$1 {\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$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    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 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;\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        /**\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$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    }\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    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    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 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;\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$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;\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$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 Empty$1 {\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$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    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    interface EntityDeletedEvent$2 {\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 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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Policies\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-POLICIES\n     * @applicableIdentity APP\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Policies\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-POLICIES\n     * @applicableIdentity APP\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;\n        /**\n         * Date and time of the policy's latest update in `yyyy-mm-ddThh:mm:sssZ` format.\n         * @readonly\n         */\n        _updatedDate?: Date;\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    /**\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Policies\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-POLICIES\n     * @applicableIdentity APP\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Read Policies\n     * @permissionScopeId SCOPE.DC-EVENTS.READ-POLICIES\n     * @permissionScope Manage Policies\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-POLICIES\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\n     */\n    function queryPolicies(): PoliciesQueryBuilder;\n    interface QueryCursorResult {\n        cursors: Cursors$2;\n        hasNext: () => boolean;\n        hasPrev: () => boolean;\n        length: number;\n        pageSize: number;\n    }\n    interface PoliciesQueryResult extends QueryCursorResult {\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Policies\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-POLICIES\n     * @applicableIdentity APP\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Read Policies\n     * @permissionScopeId SCOPE.DC-EVENTS.READ-POLICIES\n     * @permissionScope Manage Policies\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-POLICIES\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\n     * @returns The requested policy.\n     */\n    function getPolicy(policyId: string): Promise<Policy>;\n    type eventsV2PolicyPolicies_universal_d_Policy = Policy;\n    type eventsV2PolicyPolicies_universal_d_CreatePolicyRequest = CreatePolicyRequest;\n    type eventsV2PolicyPolicies_universal_d_CreatePolicyResponse = CreatePolicyResponse;\n    type eventsV2PolicyPolicies_universal_d_UpdatePolicyRequest = UpdatePolicyRequest;\n    type eventsV2PolicyPolicies_universal_d_UpdatePolicyResponse = UpdatePolicyResponse;\n    type eventsV2PolicyPolicies_universal_d_UpdatePolicySortIndexRequest = UpdatePolicySortIndexRequest;\n    type eventsV2PolicyPolicies_universal_d_UpdatePolicySortIndexResponse = UpdatePolicySortIndexResponse;\n    type eventsV2PolicyPolicies_universal_d_DeletePolicyRequest = DeletePolicyRequest;\n    type eventsV2PolicyPolicies_universal_d_DeletePolicyResponse = DeletePolicyResponse;\n    type eventsV2PolicyPolicies_universal_d_QueryPoliciesRequest = QueryPoliciesRequest;\n    type eventsV2PolicyPolicies_universal_d_QueryPoliciesResponse = QueryPoliciesResponse;\n    type eventsV2PolicyPolicies_universal_d_ReorderEventPoliciesRequest = ReorderEventPoliciesRequest;\n    type eventsV2PolicyPolicies_universal_d_ReorderEventPoliciesRequestReferencePolicyOneOf = ReorderEventPoliciesRequestReferencePolicyOneOf;\n    type eventsV2PolicyPolicies_universal_d_ReorderEventPoliciesResponse = ReorderEventPoliciesResponse;\n    type eventsV2PolicyPolicies_universal_d_GetPolicyRequest = GetPolicyRequest;\n    type eventsV2PolicyPolicies_universal_d_GetPolicyResponse = GetPolicyResponse;\n    type eventsV2PolicyPolicies_universal_d_GetPolicyFromTrashBinRequest = GetPolicyFromTrashBinRequest;\n    type eventsV2PolicyPolicies_universal_d_GetPolicyFromTrashBinResponse = GetPolicyFromTrashBinResponse;\n    const eventsV2PolicyPolicies_universal_d_createPolicy: typeof createPolicy;\n    const eventsV2PolicyPolicies_universal_d_updatePolicy: typeof updatePolicy;\n    type eventsV2PolicyPolicies_universal_d_UpdatePolicy = UpdatePolicy;\n    type eventsV2PolicyPolicies_universal_d_UpdatePolicyOptions = UpdatePolicyOptions;\n    const eventsV2PolicyPolicies_universal_d_deletePolicy: typeof deletePolicy;\n    const eventsV2PolicyPolicies_universal_d_queryPolicies: typeof queryPolicies;\n    type eventsV2PolicyPolicies_universal_d_PoliciesQueryResult = PoliciesQueryResult;\n    type eventsV2PolicyPolicies_universal_d_PoliciesQueryBuilder = PoliciesQueryBuilder;\n    const eventsV2PolicyPolicies_universal_d_reorderEventPolicies: typeof reorderEventPolicies;\n    type eventsV2PolicyPolicies_universal_d_ReorderEventPoliciesOptions = ReorderEventPoliciesOptions;\n    const eventsV2PolicyPolicies_universal_d_getPolicy: typeof getPolicy;\n    namespace eventsV2PolicyPolicies_universal_d {\n        export { eventsV2PolicyPolicies_universal_d_Policy as Policy, eventsV2PolicyPolicies_universal_d_CreatePolicyRequest as CreatePolicyRequest, eventsV2PolicyPolicies_universal_d_CreatePolicyResponse as CreatePolicyResponse, eventsV2PolicyPolicies_universal_d_UpdatePolicyRequest as UpdatePolicyRequest, eventsV2PolicyPolicies_universal_d_UpdatePolicyResponse as UpdatePolicyResponse, eventsV2PolicyPolicies_universal_d_UpdatePolicySortIndexRequest as UpdatePolicySortIndexRequest, eventsV2PolicyPolicies_universal_d_UpdatePolicySortIndexResponse as UpdatePolicySortIndexResponse, eventsV2PolicyPolicies_universal_d_DeletePolicyRequest as DeletePolicyRequest, eventsV2PolicyPolicies_universal_d_DeletePolicyResponse as DeletePolicyResponse, eventsV2PolicyPolicies_universal_d_QueryPoliciesRequest as QueryPoliciesRequest, QueryV2$2 as QueryV2, QueryV2PagingMethodOneOf$2 as QueryV2PagingMethodOneOf, Sorting$2 as Sorting, SortOrder$2 as SortOrder, Paging$2 as Paging, CursorPaging$1 as CursorPaging, eventsV2PolicyPolicies_universal_d_QueryPoliciesResponse as QueryPoliciesResponse, PagingMetadataV2$2 as PagingMetadataV2, Cursors$2 as Cursors, eventsV2PolicyPolicies_universal_d_ReorderEventPoliciesRequest as ReorderEventPoliciesRequest, eventsV2PolicyPolicies_universal_d_ReorderEventPoliciesRequestReferencePolicyOneOf as ReorderEventPoliciesRequestReferencePolicyOneOf, eventsV2PolicyPolicies_universal_d_ReorderEventPoliciesResponse as ReorderEventPoliciesResponse, eventsV2PolicyPolicies_universal_d_GetPolicyRequest as GetPolicyRequest, eventsV2PolicyPolicies_universal_d_GetPolicyResponse as GetPolicyResponse, EventCopied$1 as EventCopied, Location$2 as Location, MapCoordinates$2 as MapCoordinates, LocationType$2 as LocationType, Address$2 as Address, AddressStreetOneOf$2 as AddressStreetOneOf, StreetAddress$2 as StreetAddress, AddressLocation$2 as AddressLocation, Subdivision$2 as Subdivision, SubdivisionType$2 as SubdivisionType, ScheduleConfig$2 as ScheduleConfig, Recurrences$2 as Recurrences, Occurrence$2 as Occurrence, Status$2 as Status, EventStatus$2 as EventStatus, Empty$1 as Empty, eventsV2PolicyPolicies_universal_d_GetPolicyFromTrashBinRequest as GetPolicyFromTrashBinRequest, eventsV2PolicyPolicies_universal_d_GetPolicyFromTrashBinResponse as GetPolicyFromTrashBinResponse, DomainEvent$2 as DomainEvent, DomainEventBodyOneOf$2 as DomainEventBodyOneOf, EntityCreatedEvent$2 as EntityCreatedEvent, EntityUpdatedEvent$2 as EntityUpdatedEvent, EntityDeletedEvent$2 as EntityDeletedEvent, ActionEvent$2 as ActionEvent, MessageEnvelope$2 as MessageEnvelope, IdentificationData$2 as IdentificationData, IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf, WebhookIdentityType$2 as WebhookIdentityType, eventsV2PolicyPolicies_universal_d_createPolicy as createPolicy, eventsV2PolicyPolicies_universal_d_updatePolicy as updatePolicy, eventsV2PolicyPolicies_universal_d_UpdatePolicy as UpdatePolicy, eventsV2PolicyPolicies_universal_d_UpdatePolicyOptions as UpdatePolicyOptions, eventsV2PolicyPolicies_universal_d_deletePolicy as deletePolicy, eventsV2PolicyPolicies_universal_d_queryPolicies as queryPolicies, eventsV2PolicyPolicies_universal_d_PoliciesQueryResult as PoliciesQueryResult, eventsV2PolicyPolicies_universal_d_PoliciesQueryBuilder as PoliciesQueryBuilder, eventsV2PolicyPolicies_universal_d_reorderEventPolicies as reorderEventPolicies, eventsV2PolicyPolicies_universal_d_ReorderEventPoliciesOptions as ReorderEventPoliciesOptions, eventsV2PolicyPolicies_universal_d_getPolicy as getPolicy, };\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        /**\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$1;\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        /** 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         * 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        /** 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         * 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$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 FormInputControlAdded {\n        /** Event ID to which the form belongs. */\n        eventId?: string;\n        /** Input control. */\n        inputControl?: InputControl$1;\n    }\n    interface FormInputControlUpdated {\n        /** Event ID to which the form belongs. */\n        eventId?: string;\n        /** Input control. */\n        updatedInputControl?: InputControl$1;\n    }\n    interface FormInputControlDeleted {\n        /** Event ID to which the form belongs. */\n        eventId?: string;\n        /** Input control. */\n        deletedInputControl?: InputControl$1;\n    }\n    interface GetFormRequest {\n        /** Event ID to which the form belongs. */\n        eventId: string;\n    }\n    enum RequestedFields$1 {\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$1;\n        /**\n         * Draft event form.\n         * Not available to visitors unless published.\n         */\n        draftForm?: Form$1;\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        /** 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        /** 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$1;\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$1;\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        /** 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        /** 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$1;\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$1;\n    }\n    interface UpdateMessagesRequest {\n        /** Event ID to which the form belongs. */\n        eventId: string;\n        /** Set of configured form messages. */\n        messages?: FormMessages$1;\n    }\n    interface UpdateMessagesResponse {\n        /** Modified draft event form. */\n        form?: Form$1;\n    }\n    interface PublishDraftRequest$1 {\n        /** Event ID to which the form belongs. */\n        eventId: string;\n    }\n    interface PublishDraftResponse$1 {\n        /** Published event form. */\n        form?: Form$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        /** Updated event */\n        event?: Event$1;\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$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 LocationType$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    }\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    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    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;\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    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$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?: 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$1[];\n        /** Visual settings for event. */\n        eventDisplaySettings?: EventDisplaySettings$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    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$1;\n        /**\n         * Price of highest priced ticket.\n         * @readonly\n         */\n        highestTicketPrice?: Money$1;\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        /** 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$1;\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$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 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 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?: Money$1;\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$1;\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    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$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 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$1[];\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$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    }\n    interface LabellingSettings$1 {\n    }\n    interface DiscardDraftRequest$1 {\n        /** Event ID to which the form belongs. */\n        eventId: string;\n    }\n    interface DiscardDraftResponse$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    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    interface EntityDeletedEvent$1 {\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 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     * @permissionScope Read Events - all read permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.READ-EVENTS\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Read Events\n     * @permissionScopeId SCOPE.DC-EVENTS.READ-EVENTS\n     * @permissionScope Manage Guest List\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-GUEST-LIST\n     * @permissionScope Manage Events\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-EVENTS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\n     * @returns Currently published event form.\n     * Published form is visible to site visitors.\n     */\n    function getForm(eventId: string, options?: GetFormOptions): Promise<Form$1>;\n    interface GetFormOptions {\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Events\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-EVENTS\n     * @applicableIdentity APP\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        /** 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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Events\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-EVENTS\n     * @applicableIdentity APP\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        /** 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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Events\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-EVENTS\n     * @applicableIdentity APP\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Events\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-EVENTS\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function updateMessages(eventId: string, options?: UpdateMessagesOptions): Promise<UpdateMessagesResponse>;\n    interface UpdateMessagesOptions {\n        /** Set of configured form messages. */\n        messages?: FormMessages$1;\n    }\n    /**\n     * Publishes the draft form.\n     * @public\n     * @requiredField eventId\n     * @param eventId - Event ID to which the form belongs.\n     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Events\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-EVENTS\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function publishDraft(eventId: string): Promise<PublishDraftResponse$1>;\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Events\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-EVENTS\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function discardDraft(eventId: string): Promise<void>;\n    type eventsV1FormForms_universal_d_FormInputControlAdded = FormInputControlAdded;\n    type eventsV1FormForms_universal_d_FormInputControlUpdated = FormInputControlUpdated;\n    type eventsV1FormForms_universal_d_FormInputControlDeleted = FormInputControlDeleted;\n    type eventsV1FormForms_universal_d_GetFormRequest = GetFormRequest;\n    type eventsV1FormForms_universal_d_GetFormResponse = GetFormResponse;\n    type eventsV1FormForms_universal_d_AddControlRequest = AddControlRequest;\n    type eventsV1FormForms_universal_d_AddControlRequestControlOneOf = AddControlRequestControlOneOf;\n    type eventsV1FormForms_universal_d_PhoneControl = PhoneControl;\n    type eventsV1FormForms_universal_d_AddressControl = AddressControl;\n    type eventsV1FormForms_universal_d_AddressControlLabels = AddressControlLabels;\n    type eventsV1FormForms_universal_d_DateControl = DateControl;\n    type eventsV1FormForms_universal_d_AdditionalGuestsControl = AdditionalGuestsControl;\n    type eventsV1FormForms_universal_d_Labels = Labels;\n    type eventsV1FormForms_universal_d_DropdownControl = DropdownControl;\n    type eventsV1FormForms_universal_d_RadioButtonControl = RadioButtonControl;\n    type eventsV1FormForms_universal_d_CheckboxControl = CheckboxControl;\n    type eventsV1FormForms_universal_d_TextControl = TextControl;\n    type eventsV1FormForms_universal_d_AddControlResponse = AddControlResponse;\n    type eventsV1FormForms_universal_d_UpdateControlRequest = UpdateControlRequest;\n    type eventsV1FormForms_universal_d_UpdateControlRequestControlOneOf = UpdateControlRequestControlOneOf;\n    type eventsV1FormForms_universal_d_NameControl = NameControl;\n    type eventsV1FormForms_universal_d_NameControlLabels = NameControlLabels;\n    type eventsV1FormForms_universal_d_EmailControl = EmailControl;\n    type eventsV1FormForms_universal_d_UpdateControlResponse = UpdateControlResponse;\n    type eventsV1FormForms_universal_d_DeleteControlRequest = DeleteControlRequest;\n    type eventsV1FormForms_universal_d_DeleteControlResponse = DeleteControlResponse;\n    type eventsV1FormForms_universal_d_UpdateMessagesRequest = UpdateMessagesRequest;\n    type eventsV1FormForms_universal_d_UpdateMessagesResponse = UpdateMessagesResponse;\n    const eventsV1FormForms_universal_d_getForm: typeof getForm;\n    type eventsV1FormForms_universal_d_GetFormOptions = GetFormOptions;\n    const eventsV1FormForms_universal_d_addControl: typeof addControl;\n    type eventsV1FormForms_universal_d_AddControlOptions = AddControlOptions;\n    const eventsV1FormForms_universal_d_updateControl: typeof updateControl;\n    type eventsV1FormForms_universal_d_UpdateControlIdentifiers = UpdateControlIdentifiers;\n    type eventsV1FormForms_universal_d_UpdateControlOptions = UpdateControlOptions;\n    const eventsV1FormForms_universal_d_deleteControl: typeof deleteControl;\n    type eventsV1FormForms_universal_d_DeleteControlIdentifiers = DeleteControlIdentifiers;\n    const eventsV1FormForms_universal_d_updateMessages: typeof updateMessages;\n    type eventsV1FormForms_universal_d_UpdateMessagesOptions = UpdateMessagesOptions;\n    const eventsV1FormForms_universal_d_publishDraft: typeof publishDraft;\n    const eventsV1FormForms_universal_d_discardDraft: typeof discardDraft;\n    namespace eventsV1FormForms_universal_d {\n        export { Form$1 as Form, InputControl$1 as InputControl, InputControlType$1 as InputControlType, Input$1 as Input, ValueType$1 as ValueType, OptionSelection$1 as OptionSelection, OptionSelectionSelectedOptionOneOf$1 as OptionSelectionSelectedOptionOneOf, Label$1 as Label, FormMessages$1 as FormMessages, RsvpFormMessages$1 as RsvpFormMessages, PositiveResponseConfirmation$1 as PositiveResponseConfirmation, NegativeResponseConfirmation$1 as NegativeResponseConfirmation, Positive$1 as Positive, Negative$1 as Negative, CheckoutFormMessages$1 as CheckoutFormMessages, ResponseConfirmation$1 as ResponseConfirmation, RegistrationClosedMessages$1 as RegistrationClosedMessages, TicketsUnavailableMessages$1 as TicketsUnavailableMessages, eventsV1FormForms_universal_d_FormInputControlAdded as FormInputControlAdded, eventsV1FormForms_universal_d_FormInputControlUpdated as FormInputControlUpdated, eventsV1FormForms_universal_d_FormInputControlDeleted as FormInputControlDeleted, eventsV1FormForms_universal_d_GetFormRequest as GetFormRequest, RequestedFields$1 as RequestedFields, eventsV1FormForms_universal_d_GetFormResponse as GetFormResponse, eventsV1FormForms_universal_d_AddControlRequest as AddControlRequest, eventsV1FormForms_universal_d_AddControlRequestControlOneOf as AddControlRequestControlOneOf, eventsV1FormForms_universal_d_PhoneControl as PhoneControl, eventsV1FormForms_universal_d_AddressControl as AddressControl, eventsV1FormForms_universal_d_AddressControlLabels as AddressControlLabels, eventsV1FormForms_universal_d_DateControl as DateControl, eventsV1FormForms_universal_d_AdditionalGuestsControl as AdditionalGuestsControl, eventsV1FormForms_universal_d_Labels as Labels, eventsV1FormForms_universal_d_DropdownControl as DropdownControl, eventsV1FormForms_universal_d_RadioButtonControl as RadioButtonControl, eventsV1FormForms_universal_d_CheckboxControl as CheckboxControl, eventsV1FormForms_universal_d_TextControl as TextControl, eventsV1FormForms_universal_d_AddControlResponse as AddControlResponse, eventsV1FormForms_universal_d_UpdateControlRequest as UpdateControlRequest, eventsV1FormForms_universal_d_UpdateControlRequestControlOneOf as UpdateControlRequestControlOneOf, eventsV1FormForms_universal_d_NameControl as NameControl, eventsV1FormForms_universal_d_NameControlLabels as NameControlLabels, eventsV1FormForms_universal_d_EmailControl as EmailControl, eventsV1FormForms_universal_d_UpdateControlResponse as UpdateControlResponse, eventsV1FormForms_universal_d_DeleteControlRequest as DeleteControlRequest, eventsV1FormForms_universal_d_DeleteControlResponse as DeleteControlResponse, eventsV1FormForms_universal_d_UpdateMessagesRequest as UpdateMessagesRequest, eventsV1FormForms_universal_d_UpdateMessagesResponse as UpdateMessagesResponse, PublishDraftRequest$1 as PublishDraftRequest, PublishDraftResponse$1 as PublishDraftResponse, EventUpdated$1 as EventUpdated, Location$1 as Location, MapCoordinates$1 as MapCoordinates, LocationType$1 as LocationType, Address$1 as Address, AddressStreetOneOf$1 as AddressStreetOneOf, StreetAddress$1 as StreetAddress, AddressLocation$1 as AddressLocation, Subdivision$1 as Subdivision, SubdivisionType$1 as SubdivisionType, ScheduleConfig$1 as ScheduleConfig, Recurrences$1 as Recurrences, Occurrence$1 as Occurrence, Status$1 as Status, Event$1 as Event, Scheduling$1 as Scheduling, EventStatus$1 as EventStatus, Registration$1 as Registration, EventType$1 as EventType, RegistrationStatus$1 as RegistrationStatus, RsvpCollection$1 as RsvpCollection, RsvpCollectionConfig$1 as RsvpCollectionConfig, RsvpStatusOptions$1 as RsvpStatusOptions, Ticketing$1 as Ticketing, TicketingConfig$1 as TicketingConfig, TaxConfig$1 as TaxConfig, TaxType$1 as TaxType, Money$1 as Money, ExternalEvent$1 as ExternalEvent, VisitorType$1 as VisitorType, CalendarLinks$1 as CalendarLinks, SiteUrl$1 as SiteUrl, Dashboard$1 as Dashboard, RsvpSummary$1 as RsvpSummary, TicketingSummary$1 as TicketingSummary, GuestListConfig$1 as GuestListConfig, Feed$1 as Feed, OnlineConferencing$1 as OnlineConferencing, OnlineConferencingConfig$1 as OnlineConferencingConfig, ConferenceType$1 as ConferenceType, OnlineConferencingSession$1 as OnlineConferencingSession, SeoSettings$1 as SeoSettings, SeoSchema$1 as SeoSchema, Keyword$1 as Keyword, Tag$1 as Tag, Settings$1 as Settings, Agenda$1 as Agenda, Category$1 as Category, CategoryCounts$1 as CategoryCounts, State$1 as State, EventDisplaySettings$1 as EventDisplaySettings, LabellingSettings$1 as LabellingSettings, DiscardDraftRequest$1 as DiscardDraftRequest, DiscardDraftResponse$1 as DiscardDraftResponse, DomainEvent$1 as DomainEvent, DomainEventBodyOneOf$1 as DomainEventBodyOneOf, EntityCreatedEvent$1 as EntityCreatedEvent, EntityUpdatedEvent$1 as EntityUpdatedEvent, EntityDeletedEvent$1 as EntityDeletedEvent, ActionEvent$1 as ActionEvent, MessageEnvelope$1 as MessageEnvelope, IdentificationData$1 as IdentificationData, IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf, WebhookIdentityType$1 as WebhookIdentityType, eventsV1FormForms_universal_d_getForm as getForm, eventsV1FormForms_universal_d_GetFormOptions as GetFormOptions, eventsV1FormForms_universal_d_addControl as addControl, eventsV1FormForms_universal_d_AddControlOptions as AddControlOptions, eventsV1FormForms_universal_d_updateControl as updateControl, eventsV1FormForms_universal_d_UpdateControlIdentifiers as UpdateControlIdentifiers, eventsV1FormForms_universal_d_UpdateControlOptions as UpdateControlOptions, eventsV1FormForms_universal_d_deleteControl as deleteControl, eventsV1FormForms_universal_d_DeleteControlIdentifiers as DeleteControlIdentifiers, eventsV1FormForms_universal_d_updateMessages as updateMessages, eventsV1FormForms_universal_d_UpdateMessagesOptions as UpdateMessagesOptions, eventsV1FormForms_universal_d_publishDraft as publishDraft, eventsV1FormForms_universal_d_discardDraft as discardDraft, };\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;\n        /**\n         * Date and time when the schedule item was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\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;\n        /** End of the interval. Non-inclusive. */\n        end?: Date;\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 was 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;\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         * @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$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         * @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$1>;\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$1;\n    }\n    interface FacetCounts$1 {\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    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 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    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 {\n        /** Event ID to which the schedule belongs. */\n        eventId: string;\n    }\n    interface DiscardDraftResponse {\n    }\n    interface PublishDraftRequest {\n        /** Event ID to which the schedule belongs. */\n        eventId: string;\n    }\n    interface PublishDraftResponse {\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 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     * @applicableIdentity MEMBER\n     */\n    function listBookmarks(eventId: string): Promise<ListBookmarksResponse>;\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     * @applicableIdentity MEMBER\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     * @applicableIdentity MEMBER\n     */\n    function deleteBookmark(itemId: string, eventId: string): Promise<void>;\n    type eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_ScheduleItem = ScheduleItem;\n    type eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_TimeInterval = TimeInterval;\n    type eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_ScheduleStatus = ScheduleStatus;\n    const eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_ScheduleStatus: typeof ScheduleStatus;\n    type eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_ListScheduleItemsRequest = ListScheduleItemsRequest;\n    type eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_StateFilter = StateFilter;\n    const eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_StateFilter: typeof StateFilter;\n    type eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_ListScheduleItemsResponse = ListScheduleItemsResponse;\n    type eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_QueryScheduleItemsRequest = QueryScheduleItemsRequest;\n    type eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_QueryScheduleItemsResponse = QueryScheduleItemsResponse;\n    type eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_GetScheduleItemRequest = GetScheduleItemRequest;\n    type eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_GetScheduleItemResponse = GetScheduleItemResponse;\n    type eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_AddScheduleItemRequest = AddScheduleItemRequest;\n    type eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_ScheduleItemData = ScheduleItemData;\n    type eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_AddScheduleItemResponse = AddScheduleItemResponse;\n    type eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_UpdateScheduleItemRequest = UpdateScheduleItemRequest;\n    type eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_UpdateScheduleItemResponse = UpdateScheduleItemResponse;\n    type eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_DeleteScheduleItemRequest = DeleteScheduleItemRequest;\n    type eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_DeleteScheduleItemResponse = DeleteScheduleItemResponse;\n    type eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_DiscardDraftRequest = DiscardDraftRequest;\n    type eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_DiscardDraftResponse = DiscardDraftResponse;\n    type eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_PublishDraftRequest = PublishDraftRequest;\n    type eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_PublishDraftResponse = PublishDraftResponse;\n    type eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_RescheduleDraftRequest = RescheduleDraftRequest;\n    type eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_RescheduleDraftResponse = RescheduleDraftResponse;\n    type eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_ListBookmarksRequest = ListBookmarksRequest;\n    type eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_ListBookmarksResponse = ListBookmarksResponse;\n    type eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_CreateBookmarkRequest = CreateBookmarkRequest;\n    type eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_CreateBookmarkResponse = CreateBookmarkResponse;\n    type eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_DeleteBookmarkRequest = DeleteBookmarkRequest;\n    type eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_DeleteBookmarkResponse = DeleteBookmarkResponse;\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 { eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_ScheduleItem as ScheduleItem, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_TimeInterval as TimeInterval, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_ScheduleStatus as ScheduleStatus, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_ListScheduleItemsRequest as ListScheduleItemsRequest, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_StateFilter as StateFilter, Paging$1 as Paging, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_ListScheduleItemsResponse as ListScheduleItemsResponse, FacetCounts$1 as FacetCounts, PagingMetadataV2$1 as PagingMetadataV2, Cursors$1 as Cursors, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_QueryScheduleItemsRequest as QueryScheduleItemsRequest, QueryV2$1 as QueryV2, QueryV2PagingMethodOneOf$1 as QueryV2PagingMethodOneOf, Sorting$1 as Sorting, SortOrder$1 as SortOrder, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_QueryScheduleItemsResponse as QueryScheduleItemsResponse, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_GetScheduleItemRequest as GetScheduleItemRequest, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_GetScheduleItemResponse as GetScheduleItemResponse, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_AddScheduleItemRequest as AddScheduleItemRequest, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_ScheduleItemData as ScheduleItemData, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_AddScheduleItemResponse as AddScheduleItemResponse, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_UpdateScheduleItemRequest as UpdateScheduleItemRequest, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_UpdateScheduleItemResponse as UpdateScheduleItemResponse, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_DeleteScheduleItemRequest as DeleteScheduleItemRequest, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_DeleteScheduleItemResponse as DeleteScheduleItemResponse, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_DiscardDraftRequest as DiscardDraftRequest, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_DiscardDraftResponse as DiscardDraftResponse, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_PublishDraftRequest as PublishDraftRequest, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_PublishDraftResponse as PublishDraftResponse, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_RescheduleDraftRequest as RescheduleDraftRequest, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_RescheduleDraftResponse as RescheduleDraftResponse, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_ListBookmarksRequest as ListBookmarksRequest, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_ListBookmarksResponse as ListBookmarksResponse, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_CreateBookmarkRequest as CreateBookmarkRequest, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_CreateBookmarkResponse as CreateBookmarkResponse, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_DeleteBookmarkRequest as DeleteBookmarkRequest, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_DeleteBookmarkResponse as DeleteBookmarkResponse, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_listBookmarks as listBookmarks, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_createBookmark as createBookmark, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_deleteBookmark as deleteBookmark, };\n    }\n    interface V3Event {\n        /**\n         * Event ID.\n         * @readonly\n         */\n        _id?: string;\n        /** Event location. */\n        location?: Location;\n        /** Event date and time settings. */\n        dateAndTimeSettings?: DateAndTimeSettings;\n        /** Event title. */\n        title?: string | null;\n        /** Short description that appears under the event title. */\n        shortDescription?: string | null;\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        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;\n        /**\n         * Date and time when the event was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\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;\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;\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;\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         * 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;\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;\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        /** Visual settings for event. */\n        eventDisplaySettings?: V3EventDisplaySettings;\n    }\n    interface Location {\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;\n        /** Exact location address. */\n        address?: CommonAddress;\n        /** Whether the event location is TBD. */\n        locationTbd?: boolean | null;\n    }\n    enum LocationType {\n        /** Default value. This value is unused. */\n        UNKNOWN_LOCATION = \"UNKNOWN_LOCATION\",\n        VENUE = \"VENUE\",\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    /** @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    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    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;\n        /** Event end date. */\n        endDate?: Date;\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;\n        /** Event repetitions. */\n        recurringEvents?: Recurrences;\n        /** Formatted date and time settings. */\n        formatted?: Formatted;\n    }\n    enum RecurrenceStatusStatus {\n        /** Default value. This value is unused. */\n        UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n        /** Event happens only once. */\n        ONE_TIME = \"ONE_TIME\",\n        /** Event is repeating and has a list of scheduled repetitions. */\n        RECURRING = \"RECURRING\",\n        /** An upcoming event from the list of repetitions. */\n        RECURRING_UPCOMING = \"RECURRING_UPCOMING\",\n        /** Latest ended event from the list of repetitions. */\n        RECURRING_RECENTLY_ENDED = \"RECURRING_RECENTLY_ENDED\",\n        /** Latest cancelled event from the list of repetitions. */\n        RECURRING_RECENTLY_CANCELED = \"RECURRING_RECENTLY_CANCELED\"\n    }\n    interface Recurrences {\n        /** Individual event dates info. */\n        individualEventDates?: Occurrence[];\n        /**\n         * Recurring event category ID.\n         * @readonly\n         */\n        categoryId?: string | null;\n    }\n    interface Occurrence {\n        /** Event start date. */\n        startDate?: Date;\n        /** Event end date. */\n        endDate?: Date;\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.\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 {\n        /** Default value. This value is unused */\n        UNKNOWN_EVENT_STATUS = \"UNKNOWN_EVENT_STATUS\",\n        /** Event is public 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 {\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        /** Default value. This value is unused */\n        UNKNOWN_REGISTRATION_TYPE = \"UNKNOWN_REGISTRATION_TYPE\",\n        /** Registration via RSVP */\n        RSVP = \"RSVP\",\n        /** Registration via ticket purchase */\n        TICKETING = \"TICKETING\",\n        /** External registration */\n        EXTERNAL = \"EXTERNAL\",\n        /** Registration not available */\n        NONE = \"NONE\"\n    }\n    enum RegistrationStatusStatus {\n        /** Registration status is not applicable */\n        UNKNOWN_REGISTRATION_STATUS = \"UNKNOWN_REGISTRATION_STATUS\",\n        /** Registration to event is closed */\n        CLOSED_AUTOMATICALLY = \"CLOSED_AUTOMATICALLY\",\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_ONLY = \"OPEN_RSVP_WAITLIST_ONLY\",\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 RsvpRegistration {\n        /**\n         * Available answers for registration to an event. Possible values:\n         * - `YES_ONLY`: Only a **Yes** answer is available to select when RSVP'ing to an event.\n         * - `YES_AND_NO`: Both **Yes** and **No** answers are available to select when RSVP'ing to an event.\n         */\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;\n        /** Registration end date. */\n        endDate?: Date;\n    }\n    enum ResponseType {\n        /** Default value. This value is unused. */\n        UNKNOWN_RESPONSE_TYPE = \"UNKNOWN_RESPONSE_TYPE\",\n        /** Only a **Yes** answer is available for the registration. */\n        YES_ONLY = \"YES_ONLY\",\n        /** *Yes** and **No** answers are available for the registration. */\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        /** Ticket price currency. */\n        currency?: string | null;\n        /**\n         * Lowest ticket price.\n         * @readonly\n         */\n        lowestPrice?: Money;\n        /**\n         * Highest ticket price.\n         * @readonly\n         */\n        highestPrice?: Money;\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 {\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 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 service fee of $0.25 and pays $10.25 in total.\n         */\n        type?: TaxType;\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    enum TaxType {\n        /** Default value. This value is unused. */\n        UNKNOWN_TAX_TYPE = \"UNKNOWN_TAX_TYPE\",\n        /** Tax is included in the ticket price */\n        INCLUDED_IN_PRICE = \"INCLUDED_IN_PRICE\",\n        /** Tax is added to the final total at the checkout */\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        /** Default value. This value is unused */\n        UNKNOWN_GUEST_TYPE = \"UNKNOWN_GUEST_TYPE\",\n        /** Site visitor or member */\n        VISITOR_OR_MEMBER = \"VISITOR_OR_MEMBER\",\n        /** Site member */\n        MEMBER = \"MEMBER\"\n    }\n    enum InitialRegistrationTypeType {\n        /** Default value. This value is unused */\n        UNKNOWN_INITIAL_REGISTRATION_TYPE = \"UNKNOWN_INITIAL_REGISTRATION_TYPE\",\n        /** Registration via RSVP */\n        RSVP = \"RSVP\",\n        /** Registration via ticket purchase */\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 {\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 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 {\n        /** Event discussion feed token. */\n        token?: string;\n    }\n    interface OnlineConferencing {\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         * 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;\n    }\n    enum ConferenceTypeType {\n        /** Default value. This value is unused */\n        UNKNOWN_CONFERENCE_TYPE = \"UNKNOWN_CONFERENCE_TYPE\",\n        /** Guests can publish and subscribe to 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 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 {\n        /** URL slug. */\n        slug?: string;\n        /** Advanced SEO data. */\n        advancedSeoData?: SeoSchema;\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 {\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        /** Who added the keyword to the 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 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;\n        /**\n         * Category is hidden.\n         * @readonly\n         */\n        hidden?: boolean;\n        /**\n         * Category type.\n         * @readonly\n         */\n        type?: Type;\n    }\n    enum Type {\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    }\n    interface LabellingSettings {\n    }\n    interface EventEventStarted {\n        /** Event schedule configuration. */\n        timestamp?: Date;\n        /** Event ID. */\n        eventId?: string;\n    }\n    interface EventEventEnded {\n        /** Event end timestamp in ISO UTC format. */\n        timestamp?: Date;\n        /** Event ID. */\n        eventId?: string;\n    }\n    interface EventEventReminder {\n        /** Reminder 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        dateAndTimeSettings?: DateAndTimeSettings;\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;\n        /** Event ID. */\n        eventId?: string;\n        /** Event status. */\n        status?: Status;\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;\n        /** Event date  and time settings. */\n        dateAndTimeSettings?: DateAndTimeSettings;\n        /** Event page URL components. */\n        eventPageUrl?: string;\n        /** RSVP or ticketing registration details. */\n        registration?: Registration;\n    }\n    interface EventCloned {\n        /** Event creation timestamp in ISO UTC format. */\n        timestamp?: Date;\n        /** Event ID. */\n        eventId?: string;\n        /** Event location. */\n        location?: Location;\n        /** Event date and time settings. */\n        dateAndTimeSettings?: DateAndTimeSettings;\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;\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;\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        /**\n         * Predefined sets of fields to return.\n         * - `DETAILS`: Returns `shortDescription`, `mainImage` and `calendarUrls`.\n         * - `TEXTS`: Returns `detailedDescription`.\n         * - `REGISTRATION`: Returns `registration`.\n         * - `URLS`: Returns `eventPageUrl`.\n         * - `FORM`: Returns `form`.\n         * - `DASHBOARD`: Returns `summaries`.\n         * - `ONLINE_CONFERENCING_SESSION`: Returns `onlineConferencing.session`.\n         * - `SEO_SETTINGS`: Returns `seoSettings`.\n         * - `AGENDA`: Returns `agendaSettings`.\n         * - `CATEGORIES`: Returns `categories`.\n         */\n        fields?: RequestedFields[];\n    }\n    enum RequestedFields {\n        UNKNOWN_REQUESTED_FIELD = \"UNKNOWN_REQUESTED_FIELD\",\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 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        /** Whether to clone the event as a draft. */\n        draft?: boolean;\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         * - `DETAILS`: Returns `shortDescription`, `mainImage` and `calendarUrls`.\n         * - `TEXTS`: Returns `detailedDescription`.\n         * - `REGISTRATION`: Returns `registration`.\n         * - `URLS`: Returns `eventPageUrl`.\n         * - `FORM`: Returns `form`.\n         * - `DASHBOARD`: Returns `summaries`.\n         * - `ONLINE_CONFERENCING_SESSION`: Returns `onlineConferencing.session`.\n         * - `SEO_SETTINGS`: Returns `seoSettings`.\n         * - `AGENDA`: Returns `agendaSettings`.\n         * - `CATEGORIES`: Returns `categories`.\n         */\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         * Predefined sets of fields to return. If both `fields` and `fieldsets` are sent in the request, the union of both lists is returned.\n         * - `DETAILS`: Returns `shortDescription`, `mainImage` and `calendarUrls`.\n         * - `TEXTS`: Returns `detailedDescription`.\n         * - `REGISTRATION`: Returns `registration`.\n         * - `URLS`: Returns `eventPageUrl`.\n         * - `FORM`: Returns `form`.\n         * - `DASHBOARD`: Returns `summaries`.\n         * - `ONLINE_CONFERENCING_SESSION`: Returns `onlineConferencing.session`.\n         * - `SEO_SETTINGS`: Returns `seoSettings`.\n         * - `AGENDA`: Returns `agendaSettings`.\n         * - `CATEGORIES`: Returns `categories`.\n         */\n        fields?: RequestedFields[];\n    }\n    interface UpdateEventResponse {\n        /** Updated event. */\n        event?: V3Event;\n    }\n    interface PublishDraftEventRequest {\n        /** Event ID. */\n        eventId: 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         * - `DETAILS`: Returns `shortDescription`, `mainImage` and `calendarUrls`.\n         * - `TEXTS`: Returns `detailedDescription`.\n         * - `REGISTRATION`: Returns `registration`.\n         * - `URLS`: Returns `eventPageUrl`.\n         * - `FORM`: Returns `form`.\n         * - `DASHBOARD`: Returns `summaries`.\n         * - `ONLINE_CONFERENCING_SESSION`: Returns `onlineConferencing.session`.\n         * - `SEO_SETTINGS`: Returns `seoSettings`.\n         * - `AGENDA`: Returns `agendaSettings`.\n         * - `CATEGORIES`: Returns `categories`.\n         */\n        fields?: RequestedFields[];\n    }\n    interface PublishDraftEventResponse {\n        /** Published event. */\n        event?: V3Event;\n    }\n    interface CancelEventRequest {\n        /** Event ID. */\n        eventId: 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         * - `DETAILS`: Returns `shortDescription`, `mainImage` and `calendarUrls`.\n         * - `TEXTS`: Returns `detailedDescription`.\n         * - `REGISTRATION`: Returns `registration`.\n         * - `URLS`: Returns `eventPageUrl`.\n         * - `FORM`: Returns `form`.\n         * - `DASHBOARD`: Returns `summaries`.\n         * - `ONLINE_CONFERENCING_SESSION`: Returns `onlineConferencing.session`.\n         * - `SEO_SETTINGS`: Returns `seoSettings`.\n         * - `AGENDA`: Returns `agendaSettings`.\n         * - `CATEGORIES`: Returns `categories`.\n         */\n        fields?: RequestedFields[];\n    }\n    interface CancelEventResponse {\n        /** Canceled event. */\n        event?: V3Event;\n    }\n    interface BulkCancelEventsByFilterRequest {\n        /** Filter. */\n        filter?: CommonQueryV2;\n    }\n    interface CommonQueryV2 extends CommonQueryV2PagingMethodOneOf {\n        /** Paging options. Can't be used together with `cursorPaging`. */\n        paging?: CommonPaging;\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?: CommonSorting[];\n    }\n    /** @oneof */\n    interface CommonQueryV2PagingMethodOneOf {\n        /** Paging options. Can't be used together with `cursorPaging`. */\n        paging?: CommonPaging;\n    }\n    interface CommonSorting {\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?: CommonSortOrder;\n    }\n    enum CommonSortOrder {\n        ASC = \"ASC\",\n        DESC = \"DESC\"\n    }\n    interface CommonPaging {\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?: CommonQueryV2;\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?: CommonQueryV2;\n        /**\n         * Predefined sets of fields to return.\n         * - `DETAILS`: Returns `shortDescription`, `mainImage` and `calendarUrls`.\n         * - `TEXTS`: Returns `detailedDescription`.\n         * - `REGISTRATION`: Returns `registration`.\n         * - `URLS`: Returns `eventPageUrl`.\n         * - `FORM`: Returns `form`.\n         * - `DASHBOARD`: Returns `summaries`.\n         * - `ONLINE_CONFERENCING_SESSION`: Returns `onlineConferencing.session`.\n         * - `SEO_SETTINGS`: Returns `seoSettings`.\n         * - `AGENDA`: Returns `agendaSettings`.\n         * - `CATEGORIES`: Returns `categories`.\n         */\n        fields?: RequestedFields[];\n        /**\n         * Whether draft events should be returned in the response. <br>\n         * **Note:** This parameter requires the `WIX_EVENTS.MANAGE_EVENTS` permission.\n         */\n        includeDrafts?: boolean;\n    }\n    interface QueryEventsResponse {\n        /** Metadata for the paginated results. */\n        pagingMetadata?: CommonPagingMetadataV2;\n        /** List of events. */\n        events?: V3Event[];\n    }\n    interface CommonPagingMetadataV2 {\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?: CommonCursors;\n    }\n    interface CommonCursors {\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?: 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    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 ExportEventsResponse {\n        /** Metadata for the paginated results. */\n        pagingMetadata?: PagingMetadataV2;\n        /** List of events. */\n        events?: V3Event[];\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 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.MANAGE_EVENTS` permission.\n         */\n        includeDrafts?: boolean;\n    }\n    interface CountEventsByStatusResponse {\n        /** Metadata for the paginated results. */\n        pagingMetadata?: CommonPagingMetadataV2;\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 ListUserEventsRequest {\n        /** Paging options to limit and skip the number of items. */\n        paging?: CommonPaging;\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?: CommonSorting[];\n        /** Event status. */\n        status?: Status[];\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 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 ListUserEventsResponse {\n        /** Metadata for the paginated results. */\n        pagingMetadata?: CommonPagingMetadataV2;\n        /** List of events. */\n        events?: V3Event[];\n        /** Filter facets. */\n        facets?: Record<string, FacetCounts>;\n    }\n    interface ListEventsByCategoryRequest {\n        /** Category ID. */\n        categoryId: string;\n        /** Paging options to limit and skip the number of items. */\n        paging?: CommonPaging;\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         * - `DETAILS`: Returns `shortDescription`, `mainImage`, and `calendarUrls`.\n         * - `TEXTS`: Returns `detailedDescription`.\n         * - `REGISTRATION`: Returns `registration`.\n         * - `URLS`: Returns `eventPageUrl`.\n         * - `FORM`: Returns `form`.\n         * - `DASHBOARD`: Returns `summaries`.\n         * - `ONLINE_CONFERENCING_SESSION`: Returns `onlineConferencing.session`.\n         * - `SEO_SETTINGS`: Returns `seoSettings`.\n         * - `AGENDA`: Returns `agendaSettings`.\n         * - `CATEGORIES`: Returns `categories`.\n         */\n        fields?: RequestedFields[];\n    }\n    interface ListEventsByCategoryResponse {\n        /** Metadata for the paginated results. */\n        pagingMetadata?: CommonPagingMetadataV2;\n        /** List of events. */\n        events?: V3Event[];\n    }\n    interface GetEventRequest {\n        /** Event ID. */\n        eventId: string | null;\n        /**\n         * Predefined sets of fields to return.\n         * - `DETAILS`: Returns `shortDescription`, `mainImage` and `calendarUrls`.\n         * - `TEXTS`: Returns `detailedDescription`.\n         * - `REGISTRATION`: Returns `registration`.\n         * - `URLS`: Returns `eventPageUrl`.\n         * - `FORM`: Returns `form`.\n         * - `DASHBOARD`: Returns `summaries`.\n         * - `ONLINE_CONFERENCING_SESSION`: Returns `onlineConferencing.session`.\n         * - `SEO_SETTINGS`: Returns `seoSettings`.\n         * - `AGENDA`: Returns `agendaSettings`.\n         * - `CATEGORIES`: Returns `categories`.\n         */\n        fields?: RequestedFields[];\n    }\n    interface GetEventResponse {\n        /** Event. */\n        event?: V3Event;\n    }\n    interface GetEventBySlugRequest {\n        /** URL slug. */\n        slug: string | null;\n        /**\n         * Predefined sets of fields to return.\n         * - `DETAILS`: Returns `shortDescription`, `mainImage` and `calendarUrls`.\n         * - `TEXTS`: Returns `detailedDescription`.\n         * - `REGISTRATION`: Returns `registration`.\n         * - `URLS`: Returns `eventPageUrl`.\n         * - `FORM`: Returns `form`.\n         * - `DASHBOARD`: Returns `summaries`.\n         * - `ONLINE_CONFERENCING_SESSION`: Returns `onlineConferencing.session`.\n         * - `SEO_SETTINGS`: Returns `seoSettings`.\n         * - `AGENDA`: Returns `agendaSettings`.\n         * - `CATEGORIES`: Returns `categories`.\n         */\n        fields?: RequestedFields[];\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        /**\n         * Predefined sets of fields to return.\n         * - `DETAILS`: Returns `shortDescription`, `mainImage` and `calendarUrls`.\n         * - `TEXTS`: Returns `detailedDescription`.\n         * - `REGISTRATION`: Returns `registration`.\n         * - `URLS`: Returns `eventPageUrl`.\n         * - `FORM`: Returns `form`.\n         * - `DASHBOARD`: Returns `summaries`.\n         * - `ONLINE_CONFERENCING_SESSION`: Returns `onlineConferencing.session`.\n         * - `SEO_SETTINGS`: Returns `seoSettings`.\n         * - `AGENDA`: Returns `agendaSettings`.\n         * - `CATEGORIES`: Returns `categories`.\n         */\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 {\n        /** Event created timestamp in ISO UTC format. */\n        timestamp?: Date;\n        /** Event ID. */\n        eventId?: string;\n        /** Event location. */\n        location?: EventsLocation;\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 EventsLocation {\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?: LocationLocationType;\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 LocationLocationType {\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    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    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?: 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;\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 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 {\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?: EventsLocation;\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?: EventsRegistration;\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?: 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;\n        /** Categories this event is assigned to. */\n        categories?: Category[];\n        /** Visual settings for event. */\n        eventDisplaySettings?: EventDisplaySettings;\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 EventsRegistration {\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        /**\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?: 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 {\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        /** Duration for which the tickets being bought are reserved. */\n        reservationDurationInMinutes?: number | null;\n    }\n    interface TaxConfig {\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 {\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    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?: 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 {\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;\n        session?: EventsOnlineConferencingSession;\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 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;\n        /**\n         * Hidden from SEO Site Map\n         * @readonly\n         */\n        hidden?: boolean | null;\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;\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?: State[];\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 State {\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 EventsLabellingSettings {\n    }\n    interface Empty {\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?: EventsLocation;\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        /** Updated event */\n        event?: Event;\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    interface EventCopied {\n        /** Event created timestamp in ISO UTC format. */\n        timestamp?: Date;\n        /** Event ID. */\n        eventId?: string;\n        /** Event location. */\n        location?: EventsLocation;\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 EventPublished {\n        /** Event publish timestamp in ISO UTC format. */\n        timestamp?: Date;\n        /** Event ID. */\n        eventId?: string;\n        /** Event status. */\n        status?: EventStatus;\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;\n        /** Event page URL components. */\n        eventPageUrl?: SiteUrl;\n        /** RSVP or ticketing registration details. */\n        registration?: EventsRegistration;\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 EventStarted {\n        /** Event start timestamp in ISO UTC format. */\n        timestamp?: Date;\n        /** Event ID. */\n        eventId?: string;\n    }\n    interface EventEnded {\n        /** Event end 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?: EventsLocation;\n        /** Event schedule configuration. */\n        scheduleConfig?: ScheduleConfig;\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 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        /** 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    interface EntityDeletedEvent {\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 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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Events\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-EVENTS\n     * @applicableIdentity APP\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        /**\n         * Predefined sets of fields to return.\n         * - `DETAILS`: Returns `shortDescription`, `mainImage` and `calendarUrls`.\n         * - `TEXTS`: Returns `detailedDescription`.\n         * - `REGISTRATION`: Returns `registration`.\n         * - `URLS`: Returns `eventPageUrl`.\n         * - `FORM`: Returns `form`.\n         * - `DASHBOARD`: Returns `summaries`.\n         * - `ONLINE_CONFERENCING_SESSION`: Returns `onlineConferencing.session`.\n         * - `SEO_SETTINGS`: Returns `seoSettings`.\n         * - `AGENDA`: Returns `agendaSettings`.\n         * - `CATEGORIES`: Returns `categories`.\n         */\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Events\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-EVENTS\n     * @applicableIdentity APP\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        /** Whether to clone the event as a draft. */\n        draft?: boolean;\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         * - `DETAILS`: Returns `shortDescription`, `mainImage` and `calendarUrls`.\n         * - `TEXTS`: Returns `detailedDescription`.\n         * - `REGISTRATION`: Returns `registration`.\n         * - `URLS`: Returns `eventPageUrl`.\n         * - `FORM`: Returns `form`.\n         * - `DASHBOARD`: Returns `summaries`.\n         * - `ONLINE_CONFERENCING_SESSION`: Returns `onlineConferencing.session`.\n         * - `SEO_SETTINGS`: Returns `seoSettings`.\n         * - `AGENDA`: Returns `agendaSettings`.\n         * - `CATEGORIES`: Returns `categories`.\n         */\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Events\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-EVENTS\n     * @applicableIdentity APP\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;\n            /** Event date and time settings. */\n            dateAndTimeSettings?: DateAndTimeSettings;\n            /** Event title. */\n            title?: string | null;\n            /** Short description that appears under the event title. */\n            shortDescription?: string | null;\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            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;\n            /**\n             * Date and time when the event was updated.\n             * @readonly\n             */\n            _updatedDate?: Date;\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;\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;\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;\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             * 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;\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;\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            /** Visual settings for event. */\n            eventDisplaySettings?: V3EventDisplaySettings;\n        };\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         * - `DETAILS`: Returns `shortDescription`, `mainImage` and `calendarUrls`.\n         * - `TEXTS`: Returns `detailedDescription`.\n         * - `REGISTRATION`: Returns `registration`.\n         * - `URLS`: Returns `eventPageUrl`.\n         * - `FORM`: Returns `form`.\n         * - `DASHBOARD`: Returns `summaries`.\n         * - `ONLINE_CONFERENCING_SESSION`: Returns `onlineConferencing.session`.\n         * - `SEO_SETTINGS`: Returns `seoSettings`.\n         * - `AGENDA`: Returns `agendaSettings`.\n         * - `CATEGORIES`: Returns `categories`.\n         */\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Events\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-EVENTS\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function publishDraftEvent(eventId: string, options?: PublishDraftEventOptions): Promise<PublishDraftEventResponse>;\n    interface PublishDraftEventOptions {\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         * - `DETAILS`: Returns `shortDescription`, `mainImage` and `calendarUrls`.\n         * - `TEXTS`: Returns `detailedDescription`.\n         * - `REGISTRATION`: Returns `registration`.\n         * - `URLS`: Returns `eventPageUrl`.\n         * - `FORM`: Returns `form`.\n         * - `DASHBOARD`: Returns `summaries`.\n         * - `ONLINE_CONFERENCING_SESSION`: Returns `onlineConferencing.session`.\n         * - `SEO_SETTINGS`: Returns `seoSettings`.\n         * - `AGENDA`: Returns `agendaSettings`.\n         * - `CATEGORIES`: Returns `categories`.\n         */\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Events\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-EVENTS\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function cancelEvent(eventId: string, options?: CancelEventOptions): Promise<CancelEventResponse>;\n    interface CancelEventOptions {\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         * - `DETAILS`: Returns `shortDescription`, `mainImage` and `calendarUrls`.\n         * - `TEXTS`: Returns `detailedDescription`.\n         * - `REGISTRATION`: Returns `registration`.\n         * - `URLS`: Returns `eventPageUrl`.\n         * - `FORM`: Returns `form`.\n         * - `DASHBOARD`: Returns `summaries`.\n         * - `ONLINE_CONFERENCING_SESSION`: Returns `onlineConferencing.session`.\n         * - `SEO_SETTINGS`: Returns `seoSettings`.\n         * - `AGENDA`: Returns `agendaSettings`.\n         * - `CATEGORIES`: Returns `categories`.\n         */\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Events\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-EVENTS\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function bulkCancelEventsByFilter(options?: BulkCancelEventsByFilterOptions): Promise<void>;\n    interface BulkCancelEventsByFilterOptions {\n        /** Filter. */\n        filter?: CommonQueryV2;\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Events\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-EVENTS\n     * @applicableIdentity APP\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     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Manage Events\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-EVENTS\n     * @applicableIdentity APP\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?: CommonQueryV2;\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     * @permissionScope Read Events - all read permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.READ-EVENTS\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Read Events\n     * @permissionScopeId SCOPE.DC-EVENTS.READ-EVENTS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage Guest List\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-GUEST-LIST\n     * @permissionScope Manage Events\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-EVENTS\n     * @permissionId WIX_EVENTS.READ_EVENTS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function queryEvents(options?: QueryEventsOptions): EventsQueryBuilder;\n    interface QueryEventsOptions {\n        /**\n         * Predefined sets of fields to return.\n         * - `DETAILS`: Returns `shortDescription`, `mainImage` and `calendarUrls`.\n         * - `TEXTS`: Returns `detailedDescription`.\n         * - `REGISTRATION`: Returns `registration`.\n         * - `URLS`: Returns `eventPageUrl`.\n         * - `FORM`: Returns `form`.\n         * - `DASHBOARD`: Returns `summaries`.\n         * - `ONLINE_CONFERENCING_SESSION`: Returns `onlineConferencing.session`.\n         * - `SEO_SETTINGS`: Returns `seoSettings`.\n         * - `AGENDA`: Returns `agendaSettings`.\n         * - `CATEGORIES`: Returns `categories`.\n         */\n        fields?: RequestedFields[] | undefined;\n        /**\n         * Whether draft events should be returned in the response. <br>\n         * **Note:** This parameter requires the `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: 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     * @permissionScope Read Events - all read permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.READ-EVENTS\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Read Events\n     * @permissionScopeId SCOPE.DC-EVENTS.READ-EVENTS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage Guest List\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-GUEST-LIST\n     * @permissionScope Manage Events\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-EVENTS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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.MANAGE_EVENTS` permission.\n         */\n        includeDrafts?: boolean;\n    }\n    interface ListEventsByCategoryOptions {\n        /** Paging options to limit and skip the number of items. */\n        paging?: CommonPaging;\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         * - `DETAILS`: Returns `shortDescription`, `mainImage`, and `calendarUrls`.\n         * - `TEXTS`: Returns `detailedDescription`.\n         * - `REGISTRATION`: Returns `registration`.\n         * - `URLS`: Returns `eventPageUrl`.\n         * - `FORM`: Returns `form`.\n         * - `DASHBOARD`: Returns `summaries`.\n         * - `ONLINE_CONFERENCING_SESSION`: Returns `onlineConferencing.session`.\n         * - `SEO_SETTINGS`: Returns `seoSettings`.\n         * - `AGENDA`: Returns `agendaSettings`.\n         * - `CATEGORIES`: Returns `categories`.\n         */\n        fields?: RequestedFields[];\n    }\n    /**\n     * Retrieves an event by ID.\n     * @param eventId - Event ID.\n     * @public\n     * @requiredField eventId\n     * @param options - Optional fields.\n     * @permissionId WIX_EVENTS.READ_EVENTS\n     * @permissionScope Read Events - all read permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.READ-EVENTS\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Read Events\n     * @permissionScopeId SCOPE.DC-EVENTS.READ-EVENTS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage Guest List\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-GUEST-LIST\n     * @permissionScope Manage Events\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-EVENTS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @returns Event.\n     */\n    function getEvent(eventId: string | null, options?: GetEventOptions): Promise<V3Event>;\n    interface GetEventOptions {\n        /**\n         * Predefined sets of fields to return.\n         * - `DETAILS`: Returns `shortDescription`, `mainImage` and `calendarUrls`.\n         * - `TEXTS`: Returns `detailedDescription`.\n         * - `REGISTRATION`: Returns `registration`.\n         * - `URLS`: Returns `eventPageUrl`.\n         * - `FORM`: Returns `form`.\n         * - `DASHBOARD`: Returns `summaries`.\n         * - `ONLINE_CONFERENCING_SESSION`: Returns `onlineConferencing.session`.\n         * - `SEO_SETTINGS`: Returns `seoSettings`.\n         * - `AGENDA`: Returns `agendaSettings`.\n         * - `CATEGORIES`: Returns `categories`.\n         */\n        fields?: RequestedFields[];\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     * @permissionScope Read Events - all read permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.READ-EVENTS\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Events - all permissions\n     * @permissionScopeId SCOPE.DC-EVENTS-MEGA.MANAGE-EVENTS\n     * @permissionScope Read Events\n     * @permissionScopeId SCOPE.DC-EVENTS.READ-EVENTS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage Guest List\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-GUEST-LIST\n     * @permissionScope Manage Events\n     * @permissionScopeId SCOPE.DC-EVENTS.MANAGE-EVENTS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function getEventBySlug(slug: string | null, options?: GetEventBySlugOptions): Promise<GetEventBySlugResponse>;\n    interface GetEventBySlugOptions {\n        /**\n         * Predefined sets of fields to return.\n         * - `DETAILS`: Returns `shortDescription`, `mainImage` and `calendarUrls`.\n         * - `TEXTS`: Returns `detailedDescription`.\n         * - `REGISTRATION`: Returns `registration`.\n         * - `URLS`: Returns `eventPageUrl`.\n         * - `FORM`: Returns `form`.\n         * - `DASHBOARD`: Returns `summaries`.\n         * - `ONLINE_CONFERENCING_SESSION`: Returns `onlineConferencing.session`.\n         * - `SEO_SETTINGS`: Returns `seoSettings`.\n         * - `AGENDA`: Returns `agendaSettings`.\n         * - `CATEGORIES`: Returns `categories`.\n         */\n        fields?: RequestedFields[];\n    }\n    interface FindEventOptions extends FindEventRequestFindByOneOf {\n        /** Event ID. */\n        eventId?: string | null;\n        /** URL slug. */\n        slug?: string | null;\n        /**\n         * Predefined sets of fields to return.\n         * - `DETAILS`: Returns `shortDescription`, `mainImage` and `calendarUrls`.\n         * - `TEXTS`: Returns `detailedDescription`.\n         * - `REGISTRATION`: Returns `registration`.\n         * - `URLS`: Returns `eventPageUrl`.\n         * - `FORM`: Returns `form`.\n         * - `DASHBOARD`: Returns `summaries`.\n         * - `ONLINE_CONFERENCING_SESSION`: Returns `onlineConferencing.session`.\n         * - `SEO_SETTINGS`: Returns `seoSettings`.\n         * - `AGENDA`: Returns `agendaSettings`.\n         * - `CATEGORIES`: Returns `categories`.\n         */\n        fields?: RequestedFields[];\n    }\n    type eventsV3EventWixEventsV2_universal_d_V3Event = V3Event;\n    type eventsV3EventWixEventsV2_universal_d_Location = Location;\n    type eventsV3EventWixEventsV2_universal_d_LocationType = LocationType;\n    const eventsV3EventWixEventsV2_universal_d_LocationType: typeof LocationType;\n    type eventsV3EventWixEventsV2_universal_d_CommonAddress = CommonAddress;\n    type eventsV3EventWixEventsV2_universal_d_CommonAddressStreetOneOf = CommonAddressStreetOneOf;\n    type eventsV3EventWixEventsV2_universal_d_CommonStreetAddress = CommonStreetAddress;\n    type eventsV3EventWixEventsV2_universal_d_CommonAddressLocation = CommonAddressLocation;\n    type eventsV3EventWixEventsV2_universal_d_CommonSubdivision = CommonSubdivision;\n    type eventsV3EventWixEventsV2_universal_d_SubdivisionSubdivisionType = SubdivisionSubdivisionType;\n    const eventsV3EventWixEventsV2_universal_d_SubdivisionSubdivisionType: typeof SubdivisionSubdivisionType;\n    type eventsV3EventWixEventsV2_universal_d_DateAndTimeSettings = DateAndTimeSettings;\n    type eventsV3EventWixEventsV2_universal_d_RecurrenceStatusStatus = RecurrenceStatusStatus;\n    const eventsV3EventWixEventsV2_universal_d_RecurrenceStatusStatus: typeof RecurrenceStatusStatus;\n    type eventsV3EventWixEventsV2_universal_d_Recurrences = Recurrences;\n    type eventsV3EventWixEventsV2_universal_d_Occurrence = Occurrence;\n    type eventsV3EventWixEventsV2_universal_d_Formatted = Formatted;\n    type eventsV3EventWixEventsV2_universal_d_TimeDuration = TimeDuration;\n    type eventsV3EventWixEventsV2_universal_d_Status = Status;\n    const eventsV3EventWixEventsV2_universal_d_Status: typeof Status;\n    type eventsV3EventWixEventsV2_universal_d_Registration = Registration;\n    type eventsV3EventWixEventsV2_universal_d_RegistrationTypeType = RegistrationTypeType;\n    const eventsV3EventWixEventsV2_universal_d_RegistrationTypeType: typeof RegistrationTypeType;\n    type eventsV3EventWixEventsV2_universal_d_RegistrationStatusStatus = RegistrationStatusStatus;\n    const eventsV3EventWixEventsV2_universal_d_RegistrationStatusStatus: typeof RegistrationStatusStatus;\n    type eventsV3EventWixEventsV2_universal_d_RsvpRegistration = RsvpRegistration;\n    type eventsV3EventWixEventsV2_universal_d_ResponseType = ResponseType;\n    const eventsV3EventWixEventsV2_universal_d_ResponseType: typeof ResponseType;\n    type eventsV3EventWixEventsV2_universal_d_TicketsRegistration = TicketsRegistration;\n    type eventsV3EventWixEventsV2_universal_d_Money = Money;\n    type eventsV3EventWixEventsV2_universal_d_TaxSettings = TaxSettings;\n    type eventsV3EventWixEventsV2_universal_d_TaxType = TaxType;\n    const eventsV3EventWixEventsV2_universal_d_TaxType: typeof TaxType;\n    type eventsV3EventWixEventsV2_universal_d_ExternalRegistration = ExternalRegistration;\n    type eventsV3EventWixEventsV2_universal_d_GuestTypeType = GuestTypeType;\n    const eventsV3EventWixEventsV2_universal_d_GuestTypeType: typeof GuestTypeType;\n    type eventsV3EventWixEventsV2_universal_d_InitialRegistrationTypeType = InitialRegistrationTypeType;\n    const eventsV3EventWixEventsV2_universal_d_InitialRegistrationTypeType: typeof InitialRegistrationTypeType;\n    type eventsV3EventWixEventsV2_universal_d_CalendarUrls = CalendarUrls;\n    type eventsV3EventWixEventsV2_universal_d_Form = Form;\n    type eventsV3EventWixEventsV2_universal_d_InputControl = InputControl;\n    type eventsV3EventWixEventsV2_universal_d_InputControlType = InputControlType;\n    const eventsV3EventWixEventsV2_universal_d_InputControlType: typeof InputControlType;\n    type eventsV3EventWixEventsV2_universal_d_Input = Input;\n    type eventsV3EventWixEventsV2_universal_d_ValueType = ValueType;\n    const eventsV3EventWixEventsV2_universal_d_ValueType: typeof ValueType;\n    type eventsV3EventWixEventsV2_universal_d_OptionSelection = OptionSelection;\n    type eventsV3EventWixEventsV2_universal_d_OptionSelectionSelectedOptionOneOf = OptionSelectionSelectedOptionOneOf;\n    type eventsV3EventWixEventsV2_universal_d_Label = Label;\n    type eventsV3EventWixEventsV2_universal_d_FormMessages = FormMessages;\n    type eventsV3EventWixEventsV2_universal_d_RsvpFormMessages = RsvpFormMessages;\n    type eventsV3EventWixEventsV2_universal_d_PositiveResponseConfirmation = PositiveResponseConfirmation;\n    type eventsV3EventWixEventsV2_universal_d_NegativeResponseConfirmation = NegativeResponseConfirmation;\n    type eventsV3EventWixEventsV2_universal_d_Positive = Positive;\n    type eventsV3EventWixEventsV2_universal_d_Negative = Negative;\n    type eventsV3EventWixEventsV2_universal_d_CheckoutFormMessages = CheckoutFormMessages;\n    type eventsV3EventWixEventsV2_universal_d_ResponseConfirmation = ResponseConfirmation;\n    type eventsV3EventWixEventsV2_universal_d_RegistrationClosedMessages = RegistrationClosedMessages;\n    type eventsV3EventWixEventsV2_universal_d_TicketsUnavailableMessages = TicketsUnavailableMessages;\n    type eventsV3EventWixEventsV2_universal_d_Summaries = Summaries;\n    type eventsV3EventWixEventsV2_universal_d_EventsMoney = EventsMoney;\n    type eventsV3EventWixEventsV2_universal_d_Rsvps = Rsvps;\n    type eventsV3EventWixEventsV2_universal_d_Tickets = Tickets;\n    type eventsV3EventWixEventsV2_universal_d_GuestListSettings = GuestListSettings;\n    type eventsV3EventWixEventsV2_universal_d_Feed = Feed;\n    type eventsV3EventWixEventsV2_universal_d_OnlineConferencing = OnlineConferencing;\n    type eventsV3EventWixEventsV2_universal_d_ConferenceTypeType = ConferenceTypeType;\n    const eventsV3EventWixEventsV2_universal_d_ConferenceTypeType: typeof ConferenceTypeType;\n    type eventsV3EventWixEventsV2_universal_d_OnlineConferencingSession = OnlineConferencingSession;\n    type eventsV3EventWixEventsV2_universal_d_SeoSettings = SeoSettings;\n    type eventsV3EventWixEventsV2_universal_d_SeoSchema = SeoSchema;\n    type eventsV3EventWixEventsV2_universal_d_Keyword = Keyword;\n    type eventsV3EventWixEventsV2_universal_d_Tag = Tag;\n    type eventsV3EventWixEventsV2_universal_d_Settings = Settings;\n    type eventsV3EventWixEventsV2_universal_d_AgendaSettings = AgendaSettings;\n    type eventsV3EventWixEventsV2_universal_d_EventCategories = EventCategories;\n    type eventsV3EventWixEventsV2_universal_d_EventCategory = EventCategory;\n    type eventsV3EventWixEventsV2_universal_d_Type = Type;\n    const eventsV3EventWixEventsV2_universal_d_Type: typeof Type;\n    type eventsV3EventWixEventsV2_universal_d_V3EventDisplaySettings = V3EventDisplaySettings;\n    type eventsV3EventWixEventsV2_universal_d_LabellingSettings = LabellingSettings;\n    type eventsV3EventWixEventsV2_universal_d_EventEventStarted = EventEventStarted;\n    type eventsV3EventWixEventsV2_universal_d_EventEventEnded = EventEventEnded;\n    type eventsV3EventWixEventsV2_universal_d_EventEventReminder = EventEventReminder;\n    type eventsV3EventWixEventsV2_universal_d_EventEventPublished = EventEventPublished;\n    type eventsV3EventWixEventsV2_universal_d_EventCloned = EventCloned;\n    type eventsV3EventWixEventsV2_universal_d_EventEventCanceled = EventEventCanceled;\n    type eventsV3EventWixEventsV2_universal_d_CreateEventRequest = CreateEventRequest;\n    type eventsV3EventWixEventsV2_universal_d_RequestedFields = RequestedFields;\n    const eventsV3EventWixEventsV2_universal_d_RequestedFields: typeof RequestedFields;\n    type eventsV3EventWixEventsV2_universal_d_CreateEventResponse = CreateEventResponse;\n    type eventsV3EventWixEventsV2_universal_d_CloneEventRequest = CloneEventRequest;\n    type eventsV3EventWixEventsV2_universal_d_CloneEventResponse = CloneEventResponse;\n    type eventsV3EventWixEventsV2_universal_d_UpdateEventRequest = UpdateEventRequest;\n    type eventsV3EventWixEventsV2_universal_d_UpdateEventResponse = UpdateEventResponse;\n    type eventsV3EventWixEventsV2_universal_d_PublishDraftEventRequest = PublishDraftEventRequest;\n    type eventsV3EventWixEventsV2_universal_d_PublishDraftEventResponse = PublishDraftEventResponse;\n    type eventsV3EventWixEventsV2_universal_d_CancelEventRequest = CancelEventRequest;\n    type eventsV3EventWixEventsV2_universal_d_CancelEventResponse = CancelEventResponse;\n    type eventsV3EventWixEventsV2_universal_d_BulkCancelEventsByFilterRequest = BulkCancelEventsByFilterRequest;\n    type eventsV3EventWixEventsV2_universal_d_CommonQueryV2 = CommonQueryV2;\n    type eventsV3EventWixEventsV2_universal_d_CommonQueryV2PagingMethodOneOf = CommonQueryV2PagingMethodOneOf;\n    type eventsV3EventWixEventsV2_universal_d_CommonSorting = CommonSorting;\n    type eventsV3EventWixEventsV2_universal_d_CommonSortOrder = CommonSortOrder;\n    const eventsV3EventWixEventsV2_universal_d_CommonSortOrder: typeof CommonSortOrder;\n    type eventsV3EventWixEventsV2_universal_d_CommonPaging = CommonPaging;\n    type eventsV3EventWixEventsV2_universal_d_BulkCancelEventsByFilterResponse = BulkCancelEventsByFilterResponse;\n    type eventsV3EventWixEventsV2_universal_d_DeleteEventRequest = DeleteEventRequest;\n    type eventsV3EventWixEventsV2_universal_d_DeleteEventResponse = DeleteEventResponse;\n    type eventsV3EventWixEventsV2_universal_d_BulkDeleteEventsByFilterRequest = BulkDeleteEventsByFilterRequest;\n    type eventsV3EventWixEventsV2_universal_d_BulkDeleteEventsByFilterResponse = BulkDeleteEventsByFilterResponse;\n    type eventsV3EventWixEventsV2_universal_d_QueryEventsRequest = QueryEventsRequest;\n    type eventsV3EventWixEventsV2_universal_d_QueryEventsResponse = QueryEventsResponse;\n    type eventsV3EventWixEventsV2_universal_d_CommonPagingMetadataV2 = CommonPagingMetadataV2;\n    type eventsV3EventWixEventsV2_universal_d_CommonCursors = CommonCursors;\n    type eventsV3EventWixEventsV2_universal_d_ExportEventsRequest = ExportEventsRequest;\n    type eventsV3EventWixEventsV2_universal_d_QueryV2 = QueryV2;\n    type eventsV3EventWixEventsV2_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n    type eventsV3EventWixEventsV2_universal_d_Sorting = Sorting;\n    type eventsV3EventWixEventsV2_universal_d_SortOrder = SortOrder;\n    const eventsV3EventWixEventsV2_universal_d_SortOrder: typeof SortOrder;\n    type eventsV3EventWixEventsV2_universal_d_Paging = Paging;\n    type eventsV3EventWixEventsV2_universal_d_CursorPaging = CursorPaging;\n    type eventsV3EventWixEventsV2_universal_d_ExportEventsResponse = ExportEventsResponse;\n    type eventsV3EventWixEventsV2_universal_d_PagingMetadataV2 = PagingMetadataV2;\n    type eventsV3EventWixEventsV2_universal_d_Cursors = Cursors;\n    type eventsV3EventWixEventsV2_universal_d_CountEventsByStatusRequest = CountEventsByStatusRequest;\n    type eventsV3EventWixEventsV2_universal_d_CountEventsByStatusResponse = CountEventsByStatusResponse;\n    type eventsV3EventWixEventsV2_universal_d_FacetCounts = FacetCounts;\n    type eventsV3EventWixEventsV2_universal_d_ListUserEventsRequest = ListUserEventsRequest;\n    type eventsV3EventWixEventsV2_universal_d_UserFilter = UserFilter;\n    type eventsV3EventWixEventsV2_universal_d_Relation = Relation;\n    const eventsV3EventWixEventsV2_universal_d_Relation: typeof Relation;\n    type eventsV3EventWixEventsV2_universal_d_ListUserEventsResponse = ListUserEventsResponse;\n    type eventsV3EventWixEventsV2_universal_d_ListEventsByCategoryRequest = ListEventsByCategoryRequest;\n    type eventsV3EventWixEventsV2_universal_d_ListEventsByCategoryResponse = ListEventsByCategoryResponse;\n    type eventsV3EventWixEventsV2_universal_d_GetEventRequest = GetEventRequest;\n    type eventsV3EventWixEventsV2_universal_d_GetEventResponse = GetEventResponse;\n    type eventsV3EventWixEventsV2_universal_d_GetEventBySlugRequest = GetEventBySlugRequest;\n    type eventsV3EventWixEventsV2_universal_d_GetEventBySlugResponse = GetEventBySlugResponse;\n    type eventsV3EventWixEventsV2_universal_d_FindEventRequest = FindEventRequest;\n    type eventsV3EventWixEventsV2_universal_d_FindEventRequestFindByOneOf = FindEventRequestFindByOneOf;\n    type eventsV3EventWixEventsV2_universal_d_FindEventResponse = FindEventResponse;\n    type eventsV3EventWixEventsV2_universal_d_EventCreated = EventCreated;\n    type eventsV3EventWixEventsV2_universal_d_EventsLocation = EventsLocation;\n    type eventsV3EventWixEventsV2_universal_d_MapCoordinates = MapCoordinates;\n    type eventsV3EventWixEventsV2_universal_d_LocationLocationType = LocationLocationType;\n    const eventsV3EventWixEventsV2_universal_d_LocationLocationType: typeof LocationLocationType;\n    type eventsV3EventWixEventsV2_universal_d_Address = Address;\n    type eventsV3EventWixEventsV2_universal_d_AddressStreetOneOf = AddressStreetOneOf;\n    type eventsV3EventWixEventsV2_universal_d_StreetAddress = StreetAddress;\n    type eventsV3EventWixEventsV2_universal_d_AddressLocation = AddressLocation;\n    type eventsV3EventWixEventsV2_universal_d_Subdivision = Subdivision;\n    type eventsV3EventWixEventsV2_universal_d_SubdivisionType = SubdivisionType;\n    const eventsV3EventWixEventsV2_universal_d_SubdivisionType: typeof SubdivisionType;\n    type eventsV3EventWixEventsV2_universal_d_ScheduleConfig = ScheduleConfig;\n    type eventsV3EventWixEventsV2_universal_d_EventsRecurrences = EventsRecurrences;\n    type eventsV3EventWixEventsV2_universal_d_EventsOccurrence = EventsOccurrence;\n    type eventsV3EventWixEventsV2_universal_d_EventsRecurrenceStatusStatus = EventsRecurrenceStatusStatus;\n    const eventsV3EventWixEventsV2_universal_d_EventsRecurrenceStatusStatus: typeof EventsRecurrenceStatusStatus;\n    type eventsV3EventWixEventsV2_universal_d_EventStatus = EventStatus;\n    const eventsV3EventWixEventsV2_universal_d_EventStatus: typeof EventStatus;\n    type eventsV3EventWixEventsV2_universal_d_Event = Event;\n    type eventsV3EventWixEventsV2_universal_d_Scheduling = Scheduling;\n    type eventsV3EventWixEventsV2_universal_d_EventsRegistration = EventsRegistration;\n    type eventsV3EventWixEventsV2_universal_d_EventType = EventType;\n    const eventsV3EventWixEventsV2_universal_d_EventType: typeof EventType;\n    type eventsV3EventWixEventsV2_universal_d_RegistrationStatus = RegistrationStatus;\n    const eventsV3EventWixEventsV2_universal_d_RegistrationStatus: typeof RegistrationStatus;\n    type eventsV3EventWixEventsV2_universal_d_RsvpCollection = RsvpCollection;\n    type eventsV3EventWixEventsV2_universal_d_RsvpCollectionConfig = RsvpCollectionConfig;\n    type eventsV3EventWixEventsV2_universal_d_RsvpStatusOptions = RsvpStatusOptions;\n    const eventsV3EventWixEventsV2_universal_d_RsvpStatusOptions: typeof RsvpStatusOptions;\n    type eventsV3EventWixEventsV2_universal_d_Ticketing = Ticketing;\n    type eventsV3EventWixEventsV2_universal_d_TicketingConfig = TicketingConfig;\n    type eventsV3EventWixEventsV2_universal_d_TaxConfig = TaxConfig;\n    type eventsV3EventWixEventsV2_universal_d_EventsTaxType = EventsTaxType;\n    const eventsV3EventWixEventsV2_universal_d_EventsTaxType: typeof EventsTaxType;\n    type eventsV3EventWixEventsV2_universal_d_ExternalEvent = ExternalEvent;\n    type eventsV3EventWixEventsV2_universal_d_VisitorType = VisitorType;\n    const eventsV3EventWixEventsV2_universal_d_VisitorType: typeof VisitorType;\n    type eventsV3EventWixEventsV2_universal_d_CalendarLinks = CalendarLinks;\n    type eventsV3EventWixEventsV2_universal_d_SiteUrl = SiteUrl;\n    type eventsV3EventWixEventsV2_universal_d_Dashboard = Dashboard;\n    type eventsV3EventWixEventsV2_universal_d_RsvpSummary = RsvpSummary;\n    type eventsV3EventWixEventsV2_universal_d_TicketingSummary = TicketingSummary;\n    type eventsV3EventWixEventsV2_universal_d_GuestListConfig = GuestListConfig;\n    type eventsV3EventWixEventsV2_universal_d_EventsFeed = EventsFeed;\n    type eventsV3EventWixEventsV2_universal_d_EventsOnlineConferencing = EventsOnlineConferencing;\n    type eventsV3EventWixEventsV2_universal_d_OnlineConferencingConfig = OnlineConferencingConfig;\n    type eventsV3EventWixEventsV2_universal_d_ConferenceType = ConferenceType;\n    const eventsV3EventWixEventsV2_universal_d_ConferenceType: typeof ConferenceType;\n    type eventsV3EventWixEventsV2_universal_d_EventsOnlineConferencingSession = EventsOnlineConferencingSession;\n    type eventsV3EventWixEventsV2_universal_d_EventsSeoSettings = EventsSeoSettings;\n    type eventsV3EventWixEventsV2_universal_d_Agenda = Agenda;\n    type eventsV3EventWixEventsV2_universal_d_Category = Category;\n    type eventsV3EventWixEventsV2_universal_d_CategoryCounts = CategoryCounts;\n    type eventsV3EventWixEventsV2_universal_d_State = State;\n    const eventsV3EventWixEventsV2_universal_d_State: typeof State;\n    type eventsV3EventWixEventsV2_universal_d_EventDisplaySettings = EventDisplaySettings;\n    type eventsV3EventWixEventsV2_universal_d_EventsLabellingSettings = EventsLabellingSettings;\n    type eventsV3EventWixEventsV2_universal_d_Empty = Empty;\n    type eventsV3EventWixEventsV2_universal_d_EventUpdated = EventUpdated;\n    type eventsV3EventWixEventsV2_universal_d_EventDeleted = EventDeleted;\n    type eventsV3EventWixEventsV2_universal_d_EventCopied = EventCopied;\n    type eventsV3EventWixEventsV2_universal_d_EventPublished = EventPublished;\n    type eventsV3EventWixEventsV2_universal_d_EventCanceled = EventCanceled;\n    type eventsV3EventWixEventsV2_universal_d_EventStarted = EventStarted;\n    type eventsV3EventWixEventsV2_universal_d_EventEnded = EventEnded;\n    type eventsV3EventWixEventsV2_universal_d_EventReminder = EventReminder;\n    type eventsV3EventWixEventsV2_universal_d_DomainEvent = DomainEvent;\n    type eventsV3EventWixEventsV2_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n    type eventsV3EventWixEventsV2_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n    type eventsV3EventWixEventsV2_universal_d_RestoreInfo = RestoreInfo;\n    type eventsV3EventWixEventsV2_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n    type eventsV3EventWixEventsV2_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n    type eventsV3EventWixEventsV2_universal_d_ActionEvent = ActionEvent;\n    type eventsV3EventWixEventsV2_universal_d_MessageEnvelope = MessageEnvelope;\n    type eventsV3EventWixEventsV2_universal_d_IdentificationData = IdentificationData;\n    type eventsV3EventWixEventsV2_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n    type eventsV3EventWixEventsV2_universal_d_WebhookIdentityType = WebhookIdentityType;\n    const eventsV3EventWixEventsV2_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n    const eventsV3EventWixEventsV2_universal_d_createEvent: typeof createEvent;\n    type eventsV3EventWixEventsV2_universal_d_CreateEventOptions = CreateEventOptions;\n    const eventsV3EventWixEventsV2_universal_d_cloneEvent: typeof cloneEvent;\n    type eventsV3EventWixEventsV2_universal_d_CloneEventOptions = CloneEventOptions;\n    const eventsV3EventWixEventsV2_universal_d_updateEvent: typeof updateEvent;\n    type eventsV3EventWixEventsV2_universal_d_UpdateEventOptions = UpdateEventOptions;\n    const eventsV3EventWixEventsV2_universal_d_publishDraftEvent: typeof publishDraftEvent;\n    type eventsV3EventWixEventsV2_universal_d_PublishDraftEventOptions = PublishDraftEventOptions;\n    const eventsV3EventWixEventsV2_universal_d_cancelEvent: typeof cancelEvent;\n    type eventsV3EventWixEventsV2_universal_d_CancelEventOptions = CancelEventOptions;\n    const eventsV3EventWixEventsV2_universal_d_bulkCancelEventsByFilter: typeof bulkCancelEventsByFilter;\n    type eventsV3EventWixEventsV2_universal_d_BulkCancelEventsByFilterOptions = BulkCancelEventsByFilterOptions;\n    const eventsV3EventWixEventsV2_universal_d_deleteEvent: typeof deleteEvent;\n    const eventsV3EventWixEventsV2_universal_d_bulkDeleteEventsByFilter: typeof bulkDeleteEventsByFilter;\n    type eventsV3EventWixEventsV2_universal_d_BulkDeleteEventsByFilterOptions = BulkDeleteEventsByFilterOptions;\n    const eventsV3EventWixEventsV2_universal_d_queryEvents: typeof queryEvents;\n    type eventsV3EventWixEventsV2_universal_d_QueryEventsOptions = QueryEventsOptions;\n    type eventsV3EventWixEventsV2_universal_d_EventsQueryResult = EventsQueryResult;\n    type eventsV3EventWixEventsV2_universal_d_EventsQueryBuilder = EventsQueryBuilder;\n    const eventsV3EventWixEventsV2_universal_d_countEventsByStatus: typeof countEventsByStatus;\n    type eventsV3EventWixEventsV2_universal_d_CountEventsByStatusOptions = CountEventsByStatusOptions;\n    type eventsV3EventWixEventsV2_universal_d_ListEventsByCategoryOptions = ListEventsByCategoryOptions;\n    const eventsV3EventWixEventsV2_universal_d_getEvent: typeof getEvent;\n    type eventsV3EventWixEventsV2_universal_d_GetEventOptions = GetEventOptions;\n    const eventsV3EventWixEventsV2_universal_d_getEventBySlug: typeof getEventBySlug;\n    type eventsV3EventWixEventsV2_universal_d_GetEventBySlugOptions = GetEventBySlugOptions;\n    type eventsV3EventWixEventsV2_universal_d_FindEventOptions = FindEventOptions;\n    namespace eventsV3EventWixEventsV2_universal_d {\n        export { eventsV3EventWixEventsV2_universal_d_V3Event as V3Event, eventsV3EventWixEventsV2_universal_d_Location as Location, eventsV3EventWixEventsV2_universal_d_LocationType as LocationType, eventsV3EventWixEventsV2_universal_d_CommonAddress as CommonAddress, eventsV3EventWixEventsV2_universal_d_CommonAddressStreetOneOf as CommonAddressStreetOneOf, eventsV3EventWixEventsV2_universal_d_CommonStreetAddress as CommonStreetAddress, eventsV3EventWixEventsV2_universal_d_CommonAddressLocation as CommonAddressLocation, eventsV3EventWixEventsV2_universal_d_CommonSubdivision as CommonSubdivision, eventsV3EventWixEventsV2_universal_d_SubdivisionSubdivisionType as SubdivisionSubdivisionType, eventsV3EventWixEventsV2_universal_d_DateAndTimeSettings as DateAndTimeSettings, eventsV3EventWixEventsV2_universal_d_RecurrenceStatusStatus as RecurrenceStatusStatus, eventsV3EventWixEventsV2_universal_d_Recurrences as Recurrences, eventsV3EventWixEventsV2_universal_d_Occurrence as Occurrence, eventsV3EventWixEventsV2_universal_d_Formatted as Formatted, eventsV3EventWixEventsV2_universal_d_TimeDuration as TimeDuration, eventsV3EventWixEventsV2_universal_d_Status as Status, eventsV3EventWixEventsV2_universal_d_Registration as Registration, eventsV3EventWixEventsV2_universal_d_RegistrationTypeType as RegistrationTypeType, eventsV3EventWixEventsV2_universal_d_RegistrationStatusStatus as RegistrationStatusStatus, eventsV3EventWixEventsV2_universal_d_RsvpRegistration as RsvpRegistration, eventsV3EventWixEventsV2_universal_d_ResponseType as ResponseType, eventsV3EventWixEventsV2_universal_d_TicketsRegistration as TicketsRegistration, eventsV3EventWixEventsV2_universal_d_Money as Money, eventsV3EventWixEventsV2_universal_d_TaxSettings as TaxSettings, eventsV3EventWixEventsV2_universal_d_TaxType as TaxType, eventsV3EventWixEventsV2_universal_d_ExternalRegistration as ExternalRegistration, eventsV3EventWixEventsV2_universal_d_GuestTypeType as GuestTypeType, eventsV3EventWixEventsV2_universal_d_InitialRegistrationTypeType as InitialRegistrationTypeType, eventsV3EventWixEventsV2_universal_d_CalendarUrls as CalendarUrls, eventsV3EventWixEventsV2_universal_d_Form as Form, eventsV3EventWixEventsV2_universal_d_InputControl as InputControl, eventsV3EventWixEventsV2_universal_d_InputControlType as InputControlType, eventsV3EventWixEventsV2_universal_d_Input as Input, eventsV3EventWixEventsV2_universal_d_ValueType as ValueType, eventsV3EventWixEventsV2_universal_d_OptionSelection as OptionSelection, eventsV3EventWixEventsV2_universal_d_OptionSelectionSelectedOptionOneOf as OptionSelectionSelectedOptionOneOf, eventsV3EventWixEventsV2_universal_d_Label as Label, eventsV3EventWixEventsV2_universal_d_FormMessages as FormMessages, eventsV3EventWixEventsV2_universal_d_RsvpFormMessages as RsvpFormMessages, eventsV3EventWixEventsV2_universal_d_PositiveResponseConfirmation as PositiveResponseConfirmation, eventsV3EventWixEventsV2_universal_d_NegativeResponseConfirmation as NegativeResponseConfirmation, eventsV3EventWixEventsV2_universal_d_Positive as Positive, eventsV3EventWixEventsV2_universal_d_Negative as Negative, eventsV3EventWixEventsV2_universal_d_CheckoutFormMessages as CheckoutFormMessages, eventsV3EventWixEventsV2_universal_d_ResponseConfirmation as ResponseConfirmation, eventsV3EventWixEventsV2_universal_d_RegistrationClosedMessages as RegistrationClosedMessages, eventsV3EventWixEventsV2_universal_d_TicketsUnavailableMessages as TicketsUnavailableMessages, eventsV3EventWixEventsV2_universal_d_Summaries as Summaries, eventsV3EventWixEventsV2_universal_d_EventsMoney as EventsMoney, eventsV3EventWixEventsV2_universal_d_Rsvps as Rsvps, eventsV3EventWixEventsV2_universal_d_Tickets as Tickets, eventsV3EventWixEventsV2_universal_d_GuestListSettings as GuestListSettings, eventsV3EventWixEventsV2_universal_d_Feed as Feed, eventsV3EventWixEventsV2_universal_d_OnlineConferencing as OnlineConferencing, eventsV3EventWixEventsV2_universal_d_ConferenceTypeType as ConferenceTypeType, eventsV3EventWixEventsV2_universal_d_OnlineConferencingSession as OnlineConferencingSession, eventsV3EventWixEventsV2_universal_d_SeoSettings as SeoSettings, eventsV3EventWixEventsV2_universal_d_SeoSchema as SeoSchema, eventsV3EventWixEventsV2_universal_d_Keyword as Keyword, eventsV3EventWixEventsV2_universal_d_Tag as Tag, eventsV3EventWixEventsV2_universal_d_Settings as Settings, eventsV3EventWixEventsV2_universal_d_AgendaSettings as AgendaSettings, eventsV3EventWixEventsV2_universal_d_EventCategories as EventCategories, eventsV3EventWixEventsV2_universal_d_EventCategory as EventCategory, eventsV3EventWixEventsV2_universal_d_Type as Type, eventsV3EventWixEventsV2_universal_d_V3EventDisplaySettings as V3EventDisplaySettings, eventsV3EventWixEventsV2_universal_d_LabellingSettings as LabellingSettings, eventsV3EventWixEventsV2_universal_d_EventEventStarted as EventEventStarted, eventsV3EventWixEventsV2_universal_d_EventEventEnded as EventEventEnded, eventsV3EventWixEventsV2_universal_d_EventEventReminder as EventEventReminder, eventsV3EventWixEventsV2_universal_d_EventEventPublished as EventEventPublished, eventsV3EventWixEventsV2_universal_d_EventCloned as EventCloned, eventsV3EventWixEventsV2_universal_d_EventEventCanceled as EventEventCanceled, eventsV3EventWixEventsV2_universal_d_CreateEventRequest as CreateEventRequest, eventsV3EventWixEventsV2_universal_d_RequestedFields as RequestedFields, eventsV3EventWixEventsV2_universal_d_CreateEventResponse as CreateEventResponse, eventsV3EventWixEventsV2_universal_d_CloneEventRequest as CloneEventRequest, eventsV3EventWixEventsV2_universal_d_CloneEventResponse as CloneEventResponse, eventsV3EventWixEventsV2_universal_d_UpdateEventRequest as UpdateEventRequest, eventsV3EventWixEventsV2_universal_d_UpdateEventResponse as UpdateEventResponse, eventsV3EventWixEventsV2_universal_d_PublishDraftEventRequest as PublishDraftEventRequest, eventsV3EventWixEventsV2_universal_d_PublishDraftEventResponse as PublishDraftEventResponse, eventsV3EventWixEventsV2_universal_d_CancelEventRequest as CancelEventRequest, eventsV3EventWixEventsV2_universal_d_CancelEventResponse as CancelEventResponse, eventsV3EventWixEventsV2_universal_d_BulkCancelEventsByFilterRequest as BulkCancelEventsByFilterRequest, eventsV3EventWixEventsV2_universal_d_CommonQueryV2 as CommonQueryV2, eventsV3EventWixEventsV2_universal_d_CommonQueryV2PagingMethodOneOf as CommonQueryV2PagingMethodOneOf, eventsV3EventWixEventsV2_universal_d_CommonSorting as CommonSorting, eventsV3EventWixEventsV2_universal_d_CommonSortOrder as CommonSortOrder, eventsV3EventWixEventsV2_universal_d_CommonPaging as CommonPaging, eventsV3EventWixEventsV2_universal_d_BulkCancelEventsByFilterResponse as BulkCancelEventsByFilterResponse, eventsV3EventWixEventsV2_universal_d_DeleteEventRequest as DeleteEventRequest, eventsV3EventWixEventsV2_universal_d_DeleteEventResponse as DeleteEventResponse, eventsV3EventWixEventsV2_universal_d_BulkDeleteEventsByFilterRequest as BulkDeleteEventsByFilterRequest, eventsV3EventWixEventsV2_universal_d_BulkDeleteEventsByFilterResponse as BulkDeleteEventsByFilterResponse, eventsV3EventWixEventsV2_universal_d_QueryEventsRequest as QueryEventsRequest, eventsV3EventWixEventsV2_universal_d_QueryEventsResponse as QueryEventsResponse, eventsV3EventWixEventsV2_universal_d_CommonPagingMetadataV2 as CommonPagingMetadataV2, eventsV3EventWixEventsV2_universal_d_CommonCursors as CommonCursors, eventsV3EventWixEventsV2_universal_d_ExportEventsRequest as ExportEventsRequest, eventsV3EventWixEventsV2_universal_d_QueryV2 as QueryV2, eventsV3EventWixEventsV2_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf, eventsV3EventWixEventsV2_universal_d_Sorting as Sorting, eventsV3EventWixEventsV2_universal_d_SortOrder as SortOrder, eventsV3EventWixEventsV2_universal_d_Paging as Paging, eventsV3EventWixEventsV2_universal_d_CursorPaging as CursorPaging, eventsV3EventWixEventsV2_universal_d_ExportEventsResponse as ExportEventsResponse, eventsV3EventWixEventsV2_universal_d_PagingMetadataV2 as PagingMetadataV2, eventsV3EventWixEventsV2_universal_d_Cursors as Cursors, eventsV3EventWixEventsV2_universal_d_CountEventsByStatusRequest as CountEventsByStatusRequest, eventsV3EventWixEventsV2_universal_d_CountEventsByStatusResponse as CountEventsByStatusResponse, eventsV3EventWixEventsV2_universal_d_FacetCounts as FacetCounts, eventsV3EventWixEventsV2_universal_d_ListUserEventsRequest as ListUserEventsRequest, eventsV3EventWixEventsV2_universal_d_UserFilter as UserFilter, eventsV3EventWixEventsV2_universal_d_Relation as Relation, eventsV3EventWixEventsV2_universal_d_ListUserEventsResponse as ListUserEventsResponse, eventsV3EventWixEventsV2_universal_d_ListEventsByCategoryRequest as ListEventsByCategoryRequest, eventsV3EventWixEventsV2_universal_d_ListEventsByCategoryResponse as ListEventsByCategoryResponse, eventsV3EventWixEventsV2_universal_d_GetEventRequest as GetEventRequest, eventsV3EventWixEventsV2_universal_d_GetEventResponse as GetEventResponse, eventsV3EventWixEventsV2_universal_d_GetEventBySlugRequest as GetEventBySlugRequest, eventsV3EventWixEventsV2_universal_d_GetEventBySlugResponse as GetEventBySlugResponse, eventsV3EventWixEventsV2_universal_d_FindEventRequest as FindEventRequest, eventsV3EventWixEventsV2_universal_d_FindEventRequestFindByOneOf as FindEventRequestFindByOneOf, eventsV3EventWixEventsV2_universal_d_FindEventResponse as FindEventResponse, eventsV3EventWixEventsV2_universal_d_EventCreated as EventCreated, eventsV3EventWixEventsV2_universal_d_EventsLocation as EventsLocation, eventsV3EventWixEventsV2_universal_d_MapCoordinates as MapCoordinates, eventsV3EventWixEventsV2_universal_d_LocationLocationType as LocationLocationType, eventsV3EventWixEventsV2_universal_d_Address as Address, eventsV3EventWixEventsV2_universal_d_AddressStreetOneOf as AddressStreetOneOf, eventsV3EventWixEventsV2_universal_d_StreetAddress as StreetAddress, eventsV3EventWixEventsV2_universal_d_AddressLocation as AddressLocation, eventsV3EventWixEventsV2_universal_d_Subdivision as Subdivision, eventsV3EventWixEventsV2_universal_d_SubdivisionType as SubdivisionType, eventsV3EventWixEventsV2_universal_d_ScheduleConfig as ScheduleConfig, eventsV3EventWixEventsV2_universal_d_EventsRecurrences as EventsRecurrences, eventsV3EventWixEventsV2_universal_d_EventsOccurrence as EventsOccurrence, eventsV3EventWixEventsV2_universal_d_EventsRecurrenceStatusStatus as EventsRecurrenceStatusStatus, eventsV3EventWixEventsV2_universal_d_EventStatus as EventStatus, eventsV3EventWixEventsV2_universal_d_Event as Event, eventsV3EventWixEventsV2_universal_d_Scheduling as Scheduling, eventsV3EventWixEventsV2_universal_d_EventsRegistration as EventsRegistration, eventsV3EventWixEventsV2_universal_d_EventType as EventType, eventsV3EventWixEventsV2_universal_d_RegistrationStatus as RegistrationStatus, eventsV3EventWixEventsV2_universal_d_RsvpCollection as RsvpCollection, eventsV3EventWixEventsV2_universal_d_RsvpCollectionConfig as RsvpCollectionConfig, eventsV3EventWixEventsV2_universal_d_RsvpStatusOptions as RsvpStatusOptions, eventsV3EventWixEventsV2_universal_d_Ticketing as Ticketing, eventsV3EventWixEventsV2_universal_d_TicketingConfig as TicketingConfig, eventsV3EventWixEventsV2_universal_d_TaxConfig as TaxConfig, eventsV3EventWixEventsV2_universal_d_EventsTaxType as EventsTaxType, eventsV3EventWixEventsV2_universal_d_ExternalEvent as ExternalEvent, eventsV3EventWixEventsV2_universal_d_VisitorType as VisitorType, eventsV3EventWixEventsV2_universal_d_CalendarLinks as CalendarLinks, eventsV3EventWixEventsV2_universal_d_SiteUrl as SiteUrl, eventsV3EventWixEventsV2_universal_d_Dashboard as Dashboard, eventsV3EventWixEventsV2_universal_d_RsvpSummary as RsvpSummary, eventsV3EventWixEventsV2_universal_d_TicketingSummary as TicketingSummary, eventsV3EventWixEventsV2_universal_d_GuestListConfig as GuestListConfig, eventsV3EventWixEventsV2_universal_d_EventsFeed as EventsFeed, eventsV3EventWixEventsV2_universal_d_EventsOnlineConferencing as EventsOnlineConferencing, eventsV3EventWixEventsV2_universal_d_OnlineConferencingConfig as OnlineConferencingConfig, eventsV3EventWixEventsV2_universal_d_ConferenceType as ConferenceType, eventsV3EventWixEventsV2_universal_d_EventsOnlineConferencingSession as EventsOnlineConferencingSession, eventsV3EventWixEventsV2_universal_d_EventsSeoSettings as EventsSeoSettings, eventsV3EventWixEventsV2_universal_d_Agenda as Agenda, eventsV3EventWixEventsV2_universal_d_Category as Category, eventsV3EventWixEventsV2_universal_d_CategoryCounts as CategoryCounts, eventsV3EventWixEventsV2_universal_d_State as State, eventsV3EventWixEventsV2_universal_d_EventDisplaySettings as EventDisplaySettings, eventsV3EventWixEventsV2_universal_d_EventsLabellingSettings as EventsLabellingSettings, eventsV3EventWixEventsV2_universal_d_Empty as Empty, eventsV3EventWixEventsV2_universal_d_EventUpdated as EventUpdated, eventsV3EventWixEventsV2_universal_d_EventDeleted as EventDeleted, eventsV3EventWixEventsV2_universal_d_EventCopied as EventCopied, eventsV3EventWixEventsV2_universal_d_EventPublished as EventPublished, eventsV3EventWixEventsV2_universal_d_EventCanceled as EventCanceled, eventsV3EventWixEventsV2_universal_d_EventStarted as EventStarted, eventsV3EventWixEventsV2_universal_d_EventEnded as EventEnded, eventsV3EventWixEventsV2_universal_d_EventReminder as EventReminder, eventsV3EventWixEventsV2_universal_d_DomainEvent as DomainEvent, eventsV3EventWixEventsV2_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf, eventsV3EventWixEventsV2_universal_d_EntityCreatedEvent as EntityCreatedEvent, eventsV3EventWixEventsV2_universal_d_RestoreInfo as RestoreInfo, eventsV3EventWixEventsV2_universal_d_EntityUpdatedEvent as EntityUpdatedEvent, eventsV3EventWixEventsV2_universal_d_EntityDeletedEvent as EntityDeletedEvent, eventsV3EventWixEventsV2_universal_d_ActionEvent as ActionEvent, eventsV3EventWixEventsV2_universal_d_MessageEnvelope as MessageEnvelope, eventsV3EventWixEventsV2_universal_d_IdentificationData as IdentificationData, eventsV3EventWixEventsV2_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf, eventsV3EventWixEventsV2_universal_d_WebhookIdentityType as WebhookIdentityType, eventsV3EventWixEventsV2_universal_d_createEvent as createEvent, eventsV3EventWixEventsV2_universal_d_CreateEventOptions as CreateEventOptions, eventsV3EventWixEventsV2_universal_d_cloneEvent as cloneEvent, eventsV3EventWixEventsV2_universal_d_CloneEventOptions as CloneEventOptions, eventsV3EventWixEventsV2_universal_d_updateEvent as updateEvent, eventsV3EventWixEventsV2_universal_d_UpdateEventOptions as UpdateEventOptions, eventsV3EventWixEventsV2_universal_d_publishDraftEvent as publishDraftEvent, eventsV3EventWixEventsV2_universal_d_PublishDraftEventOptions as PublishDraftEventOptions, eventsV3EventWixEventsV2_universal_d_cancelEvent as cancelEvent, eventsV3EventWixEventsV2_universal_d_CancelEventOptions as CancelEventOptions, eventsV3EventWixEventsV2_universal_d_bulkCancelEventsByFilter as bulkCancelEventsByFilter, eventsV3EventWixEventsV2_universal_d_BulkCancelEventsByFilterOptions as BulkCancelEventsByFilterOptions, eventsV3EventWixEventsV2_universal_d_deleteEvent as deleteEvent, eventsV3EventWixEventsV2_universal_d_bulkDeleteEventsByFilter as bulkDeleteEventsByFilter, eventsV3EventWixEventsV2_universal_d_BulkDeleteEventsByFilterOptions as BulkDeleteEventsByFilterOptions, eventsV3EventWixEventsV2_universal_d_queryEvents as queryEvents, eventsV3EventWixEventsV2_universal_d_QueryEventsOptions as QueryEventsOptions, eventsV3EventWixEventsV2_universal_d_EventsQueryResult as EventsQueryResult, eventsV3EventWixEventsV2_universal_d_EventsQueryBuilder as EventsQueryBuilder, eventsV3EventWixEventsV2_universal_d_countEventsByStatus as countEventsByStatus, eventsV3EventWixEventsV2_universal_d_CountEventsByStatusOptions as CountEventsByStatusOptions, eventsV3EventWixEventsV2_universal_d_ListEventsByCategoryOptions as ListEventsByCategoryOptions, eventsV3EventWixEventsV2_universal_d_getEvent as getEvent, eventsV3EventWixEventsV2_universal_d_GetEventOptions as GetEventOptions, eventsV3EventWixEventsV2_universal_d_getEventBySlug as getEventBySlug, eventsV3EventWixEventsV2_universal_d_GetEventBySlugOptions as GetEventBySlugOptions, eventsV3EventWixEventsV2_universal_d_FindEventOptions as FindEventOptions, };\n    }\n    export { eventsV1CategoryCategories_universal_d as categories, eventsV1FormForms_universal_d as forms, eventsGuestsV1GuestGuests_universal_d as guests, eventsV1OrderOrders_universal_d as orders, eventsV2PolicyPolicies_universal_d as policies, eventsV1RsvpRsvp_universal_d as rsvp, eventsScheduleV1ScheduleItemSchedule_universal_d as schedule, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d as scheduleBookmarks, eventsV1TicketDefinitionTicketDefinitions_universal_d as ticketDefinitions, eventsV3TicketDefinitionTicketDefinitionsV2_universal_d as ticketDefinitionsV2, eventsV1TicketTickets_universal_d as tickets, eventsV3EventWixEventsV2_universal_d as wixEventsV2 };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-inbox.v2.d.ts",
      "content": "declare module \"wix-inbox.v2\" {\n    const __debug$1: {\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$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        /**\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         * 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    }\n    /** @oneof */\n    interface IdentificationDataIdOneOf$1 {\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$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    }\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$1;\n        /** only message time is supported for field name */\n        sorting?: Sorting$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 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    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 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    /**\n     * Retrieves a conversation by conversation ID.\n     *\n     * If you don't have the conversation ID,\n     * use [`getOrCreateConversation()`](#get-or-create-conversation)\n     * to retrieve the conversation with the visitor, contact, or member ID.\n     *\n     *\n     * This function is not a universal function and runs only on the backend.\n     * @param conversationId - Conversation ID.\n     * @public\n     * @documentationMaturity preview\n     * @requiredField conversationId\n     * @adminMethod\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     *\n     * This function is not a universal function and runs only on the backend.\n     * @param participantId - ID of the visitor, contact, or member chatting with the business.\n     *\n     * Required for 3rd-party apps.\n     * @public\n     * @documentationMaturity preview\n     * @requiredField participantId\n     * @adminMethod\n     */\n    function getOrCreateConversation(participantId: ParticipantId): Promise<GetOrCreateConversationResponse>;\n    interface ListConversationsOptions {\n        paging?: CursorPaging$1;\n        /** only message time is supported for field name */\n        sorting?: Sorting$1;\n    }\n    interface AddConversationChannelsOptions {\n        conversationChannels?: ConversationChannel[];\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    const crmInboxV2Conversation_universal_d_getConversation: typeof getConversation;\n    const crmInboxV2Conversation_universal_d_getOrCreateConversation: typeof getOrCreateConversation;\n    type crmInboxV2Conversation_universal_d_ListConversationsOptions = ListConversationsOptions;\n    type crmInboxV2Conversation_universal_d_AddConversationChannelsOptions = AddConversationChannelsOptions;\n    namespace crmInboxV2Conversation_universal_d {\n        export { __debug$1 as __debug, crmInboxV2Conversation_universal_d_Conversation as Conversation, IdentificationData$1 as IdentificationData, IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf, ChannelType$1 as ChannelType, crmInboxV2Conversation_universal_d_ConversationDisplayData as ConversationDisplayData, crmInboxV2Conversation_universal_d_ConversationsMerged as ConversationsMerged, crmInboxV2Conversation_universal_d_GetConversationRequest as GetConversationRequest, crmInboxV2Conversation_universal_d_GetConversationResponse as GetConversationResponse, crmInboxV2Conversation_universal_d_GetOrCreateConversationRequest as GetOrCreateConversationRequest, crmInboxV2Conversation_universal_d_ParticipantId as ParticipantId, crmInboxV2Conversation_universal_d_ParticipantIdIdOneOf as ParticipantIdIdOneOf, crmInboxV2Conversation_universal_d_GetOrCreateConversationResponse as GetOrCreateConversationResponse, crmInboxV2Conversation_universal_d_ListConversationsRequest as ListConversationsRequest, CursorPaging$1 as CursorPaging, Sorting$1 as Sorting, SortOrder$1 as SortOrder, crmInboxV2Conversation_universal_d_ListConversationsResponse as ListConversationsResponse, PagingMetadataV2$1 as PagingMetadataV2, Cursors$1 as Cursors, crmInboxV2Conversation_universal_d_DeleteConversationRequest as DeleteConversationRequest, crmInboxV2Conversation_universal_d_DeleteConversationResponse as DeleteConversationResponse, crmInboxV2Conversation_universal_d_AddConversationChannelsRequest as AddConversationChannelsRequest, crmInboxV2Conversation_universal_d_ConversationChannel as ConversationChannel, crmInboxV2Conversation_universal_d_AddConversationChannelsResponse as AddConversationChannelsResponse, crmInboxV2Conversation_universal_d_ChatroomsMerged as ChatroomsMerged, Empty$1 as Empty, crmInboxV2Conversation_universal_d_getConversation as getConversation, crmInboxV2Conversation_universal_d_getOrCreateConversation as getOrCreateConversation, crmInboxV2Conversation_universal_d_ListConversationsOptions as ListConversationsOptions, crmInboxV2Conversation_universal_d_AddConversationChannelsOptions as AddConversationChannelsOptions, };\n    }\n    const __debug: {\n        verboseLogging: {\n            on: () => boolean;\n            off: () => boolean;\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\n         * using the property that matches their identity type.\n         * For 3rd-party apps, defaults to using the app's `appId`.\n         *\n         * You can override the default behavior when calling\n         * [`sendMessage()`](#sendmessage)\n         * by using the `sendAs` option.\n         *\n         * @readonly\n         */\n        sender?: IdentificationData;\n        /**\n         * Optional icon and short text\n         * that give an additional detail about the message,\n         * such as the app the message was sent from\n         * 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         * ID of the application that sent the message.\n         *\n         * 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 contributors.\n         * - `BUSINESS`: Visible to site contributors only.\n         */\n        visibility?: MessageVisibility;\n        /**\n         * Sequential ordering of the message.\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;\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         * System message.\n         * For internal use.\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    /** @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        /** 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        /** 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         * [Button Interacted Webhook](https://dev.wix.com/api/rest/all-apis/inbox/button-interacted-webhook).\n         *\n         * Maximum: 10 buttons.\n         */\n        buttons?: Button[];\n        /**\n         * Controls whether the message is displayed in portrait or landscape layout.\n         *\n         * Defaults to `PORTRAIT`.\n         */\n        orientation?: Orientation;\n        /**\n         * List of lines of text. Each item in the array is displayed on a new line.\n         *\n         * Maximum: 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        /**\n         * Properties to pass to the\n         * [Button Interacted webhook](https://dev.wix.com/api/rest/inbox/messages/button-interacted-webhook)\n         * when the button is clicked.\n         */\n        postbackProperties?: PostbackProperties;\n    }\n    interface PostbackProperties {\n        /**\n         * [Your app's](https://dev.wix.com/dc3/my-apps) App ID.\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 = \"UNKNOWN_ORIENTATION\",\n        PORTRAIT = \"PORTRAIT\",\n        LANDSCAPE = \"LANDSCAPE\"\n    }\n    interface MinimalMessagePayload {\n        /** Message text. */\n        text?: string;\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         * [Button Interacted Webhook](https://dev.wix.com/api/rest/all-apis/inbox/button-interacted-webhook).\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        /** 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        UNKNOWN_BADGE_VISIBILITY = \"UNKNOWN_BADGE_VISIBILITY\",\n        BUSINESS_AND_PARTICIPANT = \"BUSINESS_AND_PARTICIPANT\",\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    }\n    enum MessageVisibility {\n        UNKNOWN_VISIBILITY = \"UNKNOWN_VISIBILITY\",\n        BUSINESS_AND_PARTICIPANT = \"BUSINESS_AND_PARTICIPANT\",\n        BUSINESS = \"BUSINESS\"\n    }\n    enum MessageDirection {\n        UNKNOWN_DIRECTION = \"UNKNOWN_DIRECTION\",\n        BUSINESS_TO_PARTICIPANT = \"BUSINESS_TO_PARTICIPANT\",\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        /** The type of the indication */\n        type?: IndicationType;\n        /** The channel to which this indication was added */\n        channel?: ChannelType;\n        /** The time when action happened */\n        timestamp?: Date;\n    }\n    enum IndicationType {\n        UNKNOWN_INDICATION_TYPE = \"UNKNOWN_INDICATION_TYPE\",\n        SENT = \"SENT\",\n        SEEN = \"SEEN\",\n        ERROR = \"ERROR\",\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_PERFORMED_BY = \"UNKNOWN_PERFORMED_BY\",\n        BUSINESS = \"BUSINESS\",\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    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        /** 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        /** 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 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    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 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         * Defaults to `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         * Defaults to `false`.\n         */\n        silent?: boolean;\n        /**\n         * Controls which identity to use in the message's `sender` property.\n         *\n         * - `CALLER`: Uses the identity included in the request header.\n         * - `PARTICIPANT`: Uses the `anonymousVisitorId`, `contactId`, or `memberId` of the conversation's participant.\n         * - `BUSINESS_USER`: For internal use. Uses the `wixUserId` of the person sending messages on behalf of the business.\n         *\n         * Defaults to `CALLER`.\n         * For 3rd-party apps, the app is the caller.\n         */\n        sendAs?: OverrideSenderOptions;\n    }\n    enum OverrideSenderOptions {\n        CALLER = \"CALLER\",\n        PARTICIPANT = \"PARTICIPANT\",\n        BUSINESS_USER = \"BUSINESS_USER\"\n    }\n    interface SendMessageResponse {\n        /** Sent message. */\n        message?: Message;\n    }\n    interface Empty {\n    }\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.\n     * If the number of messages is larger than the returned page,\n     * `pagingMetadata.cursors` is returned in the response,\n     * indicating that another page of results is available.\n     * To retrieve the next page,\n     * 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,\n     * sorted by `sequence` in descending order\n     * (the most recent messages are first in the list).\n     *\n     * This function is not a universal function and runs only on the backend.\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     * @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     *\n     * This function is not a universal function and runs only on the backend.\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     * @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         * Defaults to `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         * Defaults to `false`.\n         */\n        silent?: boolean;\n        /**\n         * Controls which identity to use in the message's `sender` property.\n         *\n         * - `CALLER`: Uses the identity included in the request header.\n         * - `PARTICIPANT`: Uses the `anonymousVisitorId`, `contactId`, or `memberId` of the conversation's participant.\n         * - `BUSINESS_USER`: For internal use. Uses the `wixUserId` of the person sending messages on behalf of the business.\n         *\n         * Defaults to `CALLER`.\n         * For 3rd-party apps, the app is the caller.\n         */\n        sendAs?: OverrideSenderOptions;\n    }\n    const crmInboxV2Message_universal_d___debug: typeof __debug;\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_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 { crmInboxV2Message_universal_d___debug as __debug, crmInboxV2Message_universal_d_Message as Message, crmInboxV2Message_universal_d_MessageContent as MessageContent, crmInboxV2Message_universal_d_MessageContentPayloadOneOf as MessageContentPayloadOneOf, crmInboxV2Message_universal_d_BasicMessagePayload as BasicMessagePayload, crmInboxV2Message_universal_d_BasicMessageData as BasicMessageData, crmInboxV2Message_universal_d_BasicMessageDataDataOneOf as BasicMessageDataDataOneOf, crmInboxV2Message_universal_d_ImageMessage as ImageMessage, crmInboxV2Message_universal_d_FileMessage as FileMessage, crmInboxV2Message_universal_d_TemplateMessagePayload as TemplateMessagePayload, crmInboxV2Message_universal_d_Button as Button, crmInboxV2Message_universal_d_PostbackProperties as PostbackProperties, crmInboxV2Message_universal_d_Orientation as Orientation, crmInboxV2Message_universal_d_MinimalMessagePayload as MinimalMessagePayload, crmInboxV2Message_universal_d_FormMessagePayload as FormMessagePayload, crmInboxV2Message_universal_d_FormField as FormField, crmInboxV2Message_universal_d_MediaItem as MediaItem, crmInboxV2Message_universal_d_MediaItemMediaOneOf as MediaItemMediaOneOf, crmInboxV2Message_universal_d_SystemMessagePayload as SystemMessagePayload, crmInboxV2Message_universal_d_ContentType as ContentType, crmInboxV2Message_universal_d_IdentificationData as IdentificationData, crmInboxV2Message_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf, crmInboxV2Message_universal_d_Badge as Badge, crmInboxV2Message_universal_d_BadgeVisibility as BadgeVisibility, crmInboxV2Message_universal_d_ChannelType as ChannelType, crmInboxV2Message_universal_d_MessageVisibility as MessageVisibility, crmInboxV2Message_universal_d_MessageDirection as MessageDirection, crmInboxV2Message_universal_d_GetMessageIndicationsRequest as GetMessageIndicationsRequest, crmInboxV2Message_universal_d_GetMessageIndicationsResponse as GetMessageIndicationsResponse, crmInboxV2Message_universal_d_MessageIndication as MessageIndication, crmInboxV2Message_universal_d_IndicationType as IndicationType, crmInboxV2Message_universal_d_AddMessageIndicationsRequest as AddMessageIndicationsRequest, crmInboxV2Message_universal_d_PerformedBy as PerformedBy, crmInboxV2Message_universal_d_AddMessageIndicationsResponse as AddMessageIndicationsResponse, crmInboxV2Message_universal_d_MessageSentToParticipant as MessageSentToParticipant, crmInboxV2Message_universal_d_CustomMessageData as CustomMessageData, crmInboxV2Message_universal_d_MessageSentToBusiness as MessageSentToBusiness, crmInboxV2Message_universal_d_InteractionInfo as InteractionInfo, crmInboxV2Message_universal_d_ButtonInteracted as ButtonInteracted, crmInboxV2Message_universal_d_ListMessagesRequest as ListMessagesRequest, crmInboxV2Message_universal_d_CursorPaging as CursorPaging, crmInboxV2Message_universal_d_Sorting as Sorting, crmInboxV2Message_universal_d_SortOrder as SortOrder, crmInboxV2Message_universal_d_ListMessagesResponse as ListMessagesResponse, crmInboxV2Message_universal_d_PagingMetadataV2 as PagingMetadataV2, crmInboxV2Message_universal_d_Cursors as Cursors, crmInboxV2Message_universal_d_SendMessageRequest as SendMessageRequest, crmInboxV2Message_universal_d_OverrideSenderOptions as OverrideSenderOptions, crmInboxV2Message_universal_d_SendMessageResponse as SendMessageResponse, crmInboxV2Message_universal_d_Empty as Empty, crmInboxV2Message_universal_d_AddMessageIndicationsOptions as AddMessageIndicationsOptions, crmInboxV2Message_universal_d_listMessages as listMessages, crmInboxV2Message_universal_d_ListMessagesOptions as ListMessagesOptions, crmInboxV2Message_universal_d_sendMessage as sendMessage, crmInboxV2Message_universal_d_SendMessageOptions as SendMessageOptions, };\n    }\n    export { crmInboxV2Conversation_universal_d as conversations, crmInboxV2Message_universal_d as messages };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/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    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    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 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 RespondResponse {\n        /** ID of the support ticket created (optional). */\n        supportTicketId?: string | null;\n    }\n    interface SupportTicketData {\n        subject?: string;\n        body?: string;\n        agentReplyBody?: string | null;\n    }\n    /**\n     * Retrieves email marketing account details.\n     * @public\n     * @documentationMaturity preview\n     * @permissionScope Manage Email Marketing\n     * @permissionScopeId SCOPE.DC-PROMOTE.EMAIL-MARKETING\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function getAccountDetails(): Promise<GetAccountDetailsResponse>;\n    interface RespondOptions {\n        supportTicketData?: SupportTicketData;\n    }\n    type emailMarketingV1AccountDetailsAccountDetails_universal_d_AccountDetails = AccountDetails;\n    type emailMarketingV1AccountDetailsAccountDetails_universal_d_Package = Package;\n    type emailMarketingV1AccountDetailsAccountDetails_universal_d_Quota = Quota;\n    type emailMarketingV1AccountDetailsAccountDetails_universal_d_QuotaPeriod = QuotaPeriod;\n    type emailMarketingV1AccountDetailsAccountDetails_universal_d_Features = Features;\n    type emailMarketingV1AccountDetailsAccountDetails_universal_d_GetAccountDetailsRequest = GetAccountDetailsRequest;\n    type emailMarketingV1AccountDetailsAccountDetails_universal_d_GetAccountDetailsResponse = GetAccountDetailsResponse;\n    type emailMarketingV1AccountDetailsAccountDetails_universal_d_GetComplianceDetailsRequest = GetComplianceDetailsRequest;\n    type emailMarketingV1AccountDetailsAccountDetails_universal_d_GetComplianceDetailsResponse = GetComplianceDetailsResponse;\n    type emailMarketingV1AccountDetailsAccountDetails_universal_d_ComplianceDetails = ComplianceDetails;\n    type emailMarketingV1AccountDetailsAccountDetails_universal_d_RespondRequest = RespondRequest;\n    type emailMarketingV1AccountDetailsAccountDetails_universal_d_Action = Action;\n    const emailMarketingV1AccountDetailsAccountDetails_universal_d_Action: typeof Action;\n    type emailMarketingV1AccountDetailsAccountDetails_universal_d_RespondResponse = RespondResponse;\n    type emailMarketingV1AccountDetailsAccountDetails_universal_d_SupportTicketData = SupportTicketData;\n    const emailMarketingV1AccountDetailsAccountDetails_universal_d_getAccountDetails: typeof getAccountDetails;\n    type emailMarketingV1AccountDetailsAccountDetails_universal_d_RespondOptions = RespondOptions;\n    namespace emailMarketingV1AccountDetailsAccountDetails_universal_d {\n        export { emailMarketingV1AccountDetailsAccountDetails_universal_d_AccountDetails as AccountDetails, Enum$1 as Enum, emailMarketingV1AccountDetailsAccountDetails_universal_d_Package as Package, emailMarketingV1AccountDetailsAccountDetails_universal_d_Quota as Quota, emailMarketingV1AccountDetailsAccountDetails_universal_d_QuotaPeriod as QuotaPeriod, emailMarketingV1AccountDetailsAccountDetails_universal_d_Features as Features, emailMarketingV1AccountDetailsAccountDetails_universal_d_GetAccountDetailsRequest as GetAccountDetailsRequest, emailMarketingV1AccountDetailsAccountDetails_universal_d_GetAccountDetailsResponse as GetAccountDetailsResponse, emailMarketingV1AccountDetailsAccountDetails_universal_d_GetComplianceDetailsRequest as GetComplianceDetailsRequest, emailMarketingV1AccountDetailsAccountDetails_universal_d_GetComplianceDetailsResponse as GetComplianceDetailsResponse, emailMarketingV1AccountDetailsAccountDetails_universal_d_ComplianceDetails as ComplianceDetails, emailMarketingV1AccountDetailsAccountDetails_universal_d_RespondRequest as RespondRequest, emailMarketingV1AccountDetailsAccountDetails_universal_d_Action as Action, emailMarketingV1AccountDetailsAccountDetails_universal_d_RespondResponse as RespondResponse, emailMarketingV1AccountDetailsAccountDetails_universal_d_SupportTicketData as SupportTicketData, emailMarketingV1AccountDetailsAccountDetails_universal_d_getAccountDetails as getAccountDetails, emailMarketingV1AccountDetailsAccountDetails_universal_d_RespondOptions as RespondOptions, };\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        /**\n         * URL of the landing page snapshot.\n         * Attention: this field is deprecated and snapshot images will no longer be supported! Use \"firstImageUrl\" instead.\n         * This field will soon start to return \"firstImageUrl\" value too.\n         * @deprecated URL of the landing page snapshot.\n         * Attention: this field is deprecated and snapshot images will no longer be supported! Use \"firstImageUrl\" instead.\n         * This field will soon start to return \"firstImageUrl\" value too.\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;\n        /** Campaign last update date. */\n        dateUpdated?: Date;\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    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    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 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        /** 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$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    interface EntityDeletedEvent$1 {\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    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;\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    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 UnprocessedTargetEvent {\n        /** The target that was not marked as processed */\n        target?: Target;\n    }\n    interface Target {\n        /** Unique identifier of the target with pattern `id_tag_value[type]`, for example 'com.wixpress.myproto[wix_proto_bundle_export]`` */\n        _id?: string | null;\n        /** The unique location of the target in Bazel notation i.e @repo//path/to/target:target_name */\n        location?: string | null;\n        /** The combined digest of all files within the target */\n        combinedDigest?: string | null;\n        /** The vcs commit timestamp of the target in milliseconds */\n        commitTimestamp?: string | null;\n        /** The type of the target */\n        type?: TargetType;\n        /**\n         * The target's id tag value in Bazel, uniquness is not guaranteed\n         * i.e for a tag \"businessSchemaIndexerId=com.wixpress.myproto\" the value is \"com.wixpress.myproto\"\n         */\n        idTagValue?: string | null;\n        files?: File[];\n    }\n    enum TargetType {\n        NONE = \"NONE\",\n        WIX_PROTO_BUNDLE_EXPORT = \"WIX_PROTO_BUNDLE_EXPORT\",\n        WIX_APPENDIX_BUNDLE_EXPORT = \"WIX_APPENDIX_BUNDLE_EXPORT\",\n        WIX_API_REGISTRY_INFO_EXPORT = \"WIX_API_REGISTRY_INFO_EXPORT\"\n    }\n    interface File {\n        /** The name of the file including path relative to its source repo, i.e src/main/java/com/wixpress/MyClass.java */\n        name?: string | null;\n        /** The URI of the file */\n        uri?: string | null;\n        /** The digest of the file */\n        digest?: string | null;\n        /** The size of the file in bytes */\n        sizeInBytes?: 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    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        /** 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 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    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    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;\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    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 one hour in the future, for premium users only). */\n        sendAt?: Date;\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        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;\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 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    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    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;\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 CampaignPausedEvent {\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        /** New time that this email marketing campaign should be sent at. */\n        sendAt: Date;\n    }\n    interface RescheduleResponse {\n    }\n    interface ArchiveCampaignRequest {\n        /** ID of the campaign to archive. */\n        campaignId: string;\n    }\n    interface ArchiveCampaignResponse {\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    interface UnarchiveCampaignRequest {\n        /** ID of the campaign to unarchive. */\n        campaignId: string;\n    }\n    interface UnarchiveCampaignResponse {\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 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 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    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    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    /** 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 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    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    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    interface GetLabelsOptions {\n        /** Should \"inactive\" contacts be excluded or not (default value \"false\"). */\n        activeContactsOnly?: boolean;\n    }\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     * 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     * @permissionScope Read Email Marketing\n     * @permissionScopeId SCOPE.DC-PROMOTE.READ-EMAIL-MARKETING\n     * @permissionScope Manage Email Marketing\n     * @permissionScopeId SCOPE.DC-PROMOTE.EMAIL-MARKETING\n     * @applicableIdentity APP\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     * @permissionScope Read Email Marketing\n     * @permissionScopeId SCOPE.DC-PROMOTE.READ-EMAIL-MARKETING\n     * @permissionScope Manage Email Marketing\n     * @permissionScopeId SCOPE.DC-PROMOTE.EMAIL-MARKETING\n     * @applicableIdentity APP\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    interface GetCampaignMappingIdentifiers {\n        /** rule ID in automations */\n        automationRuleId: string;\n        /** template ID configured for the automation */\n        templateId: string;\n    }\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    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    interface QueryAppTemplatesOptions {\n        queryType?: TemplateQueryType;\n    }\n    interface CampaignLookupBatchOptions {\n        campaignIds?: string[];\n    }\n    interface UpsertTranslationOptions {\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     * 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     * @permissionScope Manage Email Marketing\n     * @permissionScopeId SCOPE.DC-PROMOTE.EMAIL-MARKETING\n     * @applicableIdentity APP\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    /**\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     * @permissionScope Manage Email Marketing\n     * @permissionScopeId SCOPE.DC-PROMOTE.EMAIL-MARKETING\n     * @applicableIdentity APP\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    interface CountOptions {\n        /** Since when should we start counting (optional, default value \"1970-01-01T00:00:00.000Z\") */\n        dateFrom?: Date;\n    }\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    interface CreateUserTemplateOptions {\n        /** Title of template. */\n        title?: string | null;\n    }\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     * @permissionScope Manage Email Marketing\n     * @permissionScopeId SCOPE.DC-PROMOTE.EMAIL-MARKETING\n     * @applicableIdentity APP\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     * @permissionScope Manage Email Marketing\n     * @permissionScopeId SCOPE.DC-PROMOTE.EMAIL-MARKETING\n     * @applicableIdentity APP\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    /**\n     * Pauses a scheduled campaign.\n     *\n     * 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     * @permissionScope Manage Email Marketing\n     * @permissionScopeId SCOPE.DC-PROMOTE.EMAIL-MARKETING\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function pauseScheduling(campaignId: string): Promise<void>;\n    /**\n     * Change sending time for already scheduled campaign.\n     * @param campaignId - ID of the campaign to reschedule.\n     * @param sendAt - New time that this email marketing campaign should be sent at.\n     * @public\n     * @documentationMaturity preview\n     * @requiredField campaignId\n     * @requiredField sendAt\n     * @permissionScope Manage Email Marketing\n     * @permissionScopeId SCOPE.DC-PROMOTE.EMAIL-MARKETING\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function reschedule(campaignId: string, sendAt: Date): Promise<void>;\n    /**\n     * Permanently deletes a campaign.\n     * @param campaignId - Campaign ID.\n     * @public\n     * @documentationMaturity preview\n     * @requiredField campaignId\n     * @permissionScope Manage Email Marketing\n     * @permissionScopeId SCOPE.DC-PROMOTE.EMAIL-MARKETING\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function deleteCampaign(campaignId: string): Promise<void>;\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     * @permissionScope Manage Email Marketing\n     * @permissionScopeId SCOPE.DC-PROMOTE.EMAIL-MARKETING\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function reuseCampaign(campaignId: string): Promise<ReuseCampaignResponse>;\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    interface GetComposerOptions {\n        /** Preferred language for campaign content (optional). */\n        language?: string | null;\n    }\n    interface UpdateComposerOptions {\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    interface CreateOptions {\n        /** Campaign editor type. Either web app or mobile app (optional, default \"Web\"). */\n        campaignEditorType?: CampaignEditorType;\n    }\n    interface ResendToNonOpenersOptions {\n        /** Subject line to use with the resent copy of campaign. */\n        emailSubject?: string | null;\n    }\n    type emailMarketingV1CampaignCampaigns_universal_d_Campaign = Campaign;\n    type emailMarketingV1CampaignCampaigns_universal_d_CampaignEditorTypeEnum = CampaignEditorTypeEnum;\n    const emailMarketingV1CampaignCampaigns_universal_d_CampaignEditorTypeEnum: typeof CampaignEditorTypeEnum;\n    type emailMarketingV1CampaignCampaigns_universal_d_CampaignStatusEnum = CampaignStatusEnum;\n    const emailMarketingV1CampaignCampaigns_universal_d_CampaignStatusEnum: typeof CampaignStatusEnum;\n    type emailMarketingV1CampaignCampaigns_universal_d_CampaignVisibilityStatusEnum = CampaignVisibilityStatusEnum;\n    const emailMarketingV1CampaignCampaigns_universal_d_CampaignVisibilityStatusEnum: typeof CampaignVisibilityStatusEnum;\n    type emailMarketingV1CampaignCampaigns_universal_d_Enum = Enum;\n    const emailMarketingV1CampaignCampaigns_universal_d_Enum: typeof Enum;\n    type emailMarketingV1CampaignCampaigns_universal_d_PublishingData = PublishingData;\n    type emailMarketingV1CampaignCampaigns_universal_d_CampaignStatistics = CampaignStatistics;\n    type emailMarketingV1CampaignCampaigns_universal_d_LandingPageStatistics = LandingPageStatistics;\n    type emailMarketingV1CampaignCampaigns_universal_d_DistributionStatistics = DistributionStatistics;\n    type emailMarketingV1CampaignCampaigns_universal_d_TotalStatistics = TotalStatistics;\n    type emailMarketingV1CampaignCampaigns_universal_d_RejectionData = RejectionData;\n    type emailMarketingV1CampaignCampaigns_universal_d_RejectionReasonEnum = RejectionReasonEnum;\n    const emailMarketingV1CampaignCampaigns_universal_d_RejectionReasonEnum: typeof RejectionReasonEnum;\n    type emailMarketingV1CampaignCampaigns_universal_d_CampaignSendingStateEnum = CampaignSendingStateEnum;\n    const emailMarketingV1CampaignCampaigns_universal_d_CampaignSendingStateEnum: typeof CampaignSendingStateEnum;\n    type emailMarketingV1CampaignCampaigns_universal_d_CampaignTypeEnum = CampaignTypeEnum;\n    const emailMarketingV1CampaignCampaigns_universal_d_CampaignTypeEnum: typeof CampaignTypeEnum;\n    type emailMarketingV1CampaignCampaigns_universal_d_EstimateFilterSizeRequest = EstimateFilterSizeRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_EstimateFilterSizeResponse = EstimateFilterSizeResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_EstimateAudienceSizeRequest = EstimateAudienceSizeRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_EstimateAudienceSizeResponse = EstimateAudienceSizeResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_ReconcileContactRequest = ReconcileContactRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_ReconcileContactResponse = ReconcileContactResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_Contact = Contact;\n    type emailMarketingV1CampaignCampaigns_universal_d_SearchContactsRequest = SearchContactsRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_SearchContactsResponse = SearchContactsResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_GetLabelsRequest = GetLabelsRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_GetLabelsResponse = GetLabelsResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_Label = Label;\n    type emailMarketingV1CampaignCampaigns_universal_d_SubscribeFromLandingPageRequest = SubscribeFromLandingPageRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_SubscribeFromLandingPageResponse = SubscribeFromLandingPageResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_GetPlaceholderKeysRequest = GetPlaceholderKeysRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_GetPlaceholderKeysResponse = GetPlaceholderKeysResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_GetDefaultComponentsRequest = GetDefaultComponentsRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_GetDefaultComponentsResponse = GetDefaultComponentsResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_RestoreInfo = RestoreInfo;\n    type emailMarketingV1CampaignCampaigns_universal_d_ValidateLinkRequest = ValidateLinkRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_ValidateLinkResponse = ValidateLinkResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_ValidateHtmlLinksRequest = ValidateHtmlLinksRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_ValidateHtmlLinksResponse = ValidateHtmlLinksResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_ListStatisticsRequest = ListStatisticsRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_ListStatisticsResponse = ListStatisticsResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_CampaignStatisticsContainer = CampaignStatisticsContainer;\n    type emailMarketingV1CampaignCampaigns_universal_d_ListRecipientsRequest = ListRecipientsRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_RecipientsActivityEnum = RecipientsActivityEnum;\n    const emailMarketingV1CampaignCampaigns_universal_d_RecipientsActivityEnum: typeof RecipientsActivityEnum;\n    type emailMarketingV1CampaignCampaigns_universal_d_CursorPaging = CursorPaging;\n    type emailMarketingV1CampaignCampaigns_universal_d_ListRecipientsResponse = ListRecipientsResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_CampaignRecipientDetails = CampaignRecipientDetails;\n    type emailMarketingV1CampaignCampaigns_universal_d_PagingMetadataV2 = PagingMetadataV2;\n    type emailMarketingV1CampaignCampaigns_universal_d_Cursors = Cursors;\n    type emailMarketingV1CampaignCampaigns_universal_d_UnprocessedTargetEvent = UnprocessedTargetEvent;\n    type emailMarketingV1CampaignCampaigns_universal_d_Target = Target;\n    type emailMarketingV1CampaignCampaigns_universal_d_TargetType = TargetType;\n    const emailMarketingV1CampaignCampaigns_universal_d_TargetType: typeof TargetType;\n    type emailMarketingV1CampaignCampaigns_universal_d_File = File;\n    type emailMarketingV1CampaignCampaigns_universal_d_GetCampaignMappingRequest = GetCampaignMappingRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_GetCampaignMappingResponse = GetCampaignMappingResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_GetPingCampaignMappingRequest = GetPingCampaignMappingRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_GetPingCampaignMappingResponse = GetPingCampaignMappingResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_QueryAutomationTemplatesRequest = QueryAutomationTemplatesRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_Query = Query;\n    type emailMarketingV1CampaignCampaigns_universal_d_Sorting = Sorting;\n    type emailMarketingV1CampaignCampaigns_universal_d_SortOrder = SortOrder;\n    const emailMarketingV1CampaignCampaigns_universal_d_SortOrder: typeof SortOrder;\n    type emailMarketingV1CampaignCampaigns_universal_d_Paging = Paging;\n    type emailMarketingV1CampaignCampaigns_universal_d_QueryAutomationTemplatesResponse = QueryAutomationTemplatesResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_AutomationTemplateContainer = AutomationTemplateContainer;\n    type emailMarketingV1CampaignCampaigns_universal_d_AutomationTemplate = AutomationTemplate;\n    type emailMarketingV1CampaignCampaigns_universal_d_RuleConfiguration = RuleConfiguration;\n    type emailMarketingV1CampaignCampaigns_universal_d_ConditionConfiguration = ConditionConfiguration;\n    type emailMarketingV1CampaignCampaigns_universal_d_Operator = Operator;\n    const emailMarketingV1CampaignCampaigns_universal_d_Operator: typeof Operator;\n    type emailMarketingV1CampaignCampaigns_universal_d_TriggerConfiguration = TriggerConfiguration;\n    type emailMarketingV1CampaignCampaigns_universal_d_ActionConfiguration = ActionConfiguration;\n    type emailMarketingV1CampaignCampaigns_universal_d_RuleStatus = RuleStatus;\n    const emailMarketingV1CampaignCampaigns_universal_d_RuleStatus: typeof RuleStatus;\n    type emailMarketingV1CampaignCampaigns_universal_d_ActivationCycle = ActivationCycle;\n    type emailMarketingV1CampaignCampaigns_universal_d_RuleMetadata = RuleMetadata;\n    type emailMarketingV1CampaignCampaigns_universal_d_VersionType = VersionType;\n    const emailMarketingV1CampaignCampaigns_universal_d_VersionType: typeof VersionType;\n    type emailMarketingV1CampaignCampaigns_universal_d_TemplateType = TemplateType;\n    const emailMarketingV1CampaignCampaigns_universal_d_TemplateType: typeof TemplateType;\n    type emailMarketingV1CampaignCampaigns_universal_d_Precondition = Precondition;\n    type emailMarketingV1CampaignCampaigns_universal_d_PreconditionType = PreconditionType;\n    const emailMarketingV1CampaignCampaigns_universal_d_PreconditionType: typeof PreconditionType;\n    type emailMarketingV1CampaignCampaigns_universal_d_TemplateState = TemplateState;\n    const emailMarketingV1CampaignCampaigns_universal_d_TemplateState: typeof TemplateState;\n    type emailMarketingV1CampaignCampaigns_universal_d_Translation = Translation;\n    type emailMarketingV1CampaignCampaigns_universal_d_TranslationState = TranslationState;\n    const emailMarketingV1CampaignCampaigns_universal_d_TranslationState: typeof TranslationState;\n    type emailMarketingV1CampaignCampaigns_universal_d_AutomationTemplateEnrichmentData = AutomationTemplateEnrichmentData;\n    type emailMarketingV1CampaignCampaigns_universal_d_QueryMetadata = QueryMetadata;\n    type emailMarketingV1CampaignCampaigns_universal_d_QueryAppTemplatesRequest = QueryAppTemplatesRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_TemplateQueryType = TemplateQueryType;\n    const emailMarketingV1CampaignCampaigns_universal_d_TemplateQueryType: typeof TemplateQueryType;\n    type emailMarketingV1CampaignCampaigns_universal_d_QueryAppTemplatesResponse = QueryAppTemplatesResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_TemplateData = TemplateData;\n    type emailMarketingV1CampaignCampaigns_universal_d_CampaignLookupRequest = CampaignLookupRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_CampaignLookupResponse = CampaignLookupResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_CampaignLookupBatchRequest = CampaignLookupBatchRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_CampaignLookupBatchResponse = CampaignLookupBatchResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_UpsertTranslationRequest = UpsertTranslationRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_Composer = Composer;\n    type emailMarketingV1CampaignCampaigns_universal_d_DefaultValues = DefaultValues;\n    type emailMarketingV1CampaignCampaigns_universal_d_UpsertTranslationResponse = UpsertTranslationResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_GetUsedPlaceholderKeysRequest = GetUsedPlaceholderKeysRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_GetUsedPlaceholderKeysResponse = GetUsedPlaceholderKeysResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_GetCampaignRequest = GetCampaignRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_GetCampaignResponse = GetCampaignResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_ListCampaignsRequest = ListCampaignsRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_ListCampaignsResponse = ListCampaignsResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_CountCampaignsRequest = CountCampaignsRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_CountCampaignsResponse = CountCampaignsResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_CreateFromTemplateRequest = CreateFromTemplateRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_CreateFromTemplateResponse = CreateFromTemplateResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_CreateUserTemplateRequest = CreateUserTemplateRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_CreateUserTemplateResponse = CreateUserTemplateResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_CreateFromUserTemplateRequest = CreateFromUserTemplateRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_CreateFromUserTemplateResponse = CreateFromUserTemplateResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_PublishCampaignRequest = PublishCampaignRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_EmailDistributionOptions = EmailDistributionOptions;\n    type emailMarketingV1CampaignCampaigns_universal_d_PublishCampaignResponse = PublishCampaignResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_CampaignRejectedEvent = CampaignRejectedEvent;\n    type emailMarketingV1CampaignCampaigns_universal_d_CampaignPublishedEvent = CampaignPublishedEvent;\n    type emailMarketingV1CampaignCampaigns_universal_d_CampaignTerminatedEvent = CampaignTerminatedEvent;\n    type emailMarketingV1CampaignCampaigns_universal_d_CampaignDistributedEvent = CampaignDistributedEvent;\n    type emailMarketingV1CampaignCampaigns_universal_d_EmailActivityUpdated = EmailActivityUpdated;\n    type emailMarketingV1CampaignCampaigns_universal_d_EmailActivityUpdatedEventTypeOneOf = EmailActivityUpdatedEventTypeOneOf;\n    type emailMarketingV1CampaignCampaigns_universal_d_ActivityType = ActivityType;\n    const emailMarketingV1CampaignCampaigns_universal_d_ActivityType: typeof ActivityType;\n    type emailMarketingV1CampaignCampaigns_universal_d_Click = Click;\n    type emailMarketingV1CampaignCampaigns_universal_d_Open = Open;\n    type emailMarketingV1CampaignCampaigns_universal_d_SoftBounce = SoftBounce;\n    type emailMarketingV1CampaignCampaigns_universal_d_HardBounce = HardBounce;\n    type emailMarketingV1CampaignCampaigns_universal_d_CampaignScheduledEvent = CampaignScheduledEvent;\n    type emailMarketingV1CampaignCampaigns_universal_d_SendTestRequest = SendTestRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_PlaceholderContent = PlaceholderContent;\n    type emailMarketingV1CampaignCampaigns_universal_d_PlaceholderContentValueOneOf = PlaceholderContentValueOneOf;\n    type emailMarketingV1CampaignCampaigns_universal_d_PlainText = PlainText;\n    type emailMarketingV1CampaignCampaigns_universal_d_Html = Html;\n    type emailMarketingV1CampaignCampaigns_universal_d_Money = Money;\n    type emailMarketingV1CampaignCampaigns_universal_d_DateTime = DateTime;\n    type emailMarketingV1CampaignCampaigns_universal_d_Map = Map;\n    type emailMarketingV1CampaignCampaigns_universal_d__Array = _Array;\n    type emailMarketingV1CampaignCampaigns_universal_d_PlaceholderContentEnum = PlaceholderContentEnum;\n    type emailMarketingV1CampaignCampaigns_universal_d_Attachment = Attachment;\n    type emailMarketingV1CampaignCampaigns_universal_d_Integer = Integer;\n    type emailMarketingV1CampaignCampaigns_universal_d_Decimal = Decimal;\n    type emailMarketingV1CampaignCampaigns_universal_d_SendTestResponse = SendTestResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_PauseSchedulingRequest = PauseSchedulingRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_PauseSchedulingResponse = PauseSchedulingResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_CampaignPausedEvent = CampaignPausedEvent;\n    type emailMarketingV1CampaignCampaigns_universal_d_RescheduleRequest = RescheduleRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_RescheduleResponse = RescheduleResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_ArchiveCampaignRequest = ArchiveCampaignRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_ArchiveCampaignResponse = ArchiveCampaignResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_CampaignArchivedEvent = CampaignArchivedEvent;\n    type emailMarketingV1CampaignCampaigns_universal_d_UnarchiveCampaignRequest = UnarchiveCampaignRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_UnarchiveCampaignResponse = UnarchiveCampaignResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_CampaignUnarchivedEvent = CampaignUnarchivedEvent;\n    type emailMarketingV1CampaignCampaigns_universal_d_UpdateTitleRequest = UpdateTitleRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_UpdateTitleResponse = UpdateTitleResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_DeleteCampaignRequest = DeleteCampaignRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_DeleteCampaignResponse = DeleteCampaignResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_ReuseCampaignRequest = ReuseCampaignRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_ReuseCampaignResponse = ReuseCampaignResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_PreviewCampaignRequest = PreviewCampaignRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_PreviewCampaignResponse = PreviewCampaignResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_GetComposerRequest = GetComposerRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_GetComposerResponse = GetComposerResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_UpdateComposerRequest = UpdateComposerRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_CampaignEditorType = CampaignEditorType;\n    type emailMarketingV1CampaignCampaigns_universal_d_UpdateComposerResponse = UpdateComposerResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_CreateCampaignRequest = CreateCampaignRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_CreateCampaignResponse = CreateCampaignResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_ResendToNonOpenersRequest = ResendToNonOpenersRequest;\n    type emailMarketingV1CampaignCampaigns_universal_d_ResendToNonOpenersResponse = ResendToNonOpenersResponse;\n    type emailMarketingV1CampaignCampaigns_universal_d_EstimateFilterSizeOptions = EstimateFilterSizeOptions;\n    type emailMarketingV1CampaignCampaigns_universal_d_EstimateAudienceSizeOptions = EstimateAudienceSizeOptions;\n    type emailMarketingV1CampaignCampaigns_universal_d_SearchContactsOptions = SearchContactsOptions;\n    type emailMarketingV1CampaignCampaigns_universal_d_GetLabelsOptions = GetLabelsOptions;\n    type emailMarketingV1CampaignCampaigns_universal_d_SubscribeFromLandingPageOptions = SubscribeFromLandingPageOptions;\n    const emailMarketingV1CampaignCampaigns_universal_d_listStatistics: typeof listStatistics;\n    const emailMarketingV1CampaignCampaigns_universal_d_listRecipients: typeof listRecipients;\n    type emailMarketingV1CampaignCampaigns_universal_d_ListRecipientsOptions = ListRecipientsOptions;\n    type emailMarketingV1CampaignCampaigns_universal_d_GetCampaignMappingIdentifiers = GetCampaignMappingIdentifiers;\n    type emailMarketingV1CampaignCampaigns_universal_d_GetPingCampaignMappingIdentifiers = GetPingCampaignMappingIdentifiers;\n    type emailMarketingV1CampaignCampaigns_universal_d_GetPingCampaignMappingOptions = GetPingCampaignMappingOptions;\n    type emailMarketingV1CampaignCampaigns_universal_d_QueryAutomationTemplatesOptions = QueryAutomationTemplatesOptions;\n    type emailMarketingV1CampaignCampaigns_universal_d_QueryAppTemplatesOptions = QueryAppTemplatesOptions;\n    type emailMarketingV1CampaignCampaigns_universal_d_CampaignLookupBatchOptions = CampaignLookupBatchOptions;\n    type emailMarketingV1CampaignCampaigns_universal_d_UpsertTranslationOptions = UpsertTranslationOptions;\n    const emailMarketingV1CampaignCampaigns_universal_d_getCampaign: typeof getCampaign;\n    type emailMarketingV1CampaignCampaigns_universal_d_GetCampaignOptions = GetCampaignOptions;\n    const emailMarketingV1CampaignCampaigns_universal_d_listCampaigns: typeof listCampaigns;\n    type emailMarketingV1CampaignCampaigns_universal_d_ListCampaignsOptions = ListCampaignsOptions;\n    type emailMarketingV1CampaignCampaigns_universal_d_CountOptions = CountOptions;\n    type emailMarketingV1CampaignCampaigns_universal_d_CreateFromTemplateOptions = CreateFromTemplateOptions;\n    type emailMarketingV1CampaignCampaigns_universal_d_CreateUserTemplateOptions = CreateUserTemplateOptions;\n    const emailMarketingV1CampaignCampaigns_universal_d_publishCampaign: typeof publishCampaign;\n    type emailMarketingV1CampaignCampaigns_universal_d_PublishCampaignOptions = PublishCampaignOptions;\n    const emailMarketingV1CampaignCampaigns_universal_d_sendTest: typeof sendTest;\n    type emailMarketingV1CampaignCampaigns_universal_d_SendTestOptions = SendTestOptions;\n    const emailMarketingV1CampaignCampaigns_universal_d_pauseScheduling: typeof pauseScheduling;\n    const emailMarketingV1CampaignCampaigns_universal_d_reschedule: typeof reschedule;\n    const emailMarketingV1CampaignCampaigns_universal_d_deleteCampaign: typeof deleteCampaign;\n    const emailMarketingV1CampaignCampaigns_universal_d_reuseCampaign: typeof reuseCampaign;\n    type emailMarketingV1CampaignCampaigns_universal_d_PreviewOptions = PreviewOptions;\n    type emailMarketingV1CampaignCampaigns_universal_d_GetComposerOptions = GetComposerOptions;\n    type emailMarketingV1CampaignCampaigns_universal_d_UpdateComposerOptions = UpdateComposerOptions;\n    type emailMarketingV1CampaignCampaigns_universal_d_CreateOptions = CreateOptions;\n    type emailMarketingV1CampaignCampaigns_universal_d_ResendToNonOpenersOptions = ResendToNonOpenersOptions;\n    namespace emailMarketingV1CampaignCampaigns_universal_d {\n        export { emailMarketingV1CampaignCampaigns_universal_d_Campaign as Campaign, emailMarketingV1CampaignCampaigns_universal_d_CampaignEditorTypeEnum as CampaignEditorTypeEnum, emailMarketingV1CampaignCampaigns_universal_d_CampaignStatusEnum as CampaignStatusEnum, emailMarketingV1CampaignCampaigns_universal_d_CampaignVisibilityStatusEnum as CampaignVisibilityStatusEnum, emailMarketingV1CampaignCampaigns_universal_d_Enum as Enum, emailMarketingV1CampaignCampaigns_universal_d_PublishingData as PublishingData, emailMarketingV1CampaignCampaigns_universal_d_CampaignStatistics as CampaignStatistics, emailMarketingV1CampaignCampaigns_universal_d_LandingPageStatistics as LandingPageStatistics, emailMarketingV1CampaignCampaigns_universal_d_DistributionStatistics as DistributionStatistics, emailMarketingV1CampaignCampaigns_universal_d_TotalStatistics as TotalStatistics, emailMarketingV1CampaignCampaigns_universal_d_RejectionData as RejectionData, emailMarketingV1CampaignCampaigns_universal_d_RejectionReasonEnum as RejectionReasonEnum, emailMarketingV1CampaignCampaigns_universal_d_CampaignSendingStateEnum as CampaignSendingStateEnum, emailMarketingV1CampaignCampaigns_universal_d_CampaignTypeEnum as CampaignTypeEnum, emailMarketingV1CampaignCampaigns_universal_d_EstimateFilterSizeRequest as EstimateFilterSizeRequest, emailMarketingV1CampaignCampaigns_universal_d_EstimateFilterSizeResponse as EstimateFilterSizeResponse, emailMarketingV1CampaignCampaigns_universal_d_EstimateAudienceSizeRequest as EstimateAudienceSizeRequest, emailMarketingV1CampaignCampaigns_universal_d_EstimateAudienceSizeResponse as EstimateAudienceSizeResponse, emailMarketingV1CampaignCampaigns_universal_d_ReconcileContactRequest as ReconcileContactRequest, emailMarketingV1CampaignCampaigns_universal_d_ReconcileContactResponse as ReconcileContactResponse, emailMarketingV1CampaignCampaigns_universal_d_Contact as Contact, emailMarketingV1CampaignCampaigns_universal_d_SearchContactsRequest as SearchContactsRequest, emailMarketingV1CampaignCampaigns_universal_d_SearchContactsResponse as SearchContactsResponse, emailMarketingV1CampaignCampaigns_universal_d_GetLabelsRequest as GetLabelsRequest, emailMarketingV1CampaignCampaigns_universal_d_GetLabelsResponse as GetLabelsResponse, emailMarketingV1CampaignCampaigns_universal_d_Label as Label, emailMarketingV1CampaignCampaigns_universal_d_SubscribeFromLandingPageRequest as SubscribeFromLandingPageRequest, emailMarketingV1CampaignCampaigns_universal_d_SubscribeFromLandingPageResponse as SubscribeFromLandingPageResponse, emailMarketingV1CampaignCampaigns_universal_d_GetPlaceholderKeysRequest as GetPlaceholderKeysRequest, emailMarketingV1CampaignCampaigns_universal_d_GetPlaceholderKeysResponse as GetPlaceholderKeysResponse, emailMarketingV1CampaignCampaigns_universal_d_GetDefaultComponentsRequest as GetDefaultComponentsRequest, emailMarketingV1CampaignCampaigns_universal_d_GetDefaultComponentsResponse as GetDefaultComponentsResponse, DomainEvent$1 as DomainEvent, DomainEventBodyOneOf$1 as DomainEventBodyOneOf, EntityCreatedEvent$1 as EntityCreatedEvent, emailMarketingV1CampaignCampaigns_universal_d_RestoreInfo as RestoreInfo, EntityUpdatedEvent$1 as EntityUpdatedEvent, EntityDeletedEvent$1 as EntityDeletedEvent, ActionEvent$1 as ActionEvent, MessageEnvelope$1 as MessageEnvelope, IdentificationData$1 as IdentificationData, IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf, WebhookIdentityType$1 as WebhookIdentityType, emailMarketingV1CampaignCampaigns_universal_d_ValidateLinkRequest as ValidateLinkRequest, emailMarketingV1CampaignCampaigns_universal_d_ValidateLinkResponse as ValidateLinkResponse, emailMarketingV1CampaignCampaigns_universal_d_ValidateHtmlLinksRequest as ValidateHtmlLinksRequest, emailMarketingV1CampaignCampaigns_universal_d_ValidateHtmlLinksResponse as ValidateHtmlLinksResponse, emailMarketingV1CampaignCampaigns_universal_d_ListStatisticsRequest as ListStatisticsRequest, emailMarketingV1CampaignCampaigns_universal_d_ListStatisticsResponse as ListStatisticsResponse, emailMarketingV1CampaignCampaigns_universal_d_CampaignStatisticsContainer as CampaignStatisticsContainer, emailMarketingV1CampaignCampaigns_universal_d_ListRecipientsRequest as ListRecipientsRequest, emailMarketingV1CampaignCampaigns_universal_d_RecipientsActivityEnum as RecipientsActivityEnum, emailMarketingV1CampaignCampaigns_universal_d_CursorPaging as CursorPaging, emailMarketingV1CampaignCampaigns_universal_d_ListRecipientsResponse as ListRecipientsResponse, emailMarketingV1CampaignCampaigns_universal_d_CampaignRecipientDetails as CampaignRecipientDetails, emailMarketingV1CampaignCampaigns_universal_d_PagingMetadataV2 as PagingMetadataV2, emailMarketingV1CampaignCampaigns_universal_d_Cursors as Cursors, emailMarketingV1CampaignCampaigns_universal_d_UnprocessedTargetEvent as UnprocessedTargetEvent, emailMarketingV1CampaignCampaigns_universal_d_Target as Target, emailMarketingV1CampaignCampaigns_universal_d_TargetType as TargetType, emailMarketingV1CampaignCampaigns_universal_d_File as File, emailMarketingV1CampaignCampaigns_universal_d_GetCampaignMappingRequest as GetCampaignMappingRequest, emailMarketingV1CampaignCampaigns_universal_d_GetCampaignMappingResponse as GetCampaignMappingResponse, emailMarketingV1CampaignCampaigns_universal_d_GetPingCampaignMappingRequest as GetPingCampaignMappingRequest, emailMarketingV1CampaignCampaigns_universal_d_GetPingCampaignMappingResponse as GetPingCampaignMappingResponse, emailMarketingV1CampaignCampaigns_universal_d_QueryAutomationTemplatesRequest as QueryAutomationTemplatesRequest, emailMarketingV1CampaignCampaigns_universal_d_Query as Query, emailMarketingV1CampaignCampaigns_universal_d_Sorting as Sorting, emailMarketingV1CampaignCampaigns_universal_d_SortOrder as SortOrder, emailMarketingV1CampaignCampaigns_universal_d_Paging as Paging, emailMarketingV1CampaignCampaigns_universal_d_QueryAutomationTemplatesResponse as QueryAutomationTemplatesResponse, emailMarketingV1CampaignCampaigns_universal_d_AutomationTemplateContainer as AutomationTemplateContainer, emailMarketingV1CampaignCampaigns_universal_d_AutomationTemplate as AutomationTemplate, emailMarketingV1CampaignCampaigns_universal_d_RuleConfiguration as RuleConfiguration, emailMarketingV1CampaignCampaigns_universal_d_ConditionConfiguration as ConditionConfiguration, emailMarketingV1CampaignCampaigns_universal_d_Operator as Operator, emailMarketingV1CampaignCampaigns_universal_d_TriggerConfiguration as TriggerConfiguration, emailMarketingV1CampaignCampaigns_universal_d_ActionConfiguration as ActionConfiguration, emailMarketingV1CampaignCampaigns_universal_d_RuleStatus as RuleStatus, emailMarketingV1CampaignCampaigns_universal_d_ActivationCycle as ActivationCycle, emailMarketingV1CampaignCampaigns_universal_d_RuleMetadata as RuleMetadata, emailMarketingV1CampaignCampaigns_universal_d_VersionType as VersionType, emailMarketingV1CampaignCampaigns_universal_d_TemplateType as TemplateType, emailMarketingV1CampaignCampaigns_universal_d_Precondition as Precondition, emailMarketingV1CampaignCampaigns_universal_d_PreconditionType as PreconditionType, emailMarketingV1CampaignCampaigns_universal_d_TemplateState as TemplateState, emailMarketingV1CampaignCampaigns_universal_d_Translation as Translation, emailMarketingV1CampaignCampaigns_universal_d_TranslationState as TranslationState, emailMarketingV1CampaignCampaigns_universal_d_AutomationTemplateEnrichmentData as AutomationTemplateEnrichmentData, emailMarketingV1CampaignCampaigns_universal_d_QueryMetadata as QueryMetadata, emailMarketingV1CampaignCampaigns_universal_d_QueryAppTemplatesRequest as QueryAppTemplatesRequest, emailMarketingV1CampaignCampaigns_universal_d_TemplateQueryType as TemplateQueryType, emailMarketingV1CampaignCampaigns_universal_d_QueryAppTemplatesResponse as QueryAppTemplatesResponse, emailMarketingV1CampaignCampaigns_universal_d_TemplateData as TemplateData, emailMarketingV1CampaignCampaigns_universal_d_CampaignLookupRequest as CampaignLookupRequest, emailMarketingV1CampaignCampaigns_universal_d_CampaignLookupResponse as CampaignLookupResponse, emailMarketingV1CampaignCampaigns_universal_d_CampaignLookupBatchRequest as CampaignLookupBatchRequest, emailMarketingV1CampaignCampaigns_universal_d_CampaignLookupBatchResponse as CampaignLookupBatchResponse, emailMarketingV1CampaignCampaigns_universal_d_UpsertTranslationRequest as UpsertTranslationRequest, emailMarketingV1CampaignCampaigns_universal_d_Composer as Composer, emailMarketingV1CampaignCampaigns_universal_d_DefaultValues as DefaultValues, emailMarketingV1CampaignCampaigns_universal_d_UpsertTranslationResponse as UpsertTranslationResponse, emailMarketingV1CampaignCampaigns_universal_d_GetUsedPlaceholderKeysRequest as GetUsedPlaceholderKeysRequest, emailMarketingV1CampaignCampaigns_universal_d_GetUsedPlaceholderKeysResponse as GetUsedPlaceholderKeysResponse, emailMarketingV1CampaignCampaigns_universal_d_GetCampaignRequest as GetCampaignRequest, emailMarketingV1CampaignCampaigns_universal_d_GetCampaignResponse as GetCampaignResponse, emailMarketingV1CampaignCampaigns_universal_d_ListCampaignsRequest as ListCampaignsRequest, emailMarketingV1CampaignCampaigns_universal_d_ListCampaignsResponse as ListCampaignsResponse, emailMarketingV1CampaignCampaigns_universal_d_CountCampaignsRequest as CountCampaignsRequest, emailMarketingV1CampaignCampaigns_universal_d_CountCampaignsResponse as CountCampaignsResponse, emailMarketingV1CampaignCampaigns_universal_d_CreateFromTemplateRequest as CreateFromTemplateRequest, emailMarketingV1CampaignCampaigns_universal_d_CreateFromTemplateResponse as CreateFromTemplateResponse, emailMarketingV1CampaignCampaigns_universal_d_CreateUserTemplateRequest as CreateUserTemplateRequest, emailMarketingV1CampaignCampaigns_universal_d_CreateUserTemplateResponse as CreateUserTemplateResponse, emailMarketingV1CampaignCampaigns_universal_d_CreateFromUserTemplateRequest as CreateFromUserTemplateRequest, emailMarketingV1CampaignCampaigns_universal_d_CreateFromUserTemplateResponse as CreateFromUserTemplateResponse, emailMarketingV1CampaignCampaigns_universal_d_PublishCampaignRequest as PublishCampaignRequest, emailMarketingV1CampaignCampaigns_universal_d_EmailDistributionOptions as EmailDistributionOptions, emailMarketingV1CampaignCampaigns_universal_d_PublishCampaignResponse as PublishCampaignResponse, emailMarketingV1CampaignCampaigns_universal_d_CampaignRejectedEvent as CampaignRejectedEvent, emailMarketingV1CampaignCampaigns_universal_d_CampaignPublishedEvent as CampaignPublishedEvent, emailMarketingV1CampaignCampaigns_universal_d_CampaignTerminatedEvent as CampaignTerminatedEvent, emailMarketingV1CampaignCampaigns_universal_d_CampaignDistributedEvent as CampaignDistributedEvent, emailMarketingV1CampaignCampaigns_universal_d_EmailActivityUpdated as EmailActivityUpdated, emailMarketingV1CampaignCampaigns_universal_d_EmailActivityUpdatedEventTypeOneOf as EmailActivityUpdatedEventTypeOneOf, emailMarketingV1CampaignCampaigns_universal_d_ActivityType as ActivityType, emailMarketingV1CampaignCampaigns_universal_d_Click as Click, emailMarketingV1CampaignCampaigns_universal_d_Open as Open, emailMarketingV1CampaignCampaigns_universal_d_SoftBounce as SoftBounce, emailMarketingV1CampaignCampaigns_universal_d_HardBounce as HardBounce, emailMarketingV1CampaignCampaigns_universal_d_CampaignScheduledEvent as CampaignScheduledEvent, emailMarketingV1CampaignCampaigns_universal_d_SendTestRequest as SendTestRequest, emailMarketingV1CampaignCampaigns_universal_d_PlaceholderContent as PlaceholderContent, emailMarketingV1CampaignCampaigns_universal_d_PlaceholderContentValueOneOf as PlaceholderContentValueOneOf, emailMarketingV1CampaignCampaigns_universal_d_PlainText as PlainText, emailMarketingV1CampaignCampaigns_universal_d_Html as Html, emailMarketingV1CampaignCampaigns_universal_d_Money as Money, emailMarketingV1CampaignCampaigns_universal_d_DateTime as DateTime, emailMarketingV1CampaignCampaigns_universal_d_Map as Map, emailMarketingV1CampaignCampaigns_universal_d__Array as _Array, emailMarketingV1CampaignCampaigns_universal_d_PlaceholderContentEnum as PlaceholderContentEnum, emailMarketingV1CampaignCampaigns_universal_d_Attachment as Attachment, emailMarketingV1CampaignCampaigns_universal_d_Integer as Integer, emailMarketingV1CampaignCampaigns_universal_d_Decimal as Decimal, emailMarketingV1CampaignCampaigns_universal_d_SendTestResponse as SendTestResponse, emailMarketingV1CampaignCampaigns_universal_d_PauseSchedulingRequest as PauseSchedulingRequest, emailMarketingV1CampaignCampaigns_universal_d_PauseSchedulingResponse as PauseSchedulingResponse, emailMarketingV1CampaignCampaigns_universal_d_CampaignPausedEvent as CampaignPausedEvent, emailMarketingV1CampaignCampaigns_universal_d_RescheduleRequest as RescheduleRequest, emailMarketingV1CampaignCampaigns_universal_d_RescheduleResponse as RescheduleResponse, emailMarketingV1CampaignCampaigns_universal_d_ArchiveCampaignRequest as ArchiveCampaignRequest, emailMarketingV1CampaignCampaigns_universal_d_ArchiveCampaignResponse as ArchiveCampaignResponse, emailMarketingV1CampaignCampaigns_universal_d_CampaignArchivedEvent as CampaignArchivedEvent, emailMarketingV1CampaignCampaigns_universal_d_UnarchiveCampaignRequest as UnarchiveCampaignRequest, emailMarketingV1CampaignCampaigns_universal_d_UnarchiveCampaignResponse as UnarchiveCampaignResponse, emailMarketingV1CampaignCampaigns_universal_d_CampaignUnarchivedEvent as CampaignUnarchivedEvent, emailMarketingV1CampaignCampaigns_universal_d_UpdateTitleRequest as UpdateTitleRequest, emailMarketingV1CampaignCampaigns_universal_d_UpdateTitleResponse as UpdateTitleResponse, emailMarketingV1CampaignCampaigns_universal_d_DeleteCampaignRequest as DeleteCampaignRequest, emailMarketingV1CampaignCampaigns_universal_d_DeleteCampaignResponse as DeleteCampaignResponse, emailMarketingV1CampaignCampaigns_universal_d_ReuseCampaignRequest as ReuseCampaignRequest, emailMarketingV1CampaignCampaigns_universal_d_ReuseCampaignResponse as ReuseCampaignResponse, emailMarketingV1CampaignCampaigns_universal_d_PreviewCampaignRequest as PreviewCampaignRequest, emailMarketingV1CampaignCampaigns_universal_d_PreviewCampaignResponse as PreviewCampaignResponse, emailMarketingV1CampaignCampaigns_universal_d_GetComposerRequest as GetComposerRequest, emailMarketingV1CampaignCampaigns_universal_d_GetComposerResponse as GetComposerResponse, emailMarketingV1CampaignCampaigns_universal_d_UpdateComposerRequest as UpdateComposerRequest, emailMarketingV1CampaignCampaigns_universal_d_CampaignEditorType as CampaignEditorType, emailMarketingV1CampaignCampaigns_universal_d_UpdateComposerResponse as UpdateComposerResponse, emailMarketingV1CampaignCampaigns_universal_d_CreateCampaignRequest as CreateCampaignRequest, emailMarketingV1CampaignCampaigns_universal_d_CreateCampaignResponse as CreateCampaignResponse, emailMarketingV1CampaignCampaigns_universal_d_ResendToNonOpenersRequest as ResendToNonOpenersRequest, emailMarketingV1CampaignCampaigns_universal_d_ResendToNonOpenersResponse as ResendToNonOpenersResponse, emailMarketingV1CampaignCampaigns_universal_d_EstimateFilterSizeOptions as EstimateFilterSizeOptions, emailMarketingV1CampaignCampaigns_universal_d_EstimateAudienceSizeOptions as EstimateAudienceSizeOptions, emailMarketingV1CampaignCampaigns_universal_d_SearchContactsOptions as SearchContactsOptions, emailMarketingV1CampaignCampaigns_universal_d_GetLabelsOptions as GetLabelsOptions, emailMarketingV1CampaignCampaigns_universal_d_SubscribeFromLandingPageOptions as SubscribeFromLandingPageOptions, emailMarketingV1CampaignCampaigns_universal_d_listStatistics as listStatistics, emailMarketingV1CampaignCampaigns_universal_d_listRecipients as listRecipients, emailMarketingV1CampaignCampaigns_universal_d_ListRecipientsOptions as ListRecipientsOptions, emailMarketingV1CampaignCampaigns_universal_d_GetCampaignMappingIdentifiers as GetCampaignMappingIdentifiers, emailMarketingV1CampaignCampaigns_universal_d_GetPingCampaignMappingIdentifiers as GetPingCampaignMappingIdentifiers, emailMarketingV1CampaignCampaigns_universal_d_GetPingCampaignMappingOptions as GetPingCampaignMappingOptions, emailMarketingV1CampaignCampaigns_universal_d_QueryAutomationTemplatesOptions as QueryAutomationTemplatesOptions, emailMarketingV1CampaignCampaigns_universal_d_QueryAppTemplatesOptions as QueryAppTemplatesOptions, emailMarketingV1CampaignCampaigns_universal_d_CampaignLookupBatchOptions as CampaignLookupBatchOptions, emailMarketingV1CampaignCampaigns_universal_d_UpsertTranslationOptions as UpsertTranslationOptions, emailMarketingV1CampaignCampaigns_universal_d_getCampaign as getCampaign, emailMarketingV1CampaignCampaigns_universal_d_GetCampaignOptions as GetCampaignOptions, emailMarketingV1CampaignCampaigns_universal_d_listCampaigns as listCampaigns, emailMarketingV1CampaignCampaigns_universal_d_ListCampaignsOptions as ListCampaignsOptions, emailMarketingV1CampaignCampaigns_universal_d_CountOptions as CountOptions, emailMarketingV1CampaignCampaigns_universal_d_CreateFromTemplateOptions as CreateFromTemplateOptions, emailMarketingV1CampaignCampaigns_universal_d_CreateUserTemplateOptions as CreateUserTemplateOptions, emailMarketingV1CampaignCampaigns_universal_d_publishCampaign as publishCampaign, emailMarketingV1CampaignCampaigns_universal_d_PublishCampaignOptions as PublishCampaignOptions, emailMarketingV1CampaignCampaigns_universal_d_sendTest as sendTest, emailMarketingV1CampaignCampaigns_universal_d_SendTestOptions as SendTestOptions, emailMarketingV1CampaignCampaigns_universal_d_pauseScheduling as pauseScheduling, emailMarketingV1CampaignCampaigns_universal_d_reschedule as reschedule, emailMarketingV1CampaignCampaigns_universal_d_deleteCampaign as deleteCampaign, emailMarketingV1CampaignCampaigns_universal_d_reuseCampaign as reuseCampaign, emailMarketingV1CampaignCampaigns_universal_d_PreviewOptions as PreviewOptions, emailMarketingV1CampaignCampaigns_universal_d_GetComposerOptions as GetComposerOptions, emailMarketingV1CampaignCampaigns_universal_d_UpdateComposerOptions as UpdateComposerOptions, emailMarketingV1CampaignCampaigns_universal_d_CreateOptions as CreateOptions, emailMarketingV1CampaignCampaigns_universal_d_ResendToNonOpenersOptions as ResendToNonOpenersOptions, };\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    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    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    interface EntityDeletedEvent {\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 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     * @permissionScope Manage Email Marketing\n     * @permissionScopeId SCOPE.DC-PROMOTE.EMAIL-MARKETING\n     * @applicableIdentity APP\n     * @adminMethod\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     * @permissionScope Manage Email Marketing\n     * @permissionScopeId SCOPE.DC-PROMOTE.EMAIL-MARKETING\n     * @applicableIdentity APP\n     * @adminMethod\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     * @permissionScope Manage Email Marketing\n     * @permissionScopeId SCOPE.DC-PROMOTE.EMAIL-MARKETING\n     * @applicableIdentity APP\n     * @adminMethod\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     * @permissionScope Manage Email Marketing\n     * @permissionScopeId SCOPE.DC-PROMOTE.EMAIL-MARKETING\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function resolveActualFromAddress(fromAddress: string): Promise<ResolveActualFromAddressResponse>;\n    type emailMarketingV1SenderDetailsSenderDetails_universal_d_SenderDetails = SenderDetails;\n    type emailMarketingV1SenderDetailsSenderDetails_universal_d_GetSenderDetailsRequest = GetSenderDetailsRequest;\n    type emailMarketingV1SenderDetailsSenderDetails_universal_d_GetSenderDetailsResponse = GetSenderDetailsResponse;\n    type emailMarketingV1SenderDetailsSenderDetails_universal_d_UpdateSenderDetailsRequest = UpdateSenderDetailsRequest;\n    type emailMarketingV1SenderDetailsSenderDetails_universal_d_UpdateSenderDetailsResponse = UpdateSenderDetailsResponse;\n    type emailMarketingV1SenderDetailsSenderDetails_universal_d_VerifySenderEmailRequest = VerifySenderEmailRequest;\n    type emailMarketingV1SenderDetailsSenderDetails_universal_d_VerifySenderEmailResponse = VerifySenderEmailResponse;\n    type emailMarketingV1SenderDetailsSenderDetails_universal_d_ResolveActualFromAddressRequest = ResolveActualFromAddressRequest;\n    type emailMarketingV1SenderDetailsSenderDetails_universal_d_ResolveActualFromAddressResponse = ResolveActualFromAddressResponse;\n    type emailMarketingV1SenderDetailsSenderDetails_universal_d_DomainEvent = DomainEvent;\n    type emailMarketingV1SenderDetailsSenderDetails_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n    type emailMarketingV1SenderDetailsSenderDetails_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n    type emailMarketingV1SenderDetailsSenderDetails_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n    type emailMarketingV1SenderDetailsSenderDetails_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n    type emailMarketingV1SenderDetailsSenderDetails_universal_d_ActionEvent = ActionEvent;\n    type emailMarketingV1SenderDetailsSenderDetails_universal_d_MessageEnvelope = MessageEnvelope;\n    type emailMarketingV1SenderDetailsSenderDetails_universal_d_IdentificationData = IdentificationData;\n    type emailMarketingV1SenderDetailsSenderDetails_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n    type emailMarketingV1SenderDetailsSenderDetails_universal_d_WebhookIdentityType = WebhookIdentityType;\n    const emailMarketingV1SenderDetailsSenderDetails_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n    const emailMarketingV1SenderDetailsSenderDetails_universal_d_getSenderDetails: typeof getSenderDetails;\n    const emailMarketingV1SenderDetailsSenderDetails_universal_d_updateSenderDetails: typeof updateSenderDetails;\n    const emailMarketingV1SenderDetailsSenderDetails_universal_d_verifyEmail: typeof verifyEmail;\n    const emailMarketingV1SenderDetailsSenderDetails_universal_d_resolveActualFromAddress: typeof resolveActualFromAddress;\n    namespace emailMarketingV1SenderDetailsSenderDetails_universal_d {\n        export { emailMarketingV1SenderDetailsSenderDetails_universal_d_SenderDetails as SenderDetails, emailMarketingV1SenderDetailsSenderDetails_universal_d_GetSenderDetailsRequest as GetSenderDetailsRequest, emailMarketingV1SenderDetailsSenderDetails_universal_d_GetSenderDetailsResponse as GetSenderDetailsResponse, emailMarketingV1SenderDetailsSenderDetails_universal_d_UpdateSenderDetailsRequest as UpdateSenderDetailsRequest, emailMarketingV1SenderDetailsSenderDetails_universal_d_UpdateSenderDetailsResponse as UpdateSenderDetailsResponse, emailMarketingV1SenderDetailsSenderDetails_universal_d_VerifySenderEmailRequest as VerifySenderEmailRequest, emailMarketingV1SenderDetailsSenderDetails_universal_d_VerifySenderEmailResponse as VerifySenderEmailResponse, emailMarketingV1SenderDetailsSenderDetails_universal_d_ResolveActualFromAddressRequest as ResolveActualFromAddressRequest, emailMarketingV1SenderDetailsSenderDetails_universal_d_ResolveActualFromAddressResponse as ResolveActualFromAddressResponse, emailMarketingV1SenderDetailsSenderDetails_universal_d_DomainEvent as DomainEvent, emailMarketingV1SenderDetailsSenderDetails_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf, emailMarketingV1SenderDetailsSenderDetails_universal_d_EntityCreatedEvent as EntityCreatedEvent, emailMarketingV1SenderDetailsSenderDetails_universal_d_EntityUpdatedEvent as EntityUpdatedEvent, emailMarketingV1SenderDetailsSenderDetails_universal_d_EntityDeletedEvent as EntityDeletedEvent, emailMarketingV1SenderDetailsSenderDetails_universal_d_ActionEvent as ActionEvent, emailMarketingV1SenderDetailsSenderDetails_universal_d_MessageEnvelope as MessageEnvelope, emailMarketingV1SenderDetailsSenderDetails_universal_d_IdentificationData as IdentificationData, emailMarketingV1SenderDetailsSenderDetails_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf, emailMarketingV1SenderDetailsSenderDetails_universal_d_WebhookIdentityType as WebhookIdentityType, emailMarketingV1SenderDetailsSenderDetails_universal_d_getSenderDetails as getSenderDetails, emailMarketingV1SenderDetailsSenderDetails_universal_d_updateSenderDetails as updateSenderDetails, emailMarketingV1SenderDetailsSenderDetails_universal_d_verifyEmail as verifyEmail, emailMarketingV1SenderDetailsSenderDetails_universal_d_resolveActualFromAddress as resolveActualFromAddress, };\n    }\n    export { emailMarketingV1AccountDetailsAccountDetails_universal_d as accountDetails, emailMarketingV1CampaignCampaigns_universal_d as campaigns, emailMarketingV1SenderDetailsSenderDetails_universal_d as senderDetails };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-bookings.v2.d.ts",
      "content": "declare module \"wix-bookings.v2\" {\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$1 {\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$1;\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    enum AttendanceStatus$1 {\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$1;\n    }\n    interface SetAttendanceRequest {\n        /** The attendance information for a booked session that you want to create or update. */\n        attendance: Attendance$1;\n    }\n    interface SetAttendanceResponse {\n        /** The created or updated attendance information for the booked session. */\n        attendance?: Attendance$1;\n    }\n    interface BulkSetAttendanceRequest {\n        /** The attendance information for a booked sessions that you want to create or update. */\n        attendanceList: Attendance$1[];\n        returnFullEntity?: boolean;\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$2;\n    }\n    interface BulkAttendanceResult {\n        item?: Attendance$1;\n        itemMetadata?: ItemMetadata$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 QueryAttendanceRequest {\n        /** Query options. */\n        query: QueryV2$6;\n    }\n    interface QueryV2$6 extends QueryV2PagingMethodOneOf$6 {\n        /** Cursors to navigate through the result pages using `next` and `prev`. */\n        cursorPaging?: CursorPaging$7;\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$5[];\n    }\n    /** @oneof */\n    interface QueryV2PagingMethodOneOf$6 {\n        /** Cursors to navigate through the result pages using `next` and `prev`. */\n        cursorPaging?: CursorPaging$7;\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    /**\n     * Sort order. Use `ASC` for ascending order or `DESC` for descending order.\n     *\n     * Default: `ASC`.\n     */\n    enum SortOrder$5 {\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$7 {\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$1[];\n        /** Details on the paged set of results returned. */\n        pagingMetadata?: CursorPagingMetadata$4;\n    }\n    /** This is the preferred message for cursor-paging enabled services */\n    interface CursorPagingMetadata$4 {\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$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 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    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    interface EntityDeletedEvent$4 {\n        /** Entity that was deleted */\n        deletedEntityAsJson?: 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$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$3;\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$3 {\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Read Bookings - Including Participants\n     * @permissionScopeId SCOPE.DC-BOOKINGS.READ-BOOKINGS-SENSITIVE\n     * @permissionScope Read Bookings - all read permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.READ-BOOKINGS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\n     * @returns The retrieved attendance information for the booked session.\n     */\n    function getAttendance(attendanceId: string): Promise<Attendance$1>;\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     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function setAttendance(attendance: Attendance$1): Promise<SetAttendanceResponse>;\n    interface BulkSetAttendanceOptions {\n        returnFullEntity?: boolean;\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 `withBookingAttendanceInfo` 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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Read Bookings - Including Participants\n     * @permissionScopeId SCOPE.DC-BOOKINGS.READ-BOOKINGS-SENSITIVE\n     * @permissionScope Read Bookings - all read permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.READ-BOOKINGS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\n     */\n    function queryAttendance(): AttendancesQueryBuilder;\n    interface QueryCursorResult$2 {\n        cursors: Cursors$7;\n        hasNext: () => boolean;\n        hasPrev: () => boolean;\n        length: number;\n        pageSize: number;\n    }\n    interface AttendancesQueryResult extends QueryCursorResult$2 {\n        items: Attendance$1[];\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    type bookingsV2AttendanceAttendance_universal_d_GetAttendanceRequest = GetAttendanceRequest;\n    type bookingsV2AttendanceAttendance_universal_d_GetAttendanceResponse = GetAttendanceResponse;\n    type bookingsV2AttendanceAttendance_universal_d_SetAttendanceRequest = SetAttendanceRequest;\n    type bookingsV2AttendanceAttendance_universal_d_SetAttendanceResponse = SetAttendanceResponse;\n    type bookingsV2AttendanceAttendance_universal_d_BulkSetAttendanceRequest = BulkSetAttendanceRequest;\n    type bookingsV2AttendanceAttendance_universal_d_BulkSetAttendanceResponse = BulkSetAttendanceResponse;\n    type bookingsV2AttendanceAttendance_universal_d_BulkAttendanceResult = BulkAttendanceResult;\n    type bookingsV2AttendanceAttendance_universal_d_QueryAttendanceRequest = QueryAttendanceRequest;\n    type bookingsV2AttendanceAttendance_universal_d_QueryAttendanceResponse = QueryAttendanceResponse;\n    const bookingsV2AttendanceAttendance_universal_d_getAttendance: typeof getAttendance;\n    const bookingsV2AttendanceAttendance_universal_d_setAttendance: typeof setAttendance;\n    type bookingsV2AttendanceAttendance_universal_d_BulkSetAttendanceOptions = BulkSetAttendanceOptions;\n    const bookingsV2AttendanceAttendance_universal_d_queryAttendance: typeof queryAttendance;\n    type bookingsV2AttendanceAttendance_universal_d_AttendancesQueryResult = AttendancesQueryResult;\n    type bookingsV2AttendanceAttendance_universal_d_AttendancesQueryBuilder = AttendancesQueryBuilder;\n    namespace bookingsV2AttendanceAttendance_universal_d {\n        export { Attendance$1 as Attendance, AttendanceStatus$1 as AttendanceStatus, bookingsV2AttendanceAttendance_universal_d_GetAttendanceRequest as GetAttendanceRequest, bookingsV2AttendanceAttendance_universal_d_GetAttendanceResponse as GetAttendanceResponse, bookingsV2AttendanceAttendance_universal_d_SetAttendanceRequest as SetAttendanceRequest, bookingsV2AttendanceAttendance_universal_d_SetAttendanceResponse as SetAttendanceResponse, bookingsV2AttendanceAttendance_universal_d_BulkSetAttendanceRequest as BulkSetAttendanceRequest, bookingsV2AttendanceAttendance_universal_d_BulkSetAttendanceResponse as BulkSetAttendanceResponse, bookingsV2AttendanceAttendance_universal_d_BulkAttendanceResult as BulkAttendanceResult, ItemMetadata$2 as ItemMetadata, ApplicationError$2 as ApplicationError, BulkActionMetadata$2 as BulkActionMetadata, bookingsV2AttendanceAttendance_universal_d_QueryAttendanceRequest as QueryAttendanceRequest, QueryV2$6 as QueryV2, QueryV2PagingMethodOneOf$6 as QueryV2PagingMethodOneOf, Sorting$5 as Sorting, SortOrder$5 as SortOrder, Paging$4 as Paging, CursorPaging$7 as CursorPaging, bookingsV2AttendanceAttendance_universal_d_QueryAttendanceResponse as QueryAttendanceResponse, CursorPagingMetadata$4 as CursorPagingMetadata, Cursors$7 as Cursors, DomainEvent$4 as DomainEvent, DomainEventBodyOneOf$4 as DomainEventBodyOneOf, EntityCreatedEvent$4 as EntityCreatedEvent, EntityUpdatedEvent$4 as EntityUpdatedEvent, EntityDeletedEvent$4 as EntityDeletedEvent, ActionEvent$4 as ActionEvent, MessageEnvelope$3 as MessageEnvelope, IdentificationData$5 as IdentificationData, IdentificationDataIdOneOf$5 as IdentificationDataIdOneOf, WebhookIdentityType$3 as WebhookIdentityType, bookingsV2AttendanceAttendance_universal_d_getAttendance as getAttendance, bookingsV2AttendanceAttendance_universal_d_setAttendance as setAttendance, bookingsV2AttendanceAttendance_universal_d_BulkSetAttendanceOptions as BulkSetAttendanceOptions, bookingsV2AttendanceAttendance_universal_d_queryAttendance as queryAttendance, bookingsV2AttendanceAttendance_universal_d_AttendancesQueryResult as AttendancesQueryResult, bookingsV2AttendanceAttendance_universal_d_AttendancesQueryBuilder as AttendancesQueryBuilder, };\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;\n    }\n    enum AttendanceStatus {\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         * 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$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         * @readonly\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;\n        /** External ID provided by the client app on creation. */\n        externalUserId?: string | 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$4;\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         * 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$3;\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$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         * 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$8;\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        /** 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$8 {\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$8;\n    }\n    enum LocationType$8 {\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$8;\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$7;\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$7 extends AddressStreetOneOf$7 {\n        /** Street name, number and apartment number. */\n        streetAddress?: StreetAddress$7;\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$7;\n        /** Country full name. */\n        countryFullname?: string | null;\n        /** Multi-level subdivisions from top to bottom. */\n        subdivisions?: Subdivision$7[];\n    }\n    /** @oneof */\n    interface AddressStreetOneOf$7 {\n        /** Street name, number and apartment 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        /** Apartment number. */\n        apt?: string;\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        /** 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        /**\n         * <!--ONLY:VELO\n         * One of:\n         * - `\"SHORT_TEXT\"`\n         * - `\"LONG_TEXT\"`\n         * - `\"CHECK_BOX\"`\n         * <!--END:ONLY:VELO-->\n         */\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        /**\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$2;\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$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$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    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    /** @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    interface FlowControlSettings$2 {\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$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 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$3[];\n    }\n    interface ServiceChoice$3 extends ServiceChoiceChoiceOneOf$3 {\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$3 {\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         * Deprecated.\n         * Whether the customer is entitled to a refund when canceling the booking.\n         */\n        refund?: boolean | null;\n    }\n    interface Attendance {\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;\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    interface CancellationFeeDetails {\n        /** Specifies whether this booking require cancellation fee */\n        required?: boolean | null;\n        /** the amount of the cancellation fee */\n        amount?: Money$2;\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        /** 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 QueryExtendedBookingRequest {\n        /** Information about filters, paging, and sorting. */\n        query: QueryV2$5;\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    interface QueryV2$5 extends QueryV2PagingMethodOneOf$5 {\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$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$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$5 {\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$6;\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$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$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 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$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    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 QueryExtendedBookingsRequest {\n        /** Information about filters, paging, and sorting. */\n        query: CommonQueryV2$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    interface CommonQueryV2$1 extends CommonQueryV2PagingMethodOneOf$1 {\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$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         *   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$4[];\n    }\n    /** @oneof */\n    interface CommonQueryV2PagingMethodOneOf$1 {\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$6;\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$5;\n    }\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    /**\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     *\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     * @requiredField query\n     * @param query - Information about filters, paging, and sorting.\n     * @param options - Additional options for performing the query.\n     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Read Bookings - Including Participants\n     * @permissionScopeId SCOPE.DC-BOOKINGS.READ-BOOKINGS-SENSITIVE\n     * @permissionScope Read Bookings - all read permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.READ-BOOKINGS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @permissionScope Read bookings calendar - including participants\n     * @permissionScopeId SCOPE.DC-BOOKINGS.READ-CALENDAR-WITH-PARTICIPANTS\n     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Read Bookings - Including Participants\n     * @permissionScopeId SCOPE.DC-BOOKINGS.READ-BOOKINGS-SENSITIVE\n     * @permissionScope Read Bookings - all read permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.READ-BOOKINGS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\n     */\n    function queryExtendedBookings(query: CommonQueryV2$1, 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    }\n    type bookingsReaderV2ExtendedBookingExtendedBookings_universal_d_ExtendedBooking = ExtendedBooking;\n    type bookingsReaderV2ExtendedBookingExtendedBookings_universal_d_AttendanceStatus = AttendanceStatus;\n    const bookingsReaderV2ExtendedBookingExtendedBookings_universal_d_AttendanceStatus: typeof AttendanceStatus;\n    type bookingsReaderV2ExtendedBookingExtendedBookings_universal_d_Attendance = Attendance;\n    type bookingsReaderV2ExtendedBookingExtendedBookings_universal_d_ConferencingDetails = ConferencingDetails;\n    type bookingsReaderV2ExtendedBookingExtendedBookings_universal_d_CancellationFeeDetails = CancellationFeeDetails;\n    type bookingsReaderV2ExtendedBookingExtendedBookings_universal_d_QueryExtendedBookingRequest = QueryExtendedBookingRequest;\n    type bookingsReaderV2ExtendedBookingExtendedBookings_universal_d_QueryExtendedBookingResponse = QueryExtendedBookingResponse;\n    type bookingsReaderV2ExtendedBookingExtendedBookings_universal_d_QueryExtendedBookingsRequest = QueryExtendedBookingsRequest;\n    type bookingsReaderV2ExtendedBookingExtendedBookings_universal_d_CommonPaging = CommonPaging;\n    type bookingsReaderV2ExtendedBookingExtendedBookings_universal_d_QueryExtendedBookingsResponse = QueryExtendedBookingsResponse;\n    const bookingsReaderV2ExtendedBookingExtendedBookings_universal_d_queryExtendedBookings: typeof queryExtendedBookings;\n    type bookingsReaderV2ExtendedBookingExtendedBookings_universal_d_QueryExtendedBookingsOptions = QueryExtendedBookingsOptions;\n    namespace bookingsReaderV2ExtendedBookingExtendedBookings_universal_d {\n        export { bookingsReaderV2ExtendedBookingExtendedBookings_universal_d_ExtendedBooking as ExtendedBooking, bookingsReaderV2ExtendedBookingExtendedBookings_universal_d_AttendanceStatus as AttendanceStatus, Booking$2 as Booking, BookingParticipantsInfoOneOf$2 as BookingParticipantsInfoOneOf, MultiServiceBookingType$2 as MultiServiceBookingType, BookedEntity$2 as BookedEntity, BookedEntityItemOneOf$2 as BookedEntityItemOneOf, BookedSlot$2 as BookedSlot, BookedResource$2 as BookedResource, Location$8 as Location, LocationType$8 as LocationType, BookedSchedule$2 as BookedSchedule, ContactDetails$2 as ContactDetails, Address$7 as Address, AddressStreetOneOf$7 as AddressStreetOneOf, StreetAddress$7 as StreetAddress, AddressLocation$7 as AddressLocation, Subdivision$7 as Subdivision, CustomFormField$2 as CustomFormField, ValueType$2 as ValueType, BookingStatus$2 as BookingStatus, PaymentStatus$2 as PaymentStatus, SelectedPaymentOption$2 as SelectedPaymentOption, BookingSource$2 as BookingSource, Platform$2 as Platform, Actor$2 as Actor, ParticipantNotification$7 as ParticipantNotification, IdentificationData$4 as IdentificationData, IdentificationDataIdOneOf$4 as IdentificationDataIdOneOf, IdentityType$2 as IdentityType, FlowControlSettings$2 as FlowControlSettings, ExtendedFields$3 as ExtendedFields, ParticipantChoices$2 as ParticipantChoices, ServiceChoices$2 as ServiceChoices, ServiceChoice$3 as ServiceChoice, ServiceChoiceChoiceOneOf$3 as ServiceChoiceChoiceOneOf, MultiServiceBookingInfo$2 as MultiServiceBookingInfo, AllowedActions$1 as AllowedActions, bookingsReaderV2ExtendedBookingExtendedBookings_universal_d_Attendance as Attendance, bookingsReaderV2ExtendedBookingExtendedBookings_universal_d_ConferencingDetails as ConferencingDetails, bookingsReaderV2ExtendedBookingExtendedBookings_universal_d_CancellationFeeDetails as CancellationFeeDetails, Money$2 as Money, bookingsReaderV2ExtendedBookingExtendedBookings_universal_d_QueryExtendedBookingRequest as QueryExtendedBookingRequest, QueryV2$5 as QueryV2, QueryV2PagingMethodOneOf$5 as QueryV2PagingMethodOneOf, Sorting$4 as Sorting, SortOrder$4 as SortOrder, Paging$3 as Paging, CursorPaging$6 as CursorPaging, bookingsReaderV2ExtendedBookingExtendedBookings_universal_d_QueryExtendedBookingResponse as QueryExtendedBookingResponse, PagingMetadataV2$5 as PagingMetadataV2, Cursors$6 as Cursors, bookingsReaderV2ExtendedBookingExtendedBookings_universal_d_QueryExtendedBookingsRequest as QueryExtendedBookingsRequest, CommonQueryV2$1 as CommonQueryV2, CommonQueryV2PagingMethodOneOf$1 as CommonQueryV2PagingMethodOneOf, bookingsReaderV2ExtendedBookingExtendedBookings_universal_d_CommonPaging as CommonPaging, bookingsReaderV2ExtendedBookingExtendedBookings_universal_d_QueryExtendedBookingsResponse as QueryExtendedBookingsResponse, QueryOptions$1 as QueryOptions, bookingsReaderV2ExtendedBookingExtendedBookings_universal_d_queryExtendedBookings as queryExtendedBookings, bookingsReaderV2ExtendedBookingExtendedBookings_universal_d_QueryExtendedBookingsOptions as QueryExtendedBookingsOptions, };\n    }\n    interface PriceInfo extends PriceInfoTotalPriceOneOf {\n        /**\n         * Calculated total price. Available only when the\n         * 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. Available only when the\n         * service's\n         * price has been set up as a text value in the\n         * `schedule.rate.priceText` property.\n         */\n        priceDescription?: string;\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    /** @oneof */\n    interface PriceInfoTotalPriceOneOf {\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 a numerical value in the\n         * [`schedule.rate.labeledPriceOptions`](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/schedule/schedule-object) 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 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         */\n        priceDescription?: string;\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$2[];\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$2 extends ServiceChoiceChoiceOneOf$2 {\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$2 {\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 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$1;\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         * 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$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         * @readonly\n         */\n        paymentStatus?: PaymentStatus$1;\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$1;\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        /** 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$3;\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         * 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$2;\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$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         * 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$7;\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        /** 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$7 {\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$7;\n    }\n    enum LocationType$7 {\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$7;\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). 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$6;\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$6 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 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        /**\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$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        /**\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$1;\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$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$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    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        /** 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    /** @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 FlowControlSettings$1 {\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$2 {\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$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$2[];\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 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     * [Bookings Pricing Integration REST SPI](https://dev.wix.com/api/rest/wix-bookings/pricing-integration-spi). 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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Read Bookings - Including Participants\n     * @permissionScopeId SCOPE.DC-BOOKINGS.READ-BOOKINGS-SENSITIVE\n     * @permissionScope Read Bookings - all read permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.READ-BOOKINGS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\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()`](https://www.wix.com/velo/reference/wix-bookings-v2/pricing/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()`](https://www.wix.com/velo/reference/wix-bookings-v2/pricing/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()`](https://www.wix.com/velo/reference/wix-bookings-v2/pricing/calculateprice).\n     *\n     * Alternatively you can customize the pricing logic using the\n     * [Bookings Pricing Integration REST SPI](https://dev.wix.com/api/rest/wix-bookings/pricing-integration-spi).\n     * If you integrate with a pricing provider, the customized pricing logic becomes\n     * the default logic. This means that, if the Pricing Integration SPI 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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Read Bookings - Including Participants\n     * @permissionScopeId SCOPE.DC-BOOKINGS.READ-BOOKINGS-SENSITIVE\n     * @permissionScope Read Bookings - all read permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.READ-BOOKINGS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\n     */\n    function calculatePrice(booking: Booking$1): Promise<CalculatePriceResponse>;\n    type bookingsV2PriceInfoPricing_universal_d_PriceInfo = PriceInfo;\n    type bookingsV2PriceInfoPricing_universal_d_PriceInfoTotalPriceOneOf = PriceInfoTotalPriceOneOf;\n    type bookingsV2PriceInfoPricing_universal_d_BookingLineItem = BookingLineItem;\n    type bookingsV2PriceInfoPricing_universal_d_PreviewPriceRequest = PreviewPriceRequest;\n    type bookingsV2PriceInfoPricing_universal_d_PreviewPriceResponse = PreviewPriceResponse;\n    type bookingsV2PriceInfoPricing_universal_d_CalculatePriceRequest = CalculatePriceRequest;\n    type bookingsV2PriceInfoPricing_universal_d_CalculatePriceResponse = CalculatePriceResponse;\n    const bookingsV2PriceInfoPricing_universal_d_previewPrice: typeof previewPrice;\n    const bookingsV2PriceInfoPricing_universal_d_calculatePrice: typeof calculatePrice;\n    namespace bookingsV2PriceInfoPricing_universal_d {\n        export { bookingsV2PriceInfoPricing_universal_d_PriceInfo as PriceInfo, bookingsV2PriceInfoPricing_universal_d_PriceInfoTotalPriceOneOf as PriceInfoTotalPriceOneOf, bookingsV2PriceInfoPricing_universal_d_BookingLineItem as BookingLineItem, ServiceChoice$2 as ServiceChoice, ServiceChoiceChoiceOneOf$2 as ServiceChoiceChoiceOneOf, bookingsV2PriceInfoPricing_universal_d_PreviewPriceRequest as PreviewPriceRequest, bookingsV2PriceInfoPricing_universal_d_PreviewPriceResponse as PreviewPriceResponse, bookingsV2PriceInfoPricing_universal_d_CalculatePriceRequest as CalculatePriceRequest, Booking$1 as Booking, BookingParticipantsInfoOneOf$1 as BookingParticipantsInfoOneOf, MultiServiceBookingType$1 as MultiServiceBookingType, BookedEntity$1 as BookedEntity, BookedEntityItemOneOf$1 as BookedEntityItemOneOf, BookedSlot$1 as BookedSlot, BookedResource$1 as BookedResource, Location$7 as Location, LocationType$7 as LocationType, BookedSchedule$1 as BookedSchedule, ContactDetails$1 as ContactDetails, Address$6 as Address, AddressStreetOneOf$6 as AddressStreetOneOf, StreetAddress$6 as StreetAddress, AddressLocation$6 as AddressLocation, Subdivision$6 as Subdivision, CustomFormField$1 as CustomFormField, ValueType$1 as ValueType, BookingStatus$1 as BookingStatus, PaymentStatus$1 as PaymentStatus, SelectedPaymentOption$1 as SelectedPaymentOption, BookingSource$1 as BookingSource, Platform$1 as Platform, Actor$1 as Actor, ParticipantNotification$6 as ParticipantNotification, IdentificationData$3 as IdentificationData, IdentificationDataIdOneOf$3 as IdentificationDataIdOneOf, IdentityType$1 as IdentityType, FlowControlSettings$1 as FlowControlSettings, ExtendedFields$2 as ExtendedFields, ParticipantChoices$1 as ParticipantChoices, ServiceChoices$1 as ServiceChoices, MultiServiceBookingInfo$1 as MultiServiceBookingInfo, bookingsV2PriceInfoPricing_universal_d_CalculatePriceResponse as CalculatePriceResponse, bookingsV2PriceInfoPricing_universal_d_previewPrice as previewPrice, bookingsV2PriceInfoPricing_universal_d_calculatePrice as calculatePrice, };\n    }\n    const __debug$1: {\n        verboseLogging: {\n            on: () => boolean;\n            off: () => boolean;\n        };\n    };\n    interface Session$4 {\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;\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$4;\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$4;\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$4[];\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         */\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        /** Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead. */\n        rate?: Rate$4;\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$4[];\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        /** __Deprecated.__ */\n        externalCalendarOverrides?: ExternalCalendarOverrides$4;\n        /**\n         * Session status.\n         *\n         * Supported values:\n         * - `CONFIRMED`: Default value.\n         * - `CANCELLED`: The session was deleted.\n         * @readonly\n         */\n        status?: Status$4;\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         */\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        /**\n         * Session type.\n         *\n         * Supported values:\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        type?: SessionType$4;\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         */\n        calendarConference?: CalendarConference$4;\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 session version.\n         * Composed by the schedule, session and participants versions.\n         * @readonly\n         */\n        version?: Version$4;\n    }\n    interface CalendarDateTime$4 {\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;\n        /** An object containing the local date and time for the business's time zone. */\n        localDateTime?: LocalDateTime$4;\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$4 {\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 LinkedSchedule$4 {\n        /** Schedule ID. */\n        scheduleId?: string;\n        /**\n         * Sets this schedule's availability for the duration of the linked schedule's sessions.\n         *\n         * Supported values:\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         *\n         * Default: `BUSY`\n         */\n        transparency?: Transparency$4;\n        /**\n         * Owner ID, of the linked schedule.\n         * @readonly\n         */\n        scheduleOwnerId?: string;\n    }\n    enum Transparency$4 {\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    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        /** 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$5;\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$5 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$4 {\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$4;\n        /**\n         * Location type.\n         *\n         * **Note:** Currently not supported.\n         */\n        locationType?: LocationsLocationType$4;\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$4;\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://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$4[];\n    }\n    /** For future use */\n    enum LocationStatus$4 {\n        ACTIVE = \"ACTIVE\",\n        INACTIVE = \"INACTIVE\"\n    }\n    /** For future use */\n    enum LocationsLocationType$4 {\n        UNKNOWN = \"UNKNOWN\",\n        BRANCH = \"BRANCH\",\n        OFFICES = \"OFFICES\",\n        RECEPTION = \"RECEPTION\",\n        HEADQUARTERS = \"HEADQUARTERS\",\n        INVENTORY = \"INVENTORY\"\n    }\n    interface LocationsAddress$4 {\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$4;\n        /** Full address of the location. */\n        formatted?: string | null;\n        /** Geographic coordinates of location. */\n        location?: LocationsAddressLocation$4;\n    }\n    /** Street address. Includes street name, number, and apartment number in separate fields. */\n    interface LocationsStreetAddress$4 {\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$4 {\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$4 {\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    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    interface Participant$4 {\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         *\n         * Supported values:\n         * - `PENDING`: Pending business approval.\n         * - `APPROVED`: Approved by the business.\n         * - `DECLINED`: Declined by the business.\n         */\n        approvalStatus?: ApprovalStatus$4;\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$4 {\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 ExternalCalendarInfo$4 {\n        /** The external calendar type (e.g. Google Calendar, iCal, etc). */\n        calendarType?: CalendarType$4;\n    }\n    enum CalendarType$4 {\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 ExternalCalendarOverrides$4 {\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 Status$4 {\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$4 {\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 CalendarConference$4 {\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         *\n         * Supported values:\n         * - `ONLINE_MEETING_PROVIDER`: API-generated online meeting.\n         * - `CUSTOM`: User-defined meeting.\n         */\n        conferenceType?: ConferenceType$4;\n        /** ID of the account owner in the video conferencing service. */\n        accountOwnerId?: string | null;\n    }\n    enum ConferenceType$4 {\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 Version$4 {\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 CreateSessionRequest {\n        /** The session to create. */\n        session?: Session$4;\n    }\n    interface CreateSessionResponse {\n        /** The created session. */\n        session?: Session$4;\n    }\n    interface UpdateSessionRequest {\n        /** The session to update. */\n        session?: Session$4;\n        /** Whether to notify participants about the change, and an optional custom message. */\n        participantNotification?: ParticipantNotification$5;\n    }\n    interface ParticipantNotification$5 {\n        /**\n         * Whether to notify participants about the change.\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 UpdateSessionResponse {\n        /** The updated session. */\n        session?: Session$4;\n    }\n    interface DeleteSessionRequest {\n        /** The ID of the session to delete. */\n        sessionId?: string | null;\n        /** Whether to notify participants about the change, and an optional custom message. */\n        participantNotification?: ParticipantNotification$5;\n    }\n    interface DeleteSessionResponse {\n    }\n    interface QuerySessionsRequest {\n        /**\n         * Start of the time range for which sessions are returned, in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).\n         *\n         * Sessions that begin before the `fromDate` but end after it are included in the results. For recurring session definitions, this means the `start` value is before the `fromDate` and the `UNTIL` value in the `recurrence` property is after the `fromDate`.\n         *\n         * Required, unless `query.cursorPaging` is provided.\n         */\n        fromDate?: Date;\n        /**\n         * End of the time range for which sessions are returned, in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).\n         *\n         * Sessions that begin before the `toDate` but end after it are included in the results. For recurring session definitions, this means the `start` value is before the `toDate` and the `UNTIL` value in the `recurrence` property is after the `toDate`.\n         *\n         * Required, unless `query.cursorPaging` is provided.\n         *\n         * Max: 1 year after `fromDate` for session instance queries. This limit doesn't apply to recurring session definition queries.\n         */\n        toDate?: Date;\n        /** Query options. */\n        query?: QueryV2$4;\n        /**\n         * Type of sessions to return.\n         *\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         * Default: `UNDEFINED`. This returns sessions of all types.\n         */\n        type?: SessionTypeFilter;\n        /**\n         * Whether to return only single session instances and instances of recurring sessions.\n         *\n         * If `true`, only single session instances and instances of recurring sessions are returned.\n         *\n         * If `false`, only recurring session definitions are returned. **Note:** Cursor pagination is not supported for recurring session definition queries.\n         *\n         * Default: `true`.\n         */\n        instances?: boolean | null;\n        /**\n         * Whether to include sessions imported from connected external calendars in the results.\n         *\n         * Default: `false`.\n         */\n        includeExternal?: boolean | null;\n    }\n    interface QueryV2$4 extends QueryV2PagingMethodOneOf$4 {\n        /**\n         * Cursor token pointing to a page of results.\n         * Not used in the first request.\n         * Following requests use the cursor token and not `filter`.\n         */\n        cursorPaging?: CursorPaging$5;\n        /**\n         * Filter object. For field support for filters, see\n         * [Sessions: Supported Filters](./filtering).\n         * See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more information about querying with filters.\n         */\n        filter?: Record<string, any> | null;\n        /**\n         * Predefined sets of fields to return.\n         * - `NO_PI`: Returns session objects without personal information.\n         * - `ALL_PI`: Returns complete session objects, including personal information.\n         *\n         * Default: `NO_PI`\n         */\n        fieldsets?: string[];\n    }\n    /** @oneof */\n    interface QueryV2PagingMethodOneOf$4 {\n        /**\n         * Cursor token pointing to a page of results.\n         * Not used in the first request.\n         * Following requests use the cursor token and not `filter`.\n         */\n        cursorPaging?: CursorPaging$5;\n    }\n    interface CursorPaging$5 {\n        /**\n         * Number of sessions to return.\n         *\n         * Default: `100`\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    enum SessionTypeFilter {\n        UNKNOWN_SESSION_TYPE = \"UNKNOWN_SESSION_TYPE\",\n        /** Filter sessions of type `EVENT`. This is the default. */\n        EVENT = \"EVENT\",\n        /** Filter sessions of type `WORKING_HOURS`. */\n        WORKING_HOURS = \"WORKING_HOURS\",\n        /** Return sessions of any type. */\n        ALL = \"ALL\"\n    }\n    interface QuerySessionsResponse {\n        /** List of sessions matching the query. */\n        sessions?: Session$4[];\n        /** Paging metadata. */\n        pagingMetadata?: CursorPagingMetadata$3;\n    }\n    /** This is the preferred message for cursor-paging enabled services */\n    interface CursorPagingMetadata$3 {\n        /** Number of sessions returned in the response. */\n        count?: number | null;\n        /** Cursors to navigate through the result pages. */\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    }\n    interface GetSessionRequest {\n        /** ID of the session to retrieve. */\n        _id: string | null;\n        /**\n         * Predefined sets of fields to return.\n         * - `NO_PI`: Returns a session object without personal information.\n         * - `ALL_PI`: Returns a complete session object, including personal information.\n         *\n         * Default: `NO_PI`\n         */\n        fieldsets?: string[];\n    }\n    interface GetSessionResponse {\n        /** Retrieved session. */\n        session?: Session$4;\n    }\n    interface ListSessionsRequest {\n        /** IDs of the sessions to retrieve. */\n        ids: string[] | null;\n        /**\n         * Predefined sets of fields to return.\n         * - `NO_PI`: Returns session objects without personal information.\n         * - `ALL_PI`: Returns complete session objects, including personal information.\n         *\n         * Default: `NO_PI`\n         */\n        fieldsets?: string[];\n    }\n    interface ListSessionsResponse {\n        /** Retrieved sessions. */\n        sessions?: Session$4[];\n    }\n    interface QueryEventSessionInstancesRequest {\n        /**\n         * Start of the time range for which sessions are returned\n         * in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).\n         * Required, if `query.cursorPaging` is omitted.\n         * `end.timestamp` of all returned sessions is greater than or equal to `fromDate`.\n         */\n        fromDate?: Date;\n        /**\n         * End of the time range for which sessions are returned\n         * in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).\n         * Required, if `query.cursorPaging` is omitted.\n         * `start.timestamp` of all returned sessions is less than or equal to `toDate`.\n         */\n        toDate?: Date;\n        /** Information about filters, paging, and returned fields. */\n        query?: CommonQueryV2;\n    }\n    interface CommonQueryV2 extends CommonQueryV2PagingMethodOneOf {\n        /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `query.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\n         * [Supported Filters](https://dev.wix.com/api/rest/wix-bookings/calendar-v2/filters).\n         */\n        filter?: Record<string, any> | null;\n        /**\n         * Supported values: `ALL_PI`.\n         *\n         * Predefined sets of fields to return.\n         *\n         * - `ALL_PI`: Returns complete session objects.\n         *\n         * If you don't pass a value in the `fieldsets` array, session objects without\n         * personal information are returned by default. This means without `participants`,\n         * `location`, `calendarConference`, and `externalCalendarOverrides`.\n         */\n        fieldsets?: string[];\n    }\n    /** @oneof */\n    interface CommonQueryV2PagingMethodOneOf {\n        /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `query.filter`. */\n        cursorPaging?: CommonCursorPaging;\n    }\n    interface CommonCursorPaging {\n        /**\n         * Number of sessions 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 QueryEventSessionInstancesResponse {\n        /** Retrieved sessions. */\n        sessions?: Session$4[];\n        /** Paging metadata. */\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?: CommonCursors;\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 CacheRequest {\n        fromDate?: Date;\n    }\n    interface CacheResponse {\n        cacheInfo?: CacheInfo;\n    }\n    interface CacheInfo {\n        status?: CacheInfoStatus;\n        fromDate?: Date;\n        toDate?: Date;\n        feedReplayId?: string | null;\n        sessionCount?: number | null;\n        cachedDate?: Date;\n    }\n    enum CacheInfoStatus {\n        UNDEFINED = \"UNDEFINED\",\n        INACTIVE = \"INACTIVE\",\n        IN_PROGRESS = \"IN_PROGRESS\",\n        ACTIVE = \"ACTIVE\"\n    }\n    interface UncacheRequest {\n    }\n    interface UncacheResponse {\n    }\n    interface ShortenCacheRequest {\n        /**\n         * The new cache from date to set.\n         * Must be after than the current from date.\n         */\n        fromDate?: Date;\n    }\n    interface ShortenCacheResponse {\n        /** The updated cache. */\n        cacheInfo?: CacheInfo;\n    }\n    interface GetCacheInfoRequest {\n        includeSessionCount?: boolean | null;\n    }\n    interface GetCacheInfoResponse {\n        cacheInfo?: CacheInfo;\n    }\n    interface FeedEvent$1 extends FeedEventTypeOneOf$1 {\n        /** Session has been added or updated within the feed window. */\n        sessionAddedOrUpdated?: SessionAddedOrUpdated$1;\n        /** Session has been removed from the feed. */\n        sessionRemoved?: SessionRemoved$1;\n        /** The feed window has been extended. */\n        windowExtended?: WindowExtended$1;\n    }\n    /** @oneof */\n    interface FeedEventTypeOneOf$1 {\n        /** Session has been added or updated within the feed window. */\n        sessionAddedOrUpdated?: SessionAddedOrUpdated$1;\n        /** Session has been removed from the feed. */\n        sessionRemoved?: SessionRemoved$1;\n        /** The feed window has been extended. */\n        windowExtended?: WindowExtended$1;\n    }\n    interface SessionAddedOrUpdated$1 {\n        /** The session which was added or updated within the view. */\n        session?: Session$4;\n        /** Optionally, the previous session. */\n        previousSession?: Session$4;\n    }\n    interface SessionRemoved$1 {\n        /** The updated session which was removed from the view. */\n        session?: Session$4;\n        /** Optionally, the previous session. */\n        previousSession?: Session$4;\n    }\n    interface WindowExtended$1 {\n        /** The updated window end date. */\n        windowEndDate?: Date;\n    }\n    /** Deprecated. Please use `window_extended` instead. */\n    interface WindowMoved$1 {\n        /** The updated window edge. */\n        edge?: Date;\n        /** The window version. */\n        windowVersion?: number | null;\n    }\n    interface Empty$4 {\n    }\n    interface FeedReplayEvent$1 extends FeedReplayEventTypeOneOf$1 {\n        /** Session has been added within the feed window. */\n        sessionAdded?: SessionAdded$1;\n        /** Sessions replay completed. */\n        replayCompleted?: ReplayCompleted$1;\n        replayId?: string | null;\n    }\n    /** @oneof */\n    interface FeedReplayEventTypeOneOf$1 {\n        /** Session has been added within the feed window. */\n        sessionAdded?: SessionAdded$1;\n        /** Sessions replay completed. */\n        replayCompleted?: ReplayCompleted$1;\n    }\n    interface SessionAdded$1 {\n        /** The session which was added within the feed window. */\n        session?: Session$4;\n    }\n    interface ReplayCompleted$1 {\n        /** The (minimum) number of sessions that were replayed. */\n        totalSessions?: number | null;\n    }\n    interface QuerySessionsResponseNonNullableFields {\n        sessions: {\n            scheduleId: string;\n            affectedSchedules: {\n                scheduleId: string;\n                transparency: Transparency$4;\n                scheduleOwnerId: string;\n            }[];\n            location?: {\n                locationType: LocationType$6;\n                customAddress?: {\n                    streetAddress?: {\n                        number: string;\n                        name: string;\n                        apt: string;\n                    };\n                    subdivisions: {\n                        code: string;\n                        name: string;\n                    }[];\n                };\n            };\n            rate?: {\n                labeledPriceOptions?: {\n                    amount: string;\n                    currency: string;\n                    downPayAmount: string;\n                };\n            };\n            notes: string;\n            totalNumberOfParticipants: number;\n            participants: {\n                _id: string;\n                partySize: number;\n                approvalStatus: ApprovalStatus$4;\n                inherited: boolean;\n            }[];\n            inheritedFields: string[];\n            status: Status$4;\n            type: SessionType$4;\n            calendarConference?: {\n                _id: string;\n                externalId: string;\n                providerId: string;\n                hostUrl: string;\n                guestUrl: string;\n                conferenceType: ConferenceType$4;\n            };\n        }[];\n    }\n    interface GetSessionResponseNonNullableFields {\n        session?: {\n            scheduleId: string;\n            affectedSchedules: {\n                scheduleId: string;\n                transparency: Transparency$4;\n                scheduleOwnerId: string;\n            }[];\n            location?: {\n                locationType: LocationType$6;\n                customAddress?: {\n                    streetAddress?: {\n                        number: string;\n                        name: string;\n                        apt: string;\n                    };\n                    subdivisions: {\n                        code: string;\n                        name: string;\n                    }[];\n                };\n            };\n            rate?: {\n                labeledPriceOptions?: {\n                    amount: string;\n                    currency: string;\n                    downPayAmount: string;\n                };\n            };\n            notes: string;\n            totalNumberOfParticipants: number;\n            participants: {\n                _id: string;\n                partySize: number;\n                approvalStatus: ApprovalStatus$4;\n                inherited: boolean;\n            }[];\n            inheritedFields: string[];\n            status: Status$4;\n            type: SessionType$4;\n            calendarConference?: {\n                _id: string;\n                externalId: string;\n                providerId: string;\n                hostUrl: string;\n                guestUrl: string;\n                conferenceType: ConferenceType$4;\n            };\n        };\n    }\n    interface ListSessionsResponseNonNullableFields {\n        sessions: {\n            scheduleId: string;\n            affectedSchedules: {\n                scheduleId: string;\n                transparency: Transparency$4;\n                scheduleOwnerId: string;\n            }[];\n            location?: {\n                locationType: LocationType$6;\n                customAddress?: {\n                    streetAddress?: {\n                        number: string;\n                        name: string;\n                        apt: string;\n                    };\n                    subdivisions: {\n                        code: string;\n                        name: string;\n                    }[];\n                };\n            };\n            rate?: {\n                labeledPriceOptions?: {\n                    amount: string;\n                    currency: string;\n                    downPayAmount: string;\n                };\n            };\n            notes: string;\n            totalNumberOfParticipants: number;\n            participants: {\n                _id: string;\n                partySize: number;\n                approvalStatus: ApprovalStatus$4;\n                inherited: boolean;\n            }[];\n            inheritedFields: string[];\n            status: Status$4;\n            type: SessionType$4;\n            calendarConference?: {\n                _id: string;\n                externalId: string;\n                providerId: string;\n                hostUrl: string;\n                guestUrl: string;\n                conferenceType: ConferenceType$4;\n            };\n        }[];\n    }\n    /**\n     * Retrieves a list of sessions, given the provided time range, filtering, and paging.\n     *\n     *\n     * The `querySessions()` function builds a query to retrieve a list of sessions, and returns a `SessionQueryBuilder` object.\n     *\n     * The returned object contains the query definition, which is typically used to run the query using the `find()` function.\n     *\n     * To query all event instances within a specified time range of up to 1 year, set `options.type` to `EVENT` and specify the time range in `options.startDate` and `options.endDate`.\n     *\n     * You can refine the query by chaining `SessionQueryBuilder` functions to the query, before chaining `find()`. These enable you to filter and control the results a query returns.\n     *\n     * The `querySessions()` function runs with these defaults, which you can override:\n     * - All session types are returned.\n     * - `options.instances` is true. This means only single sessions and instances of recurring sessions are returned.\n     * - Session objects are returned with the fields specified in the `NO_PI` fieldset. This means they don't contain personal information.\n     *\n     * Note the following limitations, which you can't override:\n     * - Sessions are always sorted by `start.timestamp` in `ASC` order.\n     * - The maximum time range you can query is 1 year.\n     *\n     * To query only for events, set `options.type` to `EVENT`. An event is a single or recurring session that appears in a calendar, for example an appointment or a class.\n     *\n     * To query for recurring session pattern definitions, set `options.instances` to `false`. In this case, you don't need to specify a time range.\n     *\n     * To return session objects including personal information, use the `ALL_PI` fieldset. This requires elevating permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n     *\n     * For details on fieldsets, see [Sessions: Supported Fieldsets](https://www.wix.com/velo/reference/wix-bookings-v2/sessions/fieldsets).\n     * For details on supported filters, see [Sessions: Supported Filters](https://www.wix.com/velo/reference/wix-bookings-v2/sessions/supported-filters).\n     * @public\n     * @documentationMaturity preview\n     * @requiredField fromDate\n     * @requiredField toDate\n     * @param options - Options for customizing a query.\n     *\n     * To query all event instances within a specific time range of up to 1 year, set `options.type` to `EVENT` and specify the time range in `options.startDate` and `options.endDate`.\n     * @param fromDate - Start of the time range for which sessions are returned, in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).\n     *\n     * Sessions that begin before the `fromDate` but end after it are included in the results. For recurring session definitions, this means the `start` value is before the `fromDate` and the `UNTIL` value in the `recurrence` property is after the `fromDate`.\n     *\n     * Required, unless `query.cursorPaging` is provided.\n     * @param toDate - End of the time range for which sessions are returned, in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).\n     *\n     * Sessions that begin before the `toDate` but end after it are included in the results. For recurring session definitions, this means the `start` value is before the `toDate` and the `UNTIL` value in the `recurrence` property is after the `toDate`.\n     *\n     * Required, unless `query.cursorPaging` is provided.\n     *\n     * Max: 1 year after `fromDate` for session instance queries. This limit doesn't apply to recurring session definition queries.\n     * @permissionScope Read Bookings - Public Data\n     * @permissionScope Manage Bookings\n     * @permissionScope Read Bookings - Including Participants\n     * @permissionScope Read Bookings - all read permissions\n     * @permissionScope Read Bookings Calendar Availability\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScope Read bookings calendar - including participants\n     * @permissionScope Read Bookings Calendar\n     * @permissionScope Manage Bookings Services and Settings\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\n     */\n    function querySessions(fromDate: Date, toDate: Date, options?: QuerySessionsOptions): SessionsQueryBuilder;\n    interface QuerySessionsOptions {\n        /**\n         * Type of sessions to return.\n         *\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         * Default: `UNDEFINED`. This returns sessions of all types.\n         */\n        type?: SessionTypeFilter | undefined;\n        /**\n         * Whether to return only single session instances and instances of recurring sessions.\n         *\n         * If `true`, only single session instances and instances of recurring sessions are returned.\n         *\n         * If `false`, only recurring session definitions are returned. **Note:** Cursor pagination is not supported for recurring session definition queries.\n         *\n         * Default: `true`.\n         */\n        instances?: boolean | null | undefined;\n        /**\n         * Whether to include sessions imported from connected external calendars in the results.\n         *\n         * Default: `false`.\n         */\n        includeExternal?: boolean | null | undefined;\n    }\n    interface QueryCursorResult$1 {\n        cursors: Cursors$5;\n        hasNext: () => boolean;\n        hasPrev: () => boolean;\n        length: number;\n        pageSize: number;\n    }\n    interface SessionsQueryResult extends QueryCursorResult$1 {\n        items: Session$4[];\n        query: SessionsQueryBuilder;\n        next: () => Promise<SessionsQueryResult>;\n        prev: () => Promise<SessionsQueryResult>;\n    }\n    interface SessionsQueryBuilder {\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\" | \"scheduleOwnerId\" | \"affectedSchedules.scheduleId\" | \"title\" | \"tags\" | \"location.locationType\" | \"location.customAddress.formattedAddress\" | \"location.businessLocation.id\" | \"location.businessLocation.name\" | \"location.businessLocation.address.formattedAddress\" | \"capacity\" | \"participants.contactId\" | \"recurringSessionId\" | \"calendarConference.id\" | \"calendarConference.externalId\" | \"calendarConference.providerId\" | \"instanceOfRecurrence\", value: any) => SessionsQueryBuilder;\n        /** @param propertyName - Property whose value is compared with `value`.\n         * @param value - Value to compare against.\n         * @documentationMaturity preview\n         */\n        ne: (propertyName: \"scheduleId\" | \"scheduleOwnerId\" | \"title\" | \"location.locationType\" | \"location.customAddress.formattedAddress\" | \"location.businessLocation.id\" | \"location.businessLocation.name\" | \"location.businessLocation.address.formattedAddress\" | \"capacity\" | \"recurringSessionId\" | \"calendarConference.id\" | \"calendarConference.externalId\" | \"calendarConference.providerId\" | \"instanceOfRecurrence\", value: any) => SessionsQueryBuilder;\n        /** @param propertyName - Property whose value is compared with `value`.\n         * @param value - Value to compare against.\n         * @documentationMaturity preview\n         */\n        ge: (propertyName: \"capacity\", value: any) => SessionsQueryBuilder;\n        /** @param propertyName - Property whose value is compared with `value`.\n         * @param value - Value to compare against.\n         * @documentationMaturity preview\n         */\n        gt: (propertyName: \"capacity\", value: any) => SessionsQueryBuilder;\n        /** @param propertyName - Property whose value is compared with `value`.\n         * @param value - Value to compare against.\n         * @documentationMaturity preview\n         */\n        le: (propertyName: \"capacity\", value: any) => SessionsQueryBuilder;\n        /** @param propertyName - Property whose value is compared with `value`.\n         * @param value - Value to compare against.\n         * @documentationMaturity preview\n         */\n        lt: (propertyName: \"capacity\", value: any) => SessionsQueryBuilder;\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\" | \"location.customAddress.formattedAddress\" | \"location.businessLocation.name\" | \"location.businessLocation.address.formattedAddress\", value: string) => SessionsQueryBuilder;\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: \"scheduleId\" | \"scheduleOwnerId\" | \"affectedSchedules.scheduleId\" | \"affectedSchedules.transparency\" | \"affectedSchedules.scheduleOwnerId\" | \"title\" | \"tags\" | \"location.locationType\" | \"location.customAddress.formattedAddress\" | \"location.businessLocation.id\" | \"location.businessLocation.name\" | \"location.businessLocation.address.formattedAddress\" | \"participants.id\" | \"participants.contactId\" | \"participants.approvalStatus\" | \"inheritedFields\" | \"recurringSessionId\" | \"calendarConference.id\" | \"calendarConference.externalId\" | \"calendarConference.providerId\" | \"instanceOfRecurrence\", value: any[]) => SessionsQueryBuilder;\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: \"tags\" | \"inheritedFields\", value: any[]) => SessionsQueryBuilder;\n        /** @documentationMaturity preview */\n        exists: (propertyName: \"location\" | \"location.customAddress\" | \"recurringSessionId\" | \"calendarConference\" | \"instanceOfRecurrence\", value: boolean) => SessionsQueryBuilder;\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) => SessionsQueryBuilder;\n        /** @param cursor - A pointer to specific record\n         * @documentationMaturity preview\n         */\n        skipTo: (cursor: string) => SessionsQueryBuilder;\n        /** @documentationMaturity preview */\n        find: () => Promise<SessionsQueryResult>;\n    }\n    /**\n     * Retrieves a session by ID.\n     *\n     *\n     * The `getSession()` function returns a Promise that resolves to a session with the specified session ID.\n     *\n     * By default, a session object is returned with the fields specified in the `NO_PI` fieldset. This means it doesn't contain personal information.\n     *\n     * To retrieve a full session object including all personal information, use the `ALL_PI` fieldset. This requires elevating permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n     * @param _id - ID of the session to retrieve.\n     * @public\n     * @documentationMaturity preview\n     * @requiredField _id\n     * @param options - Options to use when retrieving a session.\n     * @permissionScope Read Bookings - Public Data\n     * @permissionScope Manage Bookings\n     * @permissionScope Read Bookings - Including Participants\n     * @permissionScope Read Bookings - all read permissions\n     * @permissionScope Read Bookings Calendar Availability\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScope Read bookings calendar - including participants\n     * @permissionScope Read Bookings Calendar\n     * @permissionScope Manage Bookings Services and Settings\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\n     * @returns Retrieved session.\n     */\n    function getSession(_id: string | null, options?: GetSessionOptions): Promise<Session$4 & NonNullable<GetSessionResponseNonNullableFields>[\"session\"]>;\n    interface GetSessionOptions {\n        /**\n         * Predefined sets of fields to return.\n         * - `NO_PI`: Returns a session object without personal information.\n         * - `ALL_PI`: Returns a complete session object, including personal information.\n         *\n         * Default: `NO_PI`\n         */\n        fieldsets?: string[];\n    }\n    /**\n     * Retrieves a list of sessions by their IDs.\n     *\n     *\n     * The `listSessions()` function returns a Promise that resolves to the sessions with the specified IDs.\n     *\n     * By default, session objects are returned with the fields specified in the `NO_PI` fieldset. This means they don't contain personal information.\n     *\n     * To retrieve full session objects including all personal information, use the `ALL_PI` fieldset. This requires elevating permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n     * @param ids - IDs of the sessions to retrieve.\n     * @public\n     * @documentationMaturity preview\n     * @requiredField ids\n     * @param options - Options to use when retrieving a list of sessions.\n     * @permissionScope Read Bookings - Public Data\n     * @permissionScope Manage Bookings\n     * @permissionScope Read Bookings - Including Participants\n     * @permissionScope Read Bookings - all read permissions\n     * @permissionScope Read Bookings Calendar Availability\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScope Read bookings calendar - including participants\n     * @permissionScope Read Bookings Calendar\n     * @permissionScope Manage Bookings Services and Settings\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\n     */\n    function listSessions(ids: string[] | null, options?: ListSessionsOptions): Promise<ListSessionsResponse & ListSessionsResponseNonNullableFields>;\n    interface ListSessionsOptions {\n        /**\n         * Predefined sets of fields to return.\n         * - `NO_PI`: Returns session objects without personal information.\n         * - `ALL_PI`: Returns complete session objects, including personal information.\n         *\n         * Default: `NO_PI`\n         */\n        fieldsets?: string[];\n    }\n    type bookingsCalendarV1SessionSessions_universal_d_CreateSessionRequest = CreateSessionRequest;\n    type bookingsCalendarV1SessionSessions_universal_d_CreateSessionResponse = CreateSessionResponse;\n    type bookingsCalendarV1SessionSessions_universal_d_UpdateSessionRequest = UpdateSessionRequest;\n    type bookingsCalendarV1SessionSessions_universal_d_UpdateSessionResponse = UpdateSessionResponse;\n    type bookingsCalendarV1SessionSessions_universal_d_DeleteSessionRequest = DeleteSessionRequest;\n    type bookingsCalendarV1SessionSessions_universal_d_DeleteSessionResponse = DeleteSessionResponse;\n    type bookingsCalendarV1SessionSessions_universal_d_QuerySessionsRequest = QuerySessionsRequest;\n    type bookingsCalendarV1SessionSessions_universal_d_SessionTypeFilter = SessionTypeFilter;\n    const bookingsCalendarV1SessionSessions_universal_d_SessionTypeFilter: typeof SessionTypeFilter;\n    type bookingsCalendarV1SessionSessions_universal_d_QuerySessionsResponse = QuerySessionsResponse;\n    type bookingsCalendarV1SessionSessions_universal_d_GetSessionRequest = GetSessionRequest;\n    type bookingsCalendarV1SessionSessions_universal_d_GetSessionResponse = GetSessionResponse;\n    type bookingsCalendarV1SessionSessions_universal_d_ListSessionsRequest = ListSessionsRequest;\n    type bookingsCalendarV1SessionSessions_universal_d_ListSessionsResponse = ListSessionsResponse;\n    type bookingsCalendarV1SessionSessions_universal_d_QueryEventSessionInstancesRequest = QueryEventSessionInstancesRequest;\n    type bookingsCalendarV1SessionSessions_universal_d_CommonQueryV2 = CommonQueryV2;\n    type bookingsCalendarV1SessionSessions_universal_d_CommonQueryV2PagingMethodOneOf = CommonQueryV2PagingMethodOneOf;\n    type bookingsCalendarV1SessionSessions_universal_d_CommonCursorPaging = CommonCursorPaging;\n    type bookingsCalendarV1SessionSessions_universal_d_QueryEventSessionInstancesResponse = QueryEventSessionInstancesResponse;\n    type bookingsCalendarV1SessionSessions_universal_d_CommonCursors = CommonCursors;\n    type bookingsCalendarV1SessionSessions_universal_d_CacheRequest = CacheRequest;\n    type bookingsCalendarV1SessionSessions_universal_d_CacheResponse = CacheResponse;\n    type bookingsCalendarV1SessionSessions_universal_d_CacheInfo = CacheInfo;\n    type bookingsCalendarV1SessionSessions_universal_d_CacheInfoStatus = CacheInfoStatus;\n    const bookingsCalendarV1SessionSessions_universal_d_CacheInfoStatus: typeof CacheInfoStatus;\n    type bookingsCalendarV1SessionSessions_universal_d_UncacheRequest = UncacheRequest;\n    type bookingsCalendarV1SessionSessions_universal_d_UncacheResponse = UncacheResponse;\n    type bookingsCalendarV1SessionSessions_universal_d_ShortenCacheRequest = ShortenCacheRequest;\n    type bookingsCalendarV1SessionSessions_universal_d_ShortenCacheResponse = ShortenCacheResponse;\n    type bookingsCalendarV1SessionSessions_universal_d_GetCacheInfoRequest = GetCacheInfoRequest;\n    type bookingsCalendarV1SessionSessions_universal_d_GetCacheInfoResponse = GetCacheInfoResponse;\n    type bookingsCalendarV1SessionSessions_universal_d_QuerySessionsResponseNonNullableFields = QuerySessionsResponseNonNullableFields;\n    type bookingsCalendarV1SessionSessions_universal_d_GetSessionResponseNonNullableFields = GetSessionResponseNonNullableFields;\n    type bookingsCalendarV1SessionSessions_universal_d_ListSessionsResponseNonNullableFields = ListSessionsResponseNonNullableFields;\n    const bookingsCalendarV1SessionSessions_universal_d_querySessions: typeof querySessions;\n    type bookingsCalendarV1SessionSessions_universal_d_QuerySessionsOptions = QuerySessionsOptions;\n    type bookingsCalendarV1SessionSessions_universal_d_SessionsQueryResult = SessionsQueryResult;\n    type bookingsCalendarV1SessionSessions_universal_d_SessionsQueryBuilder = SessionsQueryBuilder;\n    const bookingsCalendarV1SessionSessions_universal_d_getSession: typeof getSession;\n    type bookingsCalendarV1SessionSessions_universal_d_GetSessionOptions = GetSessionOptions;\n    const bookingsCalendarV1SessionSessions_universal_d_listSessions: typeof listSessions;\n    type bookingsCalendarV1SessionSessions_universal_d_ListSessionsOptions = ListSessionsOptions;\n    namespace bookingsCalendarV1SessionSessions_universal_d {\n        export { __debug$1 as __debug, Session$4 as Session, CalendarDateTime$4 as CalendarDateTime, LocalDateTime$4 as LocalDateTime, LinkedSchedule$4 as LinkedSchedule, Transparency$4 as Transparency, Location$6 as Location, LocationType$6 as LocationType, Address$5 as Address, AddressStreetOneOf$5 as AddressStreetOneOf, StreetAddress$5 as StreetAddress, AddressLocation$5 as AddressLocation, Subdivision$5 as Subdivision, LocationsLocation$4 as LocationsLocation, LocationStatus$4 as LocationStatus, LocationsLocationType$4 as LocationsLocationType, LocationsAddress$4 as LocationsAddress, LocationsStreetAddress$4 as LocationsStreetAddress, LocationsAddressLocation$4 as LocationsAddressLocation, BusinessSchedule$4 as BusinessSchedule, TimePeriod$4 as TimePeriod, DayOfWeek$4 as DayOfWeek, SpecialHourPeriod$4 as SpecialHourPeriod, Rate$4 as Rate, Price$4 as Price, Participant$4 as Participant, ApprovalStatus$4 as ApprovalStatus, ExternalCalendarInfo$4 as ExternalCalendarInfo, CalendarType$4 as CalendarType, ExternalCalendarOverrides$4 as ExternalCalendarOverrides, Status$4 as Status, SessionType$4 as SessionType, CalendarConference$4 as CalendarConference, ConferenceType$4 as ConferenceType, Version$4 as Version, bookingsCalendarV1SessionSessions_universal_d_CreateSessionRequest as CreateSessionRequest, bookingsCalendarV1SessionSessions_universal_d_CreateSessionResponse as CreateSessionResponse, bookingsCalendarV1SessionSessions_universal_d_UpdateSessionRequest as UpdateSessionRequest, ParticipantNotification$5 as ParticipantNotification, bookingsCalendarV1SessionSessions_universal_d_UpdateSessionResponse as UpdateSessionResponse, bookingsCalendarV1SessionSessions_universal_d_DeleteSessionRequest as DeleteSessionRequest, bookingsCalendarV1SessionSessions_universal_d_DeleteSessionResponse as DeleteSessionResponse, bookingsCalendarV1SessionSessions_universal_d_QuerySessionsRequest as QuerySessionsRequest, QueryV2$4 as QueryV2, QueryV2PagingMethodOneOf$4 as QueryV2PagingMethodOneOf, CursorPaging$5 as CursorPaging, bookingsCalendarV1SessionSessions_universal_d_SessionTypeFilter as SessionTypeFilter, bookingsCalendarV1SessionSessions_universal_d_QuerySessionsResponse as QuerySessionsResponse, CursorPagingMetadata$3 as CursorPagingMetadata, Cursors$5 as Cursors, bookingsCalendarV1SessionSessions_universal_d_GetSessionRequest as GetSessionRequest, bookingsCalendarV1SessionSessions_universal_d_GetSessionResponse as GetSessionResponse, bookingsCalendarV1SessionSessions_universal_d_ListSessionsRequest as ListSessionsRequest, bookingsCalendarV1SessionSessions_universal_d_ListSessionsResponse as ListSessionsResponse, bookingsCalendarV1SessionSessions_universal_d_QueryEventSessionInstancesRequest as QueryEventSessionInstancesRequest, bookingsCalendarV1SessionSessions_universal_d_CommonQueryV2 as CommonQueryV2, bookingsCalendarV1SessionSessions_universal_d_CommonQueryV2PagingMethodOneOf as CommonQueryV2PagingMethodOneOf, bookingsCalendarV1SessionSessions_universal_d_CommonCursorPaging as CommonCursorPaging, bookingsCalendarV1SessionSessions_universal_d_QueryEventSessionInstancesResponse as QueryEventSessionInstancesResponse, PagingMetadataV2$4 as PagingMetadataV2, bookingsCalendarV1SessionSessions_universal_d_CommonCursors as CommonCursors, bookingsCalendarV1SessionSessions_universal_d_CacheRequest as CacheRequest, bookingsCalendarV1SessionSessions_universal_d_CacheResponse as CacheResponse, bookingsCalendarV1SessionSessions_universal_d_CacheInfo as CacheInfo, bookingsCalendarV1SessionSessions_universal_d_CacheInfoStatus as CacheInfoStatus, bookingsCalendarV1SessionSessions_universal_d_UncacheRequest as UncacheRequest, bookingsCalendarV1SessionSessions_universal_d_UncacheResponse as UncacheResponse, bookingsCalendarV1SessionSessions_universal_d_ShortenCacheRequest as ShortenCacheRequest, bookingsCalendarV1SessionSessions_universal_d_ShortenCacheResponse as ShortenCacheResponse, bookingsCalendarV1SessionSessions_universal_d_GetCacheInfoRequest as GetCacheInfoRequest, bookingsCalendarV1SessionSessions_universal_d_GetCacheInfoResponse as GetCacheInfoResponse, FeedEvent$1 as FeedEvent, FeedEventTypeOneOf$1 as FeedEventTypeOneOf, SessionAddedOrUpdated$1 as SessionAddedOrUpdated, SessionRemoved$1 as SessionRemoved, WindowExtended$1 as WindowExtended, WindowMoved$1 as WindowMoved, Empty$4 as Empty, FeedReplayEvent$1 as FeedReplayEvent, FeedReplayEventTypeOneOf$1 as FeedReplayEventTypeOneOf, SessionAdded$1 as SessionAdded, ReplayCompleted$1 as ReplayCompleted, bookingsCalendarV1SessionSessions_universal_d_QuerySessionsResponseNonNullableFields as QuerySessionsResponseNonNullableFields, bookingsCalendarV1SessionSessions_universal_d_GetSessionResponseNonNullableFields as GetSessionResponseNonNullableFields, bookingsCalendarV1SessionSessions_universal_d_ListSessionsResponseNonNullableFields as ListSessionsResponseNonNullableFields, bookingsCalendarV1SessionSessions_universal_d_querySessions as querySessions, bookingsCalendarV1SessionSessions_universal_d_QuerySessionsOptions as QuerySessionsOptions, bookingsCalendarV1SessionSessions_universal_d_SessionsQueryResult as SessionsQueryResult, bookingsCalendarV1SessionSessions_universal_d_SessionsQueryBuilder as SessionsQueryBuilder, bookingsCalendarV1SessionSessions_universal_d_getSession as getSession, bookingsCalendarV1SessionSessions_universal_d_GetSessionOptions as GetSessionOptions, bookingsCalendarV1SessionSessions_universal_d_listSessions as listSessions, bookingsCalendarV1SessionSessions_universal_d_ListSessionsOptions as ListSessionsOptions, };\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         *   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;\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        /** 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;\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         * 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$1;\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    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         * 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$5;\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$5 {\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$5;\n    }\n    enum LocationType$5 {\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$5;\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/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$4;\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$4 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 {\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$4 {\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 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    /** @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 {\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 {\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$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 {\n        /**\n         * Multi service booking ID.\n         * @readonly\n         */\n        _id?: string | null;\n        /** Multi service booking type. */\n        type?: MultiServiceBookingType;\n    }\n    interface CreateMultiServiceBookingRequest {\n        /** The bookings to create as multi service booking. */\n        bookings: Booking[];\n        /** Information about a message to send to the customer. */\n        participantNotification?: ParticipantNotification$4;\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;\n    }\n    interface CreateBookingFlowControlSettings {\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;\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: RescheduleBookingInfo[];\n        /** Information about whether to notify the customer about the rescheduling and the message to send. */\n        participantNotification?: ParticipantNotification$4;\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    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    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 RescheduleBookingInfo extends RescheduleBookingInfoParticipantsInfoOneOf {\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;\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 RescheduleBookingInfoParticipantsInfoOneOf {\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;\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         * 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;\n        /** The rescheduled booking object. */\n        booking?: Booking;\n        /** Information about whether to notify the customer about the rescheduling and the message to send. */\n        participantNotification?: ParticipantNotification$4;\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$2;\n        /** The previous status of the booking. */\n        previousStatus?: BookingStatus;\n        /** An object describing the previous slot or schedule of the booking. */\n        previousBookedEntity?: BookedEntity;\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;\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;\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;\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        /**\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    /** @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 {\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$1;\n        /** Multi service booking policy settings */\n        policySettings?: BookingPolicySettings$1;\n        /** Info of the bookings this availability was calculated for. */\n        multiServiceBookingInfo?: GetMultiServiceBookingAvailabilityResponseBookingInfo[];\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 this slot. */\n        bookOnlineDisabled?: boolean | null;\n    }\n    interface BookingPolicySettings$1 {\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$4;\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    interface CancelMultiServiceBookingResponse {\n        /** Canceled multi service booking. */\n        multiServiceBooking?: MultiServiceBooking;\n    }\n    interface BookingCanceled {\n        /** The canceled booking object. */\n        booking?: Booking;\n        /** Information about whether to notify the customer about the cancelation and the message to send. */\n        participantNotification?: ParticipantNotification$4;\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$2;\n        /** The previous status of the booking. */\n        previousStatus?: BookingStatus;\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$4;\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;\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$4;\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         * todo: docs any-resource flow behavior\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;\n        /** Information about whether to notify the customer about the confirmation and the message to send. */\n        participantNotification?: ParticipantNotification$4;\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$2;\n        /** The previous status of the booking. */\n        previousStatus?: BookingStatus;\n        /** The previous payment status of the booking. */\n        previousPaymentStatus?: PaymentStatus;\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$4;\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    interface DeclineMultiServiceBookingResponse {\n        /** Declined multi service booking. */\n        multiServiceBooking?: MultiServiceBooking;\n    }\n    interface BookingDeclined {\n        /** The declined booking object. */\n        booking?: Booking;\n        /** Information about whether to notify the customer about the decline and the message to send. */\n        participantNotification?: ParticipantNotification$4;\n        /** Whether this booking overlaps with another existing confirmed booking. */\n        doubleBooked?: boolean | null;\n        /** ID of the decline initiator. */\n        initiatedBy?: IdentificationData$2;\n        /** The previous status of the booking. */\n        previousStatus?: BookingStatus;\n        /** The previous payment status of the booking. */\n        previousPaymentStatus?: PaymentStatus;\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$1;\n    }\n    interface BulkCalculateAllowedActionsResult {\n        /** (id, indexInGivenSeq, isSuccessful, error) */\n        itemMetadata?: ItemMetadata$1;\n        item?: AllowedActions;\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    /** 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    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 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;\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$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;\n        /**\n         * Whether the event was triggered as a result of a privacy regulation application\n         * (for example, GDPR).\n         */\n        triggeredByAnonymizeRequest?: boolean | null;\n        /** If present, indicates the action that triggered the event. */\n        originatedFrom?: string | null;\n        /**\n         * A sequence number defining the order of updates to the underlying entity.\n         * For example, given that some entity was updated at 16:00 and than again at 16:01,\n         * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n         * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n         * To do so, you will need to persist this number on your end, and compare the sequence number from the\n         * message against the one you have 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        /** 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$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    interface EntityDeletedEvent$3 {\n        /** Entity that was deleted */\n        deletedEntityAsJson?: string | null;\n    }\n    interface ActionEvent$3 {\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?: 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$2;\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$2 {\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;\n        /** The booking after the changes. */\n        currentBooking?: Booking;\n    }\n    interface CreateBookingRequest {\n        /** The booking to create. */\n        booking: Booking;\n        /** Information about a message to send to the customer. */\n        participantNotification?: ParticipantNotification$4;\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;\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;\n    }\n    interface UpdateBookingResponse {\n        booking?: Booking;\n    }\n    interface LegacyCreateBookingRequest {\n        booking: Booking;\n    }\n    interface LegacyCreateBookingResponse {\n        booking?: Booking;\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;\n    }\n    interface BulkUpdateBookingResponse {\n        results?: ItemMetadata$1[];\n        bulkActionMetadata?: BulkActionMetadata$1;\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;\n        /** Information about a message to send to the customer. */\n        participantNotification?: ParticipantNotification$4;\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$1;\n    }\n    interface BulkBookingResult {\n        itemMetadata?: ItemMetadata$1;\n        item?: Booking;\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;\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$4;\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    /** @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;\n    }\n    interface RescheduleBookingResponse {\n        /** Rescheduled booking. */\n        booking?: Booking;\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$4;\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;\n    }\n    interface BulkRescheduleBookingResponse {\n        /** The bulk reschedule results. For each booking, the results contain the metadata of the reschedule action. */\n        results?: ItemMetadata$1[];\n        /** Total successes and failures of the bulk reschedule action. */\n        bulkActionMetadata?: BulkActionMetadata$1;\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$4;\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$1[];\n        /** Total successes and failures of the bulk update action. */\n        bulkActionMetadata?: BulkActionMetadata$1;\n    }\n    interface QueryBookingsRequest {\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$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`, `$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        /** 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$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 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$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        /** 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[];\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$4;\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 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$4;\n    }\n    interface ConfirmResponse {\n        /** Confirmed booking. */\n        booking?: Booking;\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$4;\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;\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;\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$3;\n    }\n    interface ConsistentQueryBookingsResponse {\n        bookings?: Booking[];\n        pagingMetadata?: PagingMetadataV2$3;\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;\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$4;\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;\n        /** Whether this booking overlaps with another existing confirmed booking. */\n        doubleBooked?: boolean | null;\n    }\n    interface DeclineBookingResponse {\n        /** eclined booking */\n        booking?: Booking;\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$4;\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;\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;\n        /** ID of the booking to update the number of participants for. */\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    /** @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;\n    }\n    interface UpdateNumberOfParticipantsResponse {\n        /** Booking with updated number of participants. */\n        booking?: Booking;\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;\n        /** The updated booking object. */\n        booking?: Booking;\n        /** ID of the participant number update initiator. */\n        initiatedBy?: IdentificationData$2;\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;\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$1;\n    }\n    interface GetSlotAvailabilityRequest$1 {\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    interface GetSlotAvailabilityResponse$1 {\n        availability?: SlotAvailability$1;\n        bookingPolicySettings?: BookingPolicySettings$1;\n    }\n    interface SlotAvailability$1 {\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$1;\n        /** Indicators for booking policy violations for the slot. */\n        bookingPolicyViolations?: BookingPolicyViolations$1;\n        /** Indicates whether this slot is locked. */\n        locked?: boolean | null;\n    }\n    interface WaitingList$1 {\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    interface GetScheduleAvailabilityRequest$1 {\n        /** The schedule ID for which availability is checked. */\n        scheduleId: string;\n    }\n    interface GetScheduleAvailabilityResponse$1 {\n        availability?: ScheduleAvailability$1;\n        bookingPolicySettings?: BookingPolicySettings$1;\n    }\n    interface ScheduleAvailability$1 {\n        totalSpots?: number | null;\n        openSpots?: number | null;\n        /** Indicators of booking policy violations for the given Schedule. */\n        bookingPolicyViolations?: BookingPolicyViolations$1;\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$4;\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;\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;\n    }\n    interface BookingMarkedAsPending {\n        /** The booking object that was marked as pending. */\n        booking?: Booking;\n        /** Information about whether to notify the customer upon manual confirmation of the pending booking and the message to send. */\n        participantNotification?: ParticipantNotification$4;\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$2;\n        /** The previous status of the booking. */\n        previousStatus?: BookingStatus;\n        /** The previous payment status of the booking. */\n        previousPaymentStatus?: PaymentStatus;\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        /** Current payment status of the booking. */\n        paymentStatus?: PaymentStatus;\n    }\n    interface ConfirmOrDeclineBookingResponse {\n        booking?: Booking;\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        /** Current payment status of the booking. */\n        paymentStatus?: PaymentStatus;\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$1;\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$1;\n        /** Information about the schedule to create a booking for. */\n        schedule?: BookedSchedule;\n        /** Contact details of the customer booking the service. */\n        contactDetails?: ContactDetails;\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;\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[];\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;\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;\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$4;\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    /** @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$1;\n        /** Information about the schedule to create a booking for. */\n        schedule?: BookedSchedule;\n    }\n    /** @oneof */\n    interface V2CreateBookingRequestParticipantsInfoOneOf {\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.\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$1;\n        /** Geographic location of the slot. */\n        location?: Location$5;\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    interface CreateBookingRequestFlowControlSettings {\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;\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$4;\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 CancelBookingRequestFlowControlSettings {\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    interface V2CancelBookingResponse {\n        /** Canceled booking. */\n        booking?: Booking;\n    }\n    interface V2RescheduleBookingRequest extends V2RescheduleBookingRequestParticipantsInfoOneOf {\n        /** Id of the booking to reschedule. */\n        bookingId: string;\n        /** Information about the new slot. */\n        slot: Slot$1;\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$4;\n    }\n    /** @oneof */\n    interface V2RescheduleBookingRequestParticipantsInfoOneOf {\n    }\n    interface RescheduleBookingRequestFlowControlSettings {\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         * 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;\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$4;\n    }\n    interface V2ConfirmBookingResponse {\n        booking?: Booking;\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$4;\n    }\n    interface V2DeclineBookingResponse {\n        /** Declined booking. */\n        booking?: Booking;\n    }\n    interface V2UpdateNumberOfParticipantsRequest extends V2UpdateNumberOfParticipantsRequestParticipantsInfoOneOf {\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    interface V2UpdateNumberOfParticipantsResponse {\n        /** Booking with updated number of participants. */\n        booking?: Booking;\n    }\n    interface CreateMultiServiceBookingOptions {\n        /** Information about a message to send to the customer. */\n        participantNotification?: ParticipantNotification$4;\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;\n    }\n    interface RescheduleMultiServiceBookingOptions {\n        /** Information about whether to notify the customer about the rescheduling and the message to send. */\n        participantNotification?: ParticipantNotification$4;\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 CancelMultiServiceBookingOptions {\n        /** Information about whether to notify the customer about the cancelation and the message to send. */\n        participantNotification?: ParticipantNotification$4;\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 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$4;\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 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$4;\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 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$4;\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    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;\n    }\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    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     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function createBooking(booking: Booking, options?: CreateBookingOptions): Promise<CreateBookingResponse>;\n    interface CreateBookingOptions {\n        /** Information about a message to send to the customer. */\n        participantNotification?: ParticipantNotification$4;\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 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;\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         *   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;\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        /** 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;\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         * 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$1;\n        /**\n         * Whether this booking overlaps another existing confirmed booking. Returned when: `true`\n         * @readonly\n         */\n        doubleBooked?: boolean | null;\n    }\n    interface UpdateBookingOptions {\n    }\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     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\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$4;\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;\n    }\n    interface BulkRescheduleBookingOptions {\n        /** Whether to notify participants about the change and an optional custom message */\n        participantNotification?: ParticipantNotification$4;\n    }\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$4;\n    }\n    interface QueryOptions {\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     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @applicableIdentity APP\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$4;\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;\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    interface ConsistentQueryOptions {\n        query?: QueryV2$3;\n    }\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     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @applicableIdentity APP\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     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @applicableIdentity APP\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$4;\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;\n        /** Whether this booking overlaps with another existing confirmed booking. */\n        doubleBooked?: 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     * 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     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\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$4;\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     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function updateNumberOfParticipants(bookingId: string, options?: UpdateNumberOfParticipantsOptions): Promise<UpdateNumberOfParticipantsResponse>;\n    interface UpdateNumberOfParticipantsOptions extends UpdateNumberOfParticipantsRequestParticipantsInfoOneOf {\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;\n    }\n    interface GetSlotAvailabilityOptions$1 {\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    interface MarkBookingAsPendingOptions {\n        /**\n         * Information about whether to notify the customer and\n         * the message to send.\n         */\n        participantNotification?: ParticipantNotification$4;\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;\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     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function confirmOrDeclineBooking(bookingId: string, options?: ConfirmOrDeclineBookingOptions): Promise<ConfirmOrDeclineBookingResponse>;\n    interface ConfirmOrDeclineBookingOptions {\n        /** Current payment status of the booking. */\n        paymentStatus?: PaymentStatus;\n    }\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    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$1;\n        /** Information about the schedule to create a booking for. */\n        schedule?: BookedSchedule;\n        /** Contact details of the customer booking the service. */\n        contactDetails?: ContactDetails;\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;\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[];\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;\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;\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$4;\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    interface BookingsGatewayCancelBookingOptions {\n        /**\n         * Information about whether to notify the customer about the cancelation and\n         * the message to send.\n         */\n        participantNotification?: ParticipantNotification$4;\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 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$4;\n    }\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$4;\n    }\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$4;\n    }\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    type bookingsV2BookingBookings_universal_d_Booking = Booking;\n    type bookingsV2BookingBookings_universal_d_BookingParticipantsInfoOneOf = BookingParticipantsInfoOneOf;\n    type bookingsV2BookingBookings_universal_d_MultiServiceBookingType = MultiServiceBookingType;\n    const bookingsV2BookingBookings_universal_d_MultiServiceBookingType: typeof MultiServiceBookingType;\n    type bookingsV2BookingBookings_universal_d_BookedEntity = BookedEntity;\n    type bookingsV2BookingBookings_universal_d_BookedEntityItemOneOf = BookedEntityItemOneOf;\n    type bookingsV2BookingBookings_universal_d_BookedSlot = BookedSlot;\n    type bookingsV2BookingBookings_universal_d_BookedResource = BookedResource;\n    type bookingsV2BookingBookings_universal_d_BookedSchedule = BookedSchedule;\n    type bookingsV2BookingBookings_universal_d_ContactDetails = ContactDetails;\n    type bookingsV2BookingBookings_universal_d_CustomFormField = CustomFormField;\n    type bookingsV2BookingBookings_universal_d_ValueType = ValueType;\n    const bookingsV2BookingBookings_universal_d_ValueType: typeof ValueType;\n    type bookingsV2BookingBookings_universal_d_BookingStatus = BookingStatus;\n    const bookingsV2BookingBookings_universal_d_BookingStatus: typeof BookingStatus;\n    type bookingsV2BookingBookings_universal_d_PaymentStatus = PaymentStatus;\n    const bookingsV2BookingBookings_universal_d_PaymentStatus: typeof PaymentStatus;\n    type bookingsV2BookingBookings_universal_d_SelectedPaymentOption = SelectedPaymentOption;\n    const bookingsV2BookingBookings_universal_d_SelectedPaymentOption: typeof SelectedPaymentOption;\n    type bookingsV2BookingBookings_universal_d_BookingSource = BookingSource;\n    type bookingsV2BookingBookings_universal_d_Platform = Platform;\n    const bookingsV2BookingBookings_universal_d_Platform: typeof Platform;\n    type bookingsV2BookingBookings_universal_d_Actor = Actor;\n    const bookingsV2BookingBookings_universal_d_Actor: typeof Actor;\n    type bookingsV2BookingBookings_universal_d_CommonIdentificationData = CommonIdentificationData;\n    type bookingsV2BookingBookings_universal_d_CommonIdentificationDataIdOneOf = CommonIdentificationDataIdOneOf;\n    type bookingsV2BookingBookings_universal_d_IdentificationDataIdentityType = IdentificationDataIdentityType;\n    const bookingsV2BookingBookings_universal_d_IdentificationDataIdentityType: typeof IdentificationDataIdentityType;\n    type bookingsV2BookingBookings_universal_d_FlowControlSettings = FlowControlSettings;\n    type bookingsV2BookingBookings_universal_d_ParticipantChoices = ParticipantChoices;\n    type bookingsV2BookingBookings_universal_d_ServiceChoices = ServiceChoices;\n    type bookingsV2BookingBookings_universal_d_MultiServiceBookingInfo = MultiServiceBookingInfo;\n    type bookingsV2BookingBookings_universal_d_CreateMultiServiceBookingRequest = CreateMultiServiceBookingRequest;\n    type bookingsV2BookingBookings_universal_d_CreateBookingFlowControlSettings = CreateBookingFlowControlSettings;\n    type bookingsV2BookingBookings_universal_d_CreateMultiServiceBookingResponse = CreateMultiServiceBookingResponse;\n    type bookingsV2BookingBookings_universal_d_MultiServiceBooking = MultiServiceBooking;\n    type bookingsV2BookingBookings_universal_d_BookingResult = BookingResult;\n    type bookingsV2BookingBookings_universal_d_RescheduleMultiServiceBookingRequest = RescheduleMultiServiceBookingRequest;\n    type bookingsV2BookingBookings_universal_d_V2Slot = V2Slot;\n    type bookingsV2BookingBookings_universal_d_LocationLocationType = LocationLocationType;\n    const bookingsV2BookingBookings_universal_d_LocationLocationType: typeof LocationLocationType;\n    type bookingsV2BookingBookings_universal_d_SlotSlotResource = SlotSlotResource;\n    type bookingsV2BookingBookings_universal_d_SlotLocation = SlotLocation;\n    type bookingsV2BookingBookings_universal_d_RescheduleBookingInfo = RescheduleBookingInfo;\n    type bookingsV2BookingBookings_universal_d_RescheduleBookingInfoParticipantsInfoOneOf = RescheduleBookingInfoParticipantsInfoOneOf;\n    type bookingsV2BookingBookings_universal_d_RescheduleBookingFlowControlSettings = RescheduleBookingFlowControlSettings;\n    type bookingsV2BookingBookings_universal_d_RescheduleMultiServiceBookingResponse = RescheduleMultiServiceBookingResponse;\n    type bookingsV2BookingBookings_universal_d_BookingRescheduled = BookingRescheduled;\n    type bookingsV2BookingBookings_universal_d_BookingRescheduledPreviousParticipantsInfoOneOf = BookingRescheduledPreviousParticipantsInfoOneOf;\n    type bookingsV2BookingBookings_universal_d_IdentityType = IdentityType;\n    const bookingsV2BookingBookings_universal_d_IdentityType: typeof IdentityType;\n    type bookingsV2BookingBookings_universal_d_GetMultiServiceBookingAvailabilityRequest = GetMultiServiceBookingAvailabilityRequest;\n    type bookingsV2BookingBookings_universal_d_GetMultiServiceBookingAvailabilityResponse = GetMultiServiceBookingAvailabilityResponse;\n    type bookingsV2BookingBookings_universal_d_GetMultiServiceBookingAvailabilityResponseBookingInfo = GetMultiServiceBookingAvailabilityResponseBookingInfo;\n    type bookingsV2BookingBookings_universal_d_CancelMultiServiceBookingRequest = CancelMultiServiceBookingRequest;\n    type bookingsV2BookingBookings_universal_d_CancelBookingFlowControlSettings = CancelBookingFlowControlSettings;\n    type bookingsV2BookingBookings_universal_d_CancelMultiServiceBookingResponse = CancelMultiServiceBookingResponse;\n    type bookingsV2BookingBookings_universal_d_BookingCanceled = BookingCanceled;\n    type bookingsV2BookingBookings_universal_d_MarkMultiServiceBookingAsPendingRequest = MarkMultiServiceBookingAsPendingRequest;\n    type bookingsV2BookingBookings_universal_d_BookingInfo = BookingInfo;\n    type bookingsV2BookingBookings_universal_d_MarkBookingAsPendingFlowControlSettings = MarkBookingAsPendingFlowControlSettings;\n    type bookingsV2BookingBookings_universal_d_MarkMultiServiceBookingAsPendingResponse = MarkMultiServiceBookingAsPendingResponse;\n    type bookingsV2BookingBookings_universal_d_ConfirmMultiServiceBookingRequest = ConfirmMultiServiceBookingRequest;\n    type bookingsV2BookingBookings_universal_d_ConfirmBookingFlowControlSettings = ConfirmBookingFlowControlSettings;\n    type bookingsV2BookingBookings_universal_d_ConfirmMultiServiceBookingResponse = ConfirmMultiServiceBookingResponse;\n    type bookingsV2BookingBookings_universal_d_BookingConfirmed = BookingConfirmed;\n    type bookingsV2BookingBookings_universal_d_DeclineMultiServiceBookingRequest = DeclineMultiServiceBookingRequest;\n    type bookingsV2BookingBookings_universal_d_DeclineMultiServiceBookingResponse = DeclineMultiServiceBookingResponse;\n    type bookingsV2BookingBookings_universal_d_BookingDeclined = BookingDeclined;\n    type bookingsV2BookingBookings_universal_d_BulkGetMultiServiceBookingAllowedActionsRequest = BulkGetMultiServiceBookingAllowedActionsRequest;\n    type bookingsV2BookingBookings_universal_d_BulkGetMultiServiceBookingAllowedActionsResponse = BulkGetMultiServiceBookingAllowedActionsResponse;\n    type bookingsV2BookingBookings_universal_d_BulkCalculateAllowedActionsResult = BulkCalculateAllowedActionsResult;\n    type bookingsV2BookingBookings_universal_d_AllowedActions = AllowedActions;\n    type bookingsV2BookingBookings_universal_d_MarkAsMultiServiceBookingRequest = MarkAsMultiServiceBookingRequest;\n    type bookingsV2BookingBookings_universal_d_MarkAsMultiServiceBookingResponse = MarkAsMultiServiceBookingResponse;\n    type bookingsV2BookingBookings_universal_d_GetMultiServiceBookingRequest = GetMultiServiceBookingRequest;\n    type bookingsV2BookingBookings_universal_d_GetMultiServiceBookingResponse = GetMultiServiceBookingResponse;\n    type bookingsV2BookingBookings_universal_d_MultiServiceBookingMetadata = MultiServiceBookingMetadata;\n    type bookingsV2BookingBookings_universal_d_AddBookingsToMultiServiceBookingRequest = AddBookingsToMultiServiceBookingRequest;\n    type bookingsV2BookingBookings_universal_d_BookingIdAndRevision = BookingIdAndRevision;\n    type bookingsV2BookingBookings_universal_d_AddBookingsToMultiServiceBookingResponse = AddBookingsToMultiServiceBookingResponse;\n    type bookingsV2BookingBookings_universal_d_RemoveBookingsFromMultiServiceBookingRequest = RemoveBookingsFromMultiServiceBookingRequest;\n    type bookingsV2BookingBookings_universal_d_RemoveBookingsFromMultiServiceBookingResponse = RemoveBookingsFromMultiServiceBookingResponse;\n    type bookingsV2BookingBookings_universal_d_WebhooksIdentificationData = WebhooksIdentificationData;\n    type bookingsV2BookingBookings_universal_d_WebhooksIdentificationDataIdOneOf = WebhooksIdentificationDataIdOneOf;\n    type bookingsV2BookingBookings_universal_d_BookingChanged = BookingChanged;\n    type bookingsV2BookingBookings_universal_d_CreateBookingRequest = CreateBookingRequest;\n    type bookingsV2BookingBookings_universal_d_CreateBookingResponse = CreateBookingResponse;\n    type bookingsV2BookingBookings_universal_d_UpdateBookingRequest = UpdateBookingRequest;\n    type bookingsV2BookingBookings_universal_d_UpdateBookingResponse = UpdateBookingResponse;\n    type bookingsV2BookingBookings_universal_d_LegacyCreateBookingRequest = LegacyCreateBookingRequest;\n    type bookingsV2BookingBookings_universal_d_LegacyCreateBookingResponse = LegacyCreateBookingResponse;\n    type bookingsV2BookingBookings_universal_d_BulkUpdateBookingRequest = BulkUpdateBookingRequest;\n    type bookingsV2BookingBookings_universal_d_MaskedBooking = MaskedBooking;\n    type bookingsV2BookingBookings_universal_d_BulkUpdateBookingResponse = BulkUpdateBookingResponse;\n    type bookingsV2BookingBookings_universal_d_BulkCreateBookingRequest = BulkCreateBookingRequest;\n    type bookingsV2BookingBookings_universal_d_CreateBookingInfo = CreateBookingInfo;\n    type bookingsV2BookingBookings_universal_d_BulkCreateBookingResponse = BulkCreateBookingResponse;\n    type bookingsV2BookingBookings_universal_d_BulkBookingResult = BulkBookingResult;\n    type bookingsV2BookingBookings_universal_d_RescheduleBookingRequest = RescheduleBookingRequest;\n    type bookingsV2BookingBookings_universal_d_RescheduleBookingRequestParticipantsInfoOneOf = RescheduleBookingRequestParticipantsInfoOneOf;\n    type bookingsV2BookingBookings_universal_d_RescheduleBookingResponse = RescheduleBookingResponse;\n    type bookingsV2BookingBookings_universal_d_BulkRescheduleBookingRequest = BulkRescheduleBookingRequest;\n    type bookingsV2BookingBookings_universal_d_BulkRescheduleBookingRequestBooking = BulkRescheduleBookingRequestBooking;\n    type bookingsV2BookingBookings_universal_d_SlotBookings = SlotBookings;\n    type bookingsV2BookingBookings_universal_d_BulkRescheduleBookingResponse = BulkRescheduleBookingResponse;\n    type bookingsV2BookingBookings_universal_d_BulkUpdateBookedScheduleRequest = BulkUpdateBookedScheduleRequest;\n    type bookingsV2BookingBookings_universal_d_BookingDetails = BookingDetails;\n    type bookingsV2BookingBookings_universal_d_BulkUpdateBookedScheduleResponse = BulkUpdateBookedScheduleResponse;\n    type bookingsV2BookingBookings_universal_d_QueryBookingsRequest = QueryBookingsRequest;\n    type bookingsV2BookingBookings_universal_d_QueryBookingsResponse = QueryBookingsResponse;\n    type bookingsV2BookingBookings_universal_d_ConfirmRequest = ConfirmRequest;\n    type bookingsV2BookingBookings_universal_d_ConfirmResponse = ConfirmResponse;\n    type bookingsV2BookingBookings_universal_d_ConfirmBookingRequest = ConfirmBookingRequest;\n    type bookingsV2BookingBookings_universal_d_ConfirmBookingResponse = ConfirmBookingResponse;\n    type bookingsV2BookingBookings_universal_d_PartySizeRequest = PartySizeRequest;\n    type bookingsV2BookingBookings_universal_d_PartySizeRequestPartySizeForOneOf = PartySizeRequestPartySizeForOneOf;\n    type bookingsV2BookingBookings_universal_d_PartySizeResponse = PartySizeResponse;\n    type bookingsV2BookingBookings_universal_d_ConsistentQueryBookingsRequest = ConsistentQueryBookingsRequest;\n    type bookingsV2BookingBookings_universal_d_ConsistentQueryBookingsResponse = ConsistentQueryBookingsResponse;\n    type bookingsV2BookingBookings_universal_d_SetBookingSessionIdRequest = SetBookingSessionIdRequest;\n    type bookingsV2BookingBookings_universal_d_SetBookingSessionIdResponse = SetBookingSessionIdResponse;\n    type bookingsV2BookingBookings_universal_d_UpdateExtendedFieldsRequest = UpdateExtendedFieldsRequest;\n    type bookingsV2BookingBookings_universal_d_UpdateExtendedFieldsResponse = UpdateExtendedFieldsResponse;\n    type bookingsV2BookingBookings_universal_d_DeclineBookingRequest = DeclineBookingRequest;\n    type bookingsV2BookingBookings_universal_d_DeclineBookingResponse = DeclineBookingResponse;\n    type bookingsV2BookingBookings_universal_d_CancelBookingRequest = CancelBookingRequest;\n    type bookingsV2BookingBookings_universal_d_CancelBookingResponse = CancelBookingResponse;\n    type bookingsV2BookingBookings_universal_d_UpdateNumberOfParticipantsRequest = UpdateNumberOfParticipantsRequest;\n    type bookingsV2BookingBookings_universal_d_UpdateNumberOfParticipantsRequestParticipantsInfoOneOf = UpdateNumberOfParticipantsRequestParticipantsInfoOneOf;\n    type bookingsV2BookingBookings_universal_d_UpdateNumberOfParticipantsResponse = UpdateNumberOfParticipantsResponse;\n    type bookingsV2BookingBookings_universal_d_NumberOfParticipantsUpdated = NumberOfParticipantsUpdated;\n    type bookingsV2BookingBookings_universal_d_NumberOfParticipantsUpdatedPreviousParticipantsInfoOneOf = NumberOfParticipantsUpdatedPreviousParticipantsInfoOneOf;\n    type bookingsV2BookingBookings_universal_d_CalculateAllowedActionsRequest = CalculateAllowedActionsRequest;\n    type bookingsV2BookingBookings_universal_d_CalculateAllowedActionsResponse = CalculateAllowedActionsResponse;\n    type bookingsV2BookingBookings_universal_d_BulkCalculateAllowedActionsRequest = BulkCalculateAllowedActionsRequest;\n    type bookingsV2BookingBookings_universal_d_BulkCalculateAllowedActionsResponse = BulkCalculateAllowedActionsResponse;\n    type bookingsV2BookingBookings_universal_d_AvailableResources = AvailableResources;\n    type bookingsV2BookingBookings_universal_d_MarkBookingAsPendingRequest = MarkBookingAsPendingRequest;\n    type bookingsV2BookingBookings_universal_d_MarkBookingAsPendingResponse = MarkBookingAsPendingResponse;\n    type bookingsV2BookingBookings_universal_d_BookingMarkedAsPending = BookingMarkedAsPending;\n    type bookingsV2BookingBookings_universal_d_MigrationCheckIfClashesWithBlockedTimeRequest = MigrationCheckIfClashesWithBlockedTimeRequest;\n    type bookingsV2BookingBookings_universal_d_MsidAndBookingId = MsidAndBookingId;\n    type bookingsV2BookingBookings_universal_d_MigrationCheckIfClashesWithBlockedTimeResponse = MigrationCheckIfClashesWithBlockedTimeResponse;\n    type bookingsV2BookingBookings_universal_d_Clash = Clash;\n    type bookingsV2BookingBookings_universal_d_ConfirmOrDeclineBookingRequest = ConfirmOrDeclineBookingRequest;\n    type bookingsV2BookingBookings_universal_d_ConfirmOrDeclineBookingResponse = ConfirmOrDeclineBookingResponse;\n    type bookingsV2BookingBookings_universal_d_BulkConfirmOrDeclineBookingRequest = BulkConfirmOrDeclineBookingRequest;\n    type bookingsV2BookingBookings_universal_d_BulkConfirmOrDeclineBookingRequestBookingDetails = BulkConfirmOrDeclineBookingRequestBookingDetails;\n    type bookingsV2BookingBookings_universal_d_BulkConfirmOrDeclineBookingResponse = BulkConfirmOrDeclineBookingResponse;\n    type bookingsV2BookingBookings_universal_d_V2CreateBookingRequest = V2CreateBookingRequest;\n    type bookingsV2BookingBookings_universal_d_V2CreateBookingRequestBookableItemOneOf = V2CreateBookingRequestBookableItemOneOf;\n    type bookingsV2BookingBookings_universal_d_V2CreateBookingRequestParticipantsInfoOneOf = V2CreateBookingRequestParticipantsInfoOneOf;\n    type bookingsV2BookingBookings_universal_d_CreateBookingRequestFlowControlSettings = CreateBookingRequestFlowControlSettings;\n    type bookingsV2BookingBookings_universal_d_V2CreateBookingResponse = V2CreateBookingResponse;\n    type bookingsV2BookingBookings_universal_d_V2CancelBookingRequest = V2CancelBookingRequest;\n    type bookingsV2BookingBookings_universal_d_CancelBookingRequestFlowControlSettings = CancelBookingRequestFlowControlSettings;\n    type bookingsV2BookingBookings_universal_d_V2CancelBookingResponse = V2CancelBookingResponse;\n    type bookingsV2BookingBookings_universal_d_V2RescheduleBookingRequest = V2RescheduleBookingRequest;\n    type bookingsV2BookingBookings_universal_d_V2RescheduleBookingRequestParticipantsInfoOneOf = V2RescheduleBookingRequestParticipantsInfoOneOf;\n    type bookingsV2BookingBookings_universal_d_RescheduleBookingRequestFlowControlSettings = RescheduleBookingRequestFlowControlSettings;\n    type bookingsV2BookingBookings_universal_d_V2RescheduleBookingResponse = V2RescheduleBookingResponse;\n    type bookingsV2BookingBookings_universal_d_V2ConfirmBookingRequest = V2ConfirmBookingRequest;\n    type bookingsV2BookingBookings_universal_d_V2ConfirmBookingResponse = V2ConfirmBookingResponse;\n    type bookingsV2BookingBookings_universal_d_V2DeclineBookingRequest = V2DeclineBookingRequest;\n    type bookingsV2BookingBookings_universal_d_V2DeclineBookingResponse = V2DeclineBookingResponse;\n    type bookingsV2BookingBookings_universal_d_V2UpdateNumberOfParticipantsRequest = V2UpdateNumberOfParticipantsRequest;\n    type bookingsV2BookingBookings_universal_d_V2UpdateNumberOfParticipantsRequestParticipantsInfoOneOf = V2UpdateNumberOfParticipantsRequestParticipantsInfoOneOf;\n    type bookingsV2BookingBookings_universal_d_V2UpdateNumberOfParticipantsResponse = V2UpdateNumberOfParticipantsResponse;\n    type bookingsV2BookingBookings_universal_d_CreateMultiServiceBookingOptions = CreateMultiServiceBookingOptions;\n    type bookingsV2BookingBookings_universal_d_RescheduleMultiServiceBookingOptions = RescheduleMultiServiceBookingOptions;\n    type bookingsV2BookingBookings_universal_d_CancelMultiServiceBookingOptions = CancelMultiServiceBookingOptions;\n    type bookingsV2BookingBookings_universal_d_MarkMultiServiceBookingAsPendingOptions = MarkMultiServiceBookingAsPendingOptions;\n    type bookingsV2BookingBookings_universal_d_ConfirmMultiServiceBookingOptions = ConfirmMultiServiceBookingOptions;\n    type bookingsV2BookingBookings_universal_d_DeclineMultiServiceBookingOptions = DeclineMultiServiceBookingOptions;\n    type bookingsV2BookingBookings_universal_d_MarkAsMultiServiceBookingOptions = MarkAsMultiServiceBookingOptions;\n    type bookingsV2BookingBookings_universal_d_AddBookingsToMultiServiceBookingOptions = AddBookingsToMultiServiceBookingOptions;\n    type bookingsV2BookingBookings_universal_d_RemoveBookingsFromMultiServiceBookingOptions = RemoveBookingsFromMultiServiceBookingOptions;\n    const bookingsV2BookingBookings_universal_d_createBooking: typeof createBooking;\n    type bookingsV2BookingBookings_universal_d_CreateBookingOptions = CreateBookingOptions;\n    type bookingsV2BookingBookings_universal_d_UpdateBooking = UpdateBooking;\n    type bookingsV2BookingBookings_universal_d_UpdateBookingOptions = UpdateBookingOptions;\n    const bookingsV2BookingBookings_universal_d_bulkCreateBooking: typeof bulkCreateBooking;\n    type bookingsV2BookingBookings_universal_d_BulkCreateBookingOptions = BulkCreateBookingOptions;\n    const bookingsV2BookingBookings_universal_d_rescheduleBooking: typeof rescheduleBooking;\n    type bookingsV2BookingBookings_universal_d_RescheduleBookingOptions = RescheduleBookingOptions;\n    type bookingsV2BookingBookings_universal_d_BulkRescheduleBookingOptions = BulkRescheduleBookingOptions;\n    type bookingsV2BookingBookings_universal_d_BulkUpdateBookedScheduleOptions = BulkUpdateBookedScheduleOptions;\n    type bookingsV2BookingBookings_universal_d_QueryOptions = QueryOptions;\n    const bookingsV2BookingBookings_universal_d_confirmBooking: typeof confirmBooking;\n    type bookingsV2BookingBookings_universal_d_ConfirmBookingOptions = ConfirmBookingOptions;\n    type bookingsV2BookingBookings_universal_d_PartySizeOptions = PartySizeOptions;\n    type bookingsV2BookingBookings_universal_d_ConsistentQueryOptions = ConsistentQueryOptions;\n    type bookingsV2BookingBookings_universal_d_SetBookingSessionIdOptions = SetBookingSessionIdOptions;\n    const bookingsV2BookingBookings_universal_d_updateExtendedFields: typeof updateExtendedFields;\n    type bookingsV2BookingBookings_universal_d_UpdateExtendedFieldsOptions = UpdateExtendedFieldsOptions;\n    const bookingsV2BookingBookings_universal_d_declineBooking: typeof declineBooking;\n    type bookingsV2BookingBookings_universal_d_DeclineBookingOptions = DeclineBookingOptions;\n    const bookingsV2BookingBookings_universal_d_cancelBooking: typeof cancelBooking;\n    type bookingsV2BookingBookings_universal_d_CancelBookingOptions = CancelBookingOptions;\n    const bookingsV2BookingBookings_universal_d_updateNumberOfParticipants: typeof updateNumberOfParticipants;\n    type bookingsV2BookingBookings_universal_d_UpdateNumberOfParticipantsOptions = UpdateNumberOfParticipantsOptions;\n    type bookingsV2BookingBookings_universal_d_MarkBookingAsPendingOptions = MarkBookingAsPendingOptions;\n    const bookingsV2BookingBookings_universal_d_confirmOrDeclineBooking: typeof confirmOrDeclineBooking;\n    type bookingsV2BookingBookings_universal_d_ConfirmOrDeclineBookingOptions = ConfirmOrDeclineBookingOptions;\n    type bookingsV2BookingBookings_universal_d_BulkConfirmOrDeclineBookingOptions = BulkConfirmOrDeclineBookingOptions;\n    type bookingsV2BookingBookings_universal_d_BookingsGatewayCreateBookingOptions = BookingsGatewayCreateBookingOptions;\n    type bookingsV2BookingBookings_universal_d_BookingsGatewayCancelBookingOptions = BookingsGatewayCancelBookingOptions;\n    type bookingsV2BookingBookings_universal_d_BookingsGatewayRescheduleBookingOptions = BookingsGatewayRescheduleBookingOptions;\n    type bookingsV2BookingBookings_universal_d_BookingsGatewayConfirmBookingOptions = BookingsGatewayConfirmBookingOptions;\n    type bookingsV2BookingBookings_universal_d_BookingsGatewayDeclineBookingOptions = BookingsGatewayDeclineBookingOptions;\n    type bookingsV2BookingBookings_universal_d_BookingsGatewayUpdateNumberOfParticipantsOptions = BookingsGatewayUpdateNumberOfParticipantsOptions;\n    namespace bookingsV2BookingBookings_universal_d {\n        export { bookingsV2BookingBookings_universal_d_Booking as Booking, bookingsV2BookingBookings_universal_d_BookingParticipantsInfoOneOf as BookingParticipantsInfoOneOf, bookingsV2BookingBookings_universal_d_MultiServiceBookingType as MultiServiceBookingType, bookingsV2BookingBookings_universal_d_BookedEntity as BookedEntity, bookingsV2BookingBookings_universal_d_BookedEntityItemOneOf as BookedEntityItemOneOf, bookingsV2BookingBookings_universal_d_BookedSlot as BookedSlot, bookingsV2BookingBookings_universal_d_BookedResource as BookedResource, Location$5 as Location, LocationType$5 as LocationType, bookingsV2BookingBookings_universal_d_BookedSchedule as BookedSchedule, bookingsV2BookingBookings_universal_d_ContactDetails as ContactDetails, Address$4 as Address, AddressStreetOneOf$4 as AddressStreetOneOf, StreetAddress$4 as StreetAddress, AddressLocation$4 as AddressLocation, Subdivision$4 as Subdivision, bookingsV2BookingBookings_universal_d_CustomFormField as CustomFormField, bookingsV2BookingBookings_universal_d_ValueType as ValueType, bookingsV2BookingBookings_universal_d_BookingStatus as BookingStatus, bookingsV2BookingBookings_universal_d_PaymentStatus as PaymentStatus, bookingsV2BookingBookings_universal_d_SelectedPaymentOption as SelectedPaymentOption, bookingsV2BookingBookings_universal_d_BookingSource as BookingSource, bookingsV2BookingBookings_universal_d_Platform as Platform, bookingsV2BookingBookings_universal_d_Actor as Actor, ParticipantNotification$4 as ParticipantNotification, bookingsV2BookingBookings_universal_d_CommonIdentificationData as CommonIdentificationData, bookingsV2BookingBookings_universal_d_CommonIdentificationDataIdOneOf as CommonIdentificationDataIdOneOf, bookingsV2BookingBookings_universal_d_IdentificationDataIdentityType as IdentificationDataIdentityType, bookingsV2BookingBookings_universal_d_FlowControlSettings as FlowControlSettings, ExtendedFields$1 as ExtendedFields, bookingsV2BookingBookings_universal_d_ParticipantChoices as ParticipantChoices, bookingsV2BookingBookings_universal_d_ServiceChoices as ServiceChoices, ServiceChoice$1 as ServiceChoice, ServiceChoiceChoiceOneOf$1 as ServiceChoiceChoiceOneOf, bookingsV2BookingBookings_universal_d_MultiServiceBookingInfo as MultiServiceBookingInfo, bookingsV2BookingBookings_universal_d_CreateMultiServiceBookingRequest as CreateMultiServiceBookingRequest, bookingsV2BookingBookings_universal_d_CreateBookingFlowControlSettings as CreateBookingFlowControlSettings, bookingsV2BookingBookings_universal_d_CreateMultiServiceBookingResponse as CreateMultiServiceBookingResponse, bookingsV2BookingBookings_universal_d_MultiServiceBooking as MultiServiceBooking, bookingsV2BookingBookings_universal_d_BookingResult as BookingResult, bookingsV2BookingBookings_universal_d_RescheduleMultiServiceBookingRequest as RescheduleMultiServiceBookingRequest, bookingsV2BookingBookings_universal_d_V2Slot as V2Slot, bookingsV2BookingBookings_universal_d_LocationLocationType as LocationLocationType, bookingsV2BookingBookings_universal_d_SlotSlotResource as SlotSlotResource, bookingsV2BookingBookings_universal_d_SlotLocation as SlotLocation, bookingsV2BookingBookings_universal_d_RescheduleBookingInfo as RescheduleBookingInfo, bookingsV2BookingBookings_universal_d_RescheduleBookingInfoParticipantsInfoOneOf as RescheduleBookingInfoParticipantsInfoOneOf, bookingsV2BookingBookings_universal_d_RescheduleBookingFlowControlSettings as RescheduleBookingFlowControlSettings, bookingsV2BookingBookings_universal_d_RescheduleMultiServiceBookingResponse as RescheduleMultiServiceBookingResponse, bookingsV2BookingBookings_universal_d_BookingRescheduled as BookingRescheduled, bookingsV2BookingBookings_universal_d_BookingRescheduledPreviousParticipantsInfoOneOf as BookingRescheduledPreviousParticipantsInfoOneOf, IdentificationData$2 as IdentificationData, IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf, bookingsV2BookingBookings_universal_d_IdentityType as IdentityType, bookingsV2BookingBookings_universal_d_GetMultiServiceBookingAvailabilityRequest as GetMultiServiceBookingAvailabilityRequest, bookingsV2BookingBookings_universal_d_GetMultiServiceBookingAvailabilityResponse as GetMultiServiceBookingAvailabilityResponse, BookingPolicyViolations$1 as BookingPolicyViolations, BookingPolicySettings$1 as BookingPolicySettings, bookingsV2BookingBookings_universal_d_GetMultiServiceBookingAvailabilityResponseBookingInfo as GetMultiServiceBookingAvailabilityResponseBookingInfo, bookingsV2BookingBookings_universal_d_CancelMultiServiceBookingRequest as CancelMultiServiceBookingRequest, bookingsV2BookingBookings_universal_d_CancelBookingFlowControlSettings as CancelBookingFlowControlSettings, bookingsV2BookingBookings_universal_d_CancelMultiServiceBookingResponse as CancelMultiServiceBookingResponse, bookingsV2BookingBookings_universal_d_BookingCanceled as BookingCanceled, bookingsV2BookingBookings_universal_d_MarkMultiServiceBookingAsPendingRequest as MarkMultiServiceBookingAsPendingRequest, bookingsV2BookingBookings_universal_d_BookingInfo as BookingInfo, bookingsV2BookingBookings_universal_d_MarkBookingAsPendingFlowControlSettings as MarkBookingAsPendingFlowControlSettings, bookingsV2BookingBookings_universal_d_MarkMultiServiceBookingAsPendingResponse as MarkMultiServiceBookingAsPendingResponse, bookingsV2BookingBookings_universal_d_ConfirmMultiServiceBookingRequest as ConfirmMultiServiceBookingRequest, bookingsV2BookingBookings_universal_d_ConfirmBookingFlowControlSettings as ConfirmBookingFlowControlSettings, bookingsV2BookingBookings_universal_d_ConfirmMultiServiceBookingResponse as ConfirmMultiServiceBookingResponse, bookingsV2BookingBookings_universal_d_BookingConfirmed as BookingConfirmed, bookingsV2BookingBookings_universal_d_DeclineMultiServiceBookingRequest as DeclineMultiServiceBookingRequest, bookingsV2BookingBookings_universal_d_DeclineMultiServiceBookingResponse as DeclineMultiServiceBookingResponse, bookingsV2BookingBookings_universal_d_BookingDeclined as BookingDeclined, bookingsV2BookingBookings_universal_d_BulkGetMultiServiceBookingAllowedActionsRequest as BulkGetMultiServiceBookingAllowedActionsRequest, bookingsV2BookingBookings_universal_d_BulkGetMultiServiceBookingAllowedActionsResponse as BulkGetMultiServiceBookingAllowedActionsResponse, bookingsV2BookingBookings_universal_d_BulkCalculateAllowedActionsResult as BulkCalculateAllowedActionsResult, ItemMetadata$1 as ItemMetadata, ApplicationError$1 as ApplicationError, bookingsV2BookingBookings_universal_d_AllowedActions as AllowedActions, BulkActionMetadata$1 as BulkActionMetadata, bookingsV2BookingBookings_universal_d_MarkAsMultiServiceBookingRequest as MarkAsMultiServiceBookingRequest, bookingsV2BookingBookings_universal_d_MarkAsMultiServiceBookingResponse as MarkAsMultiServiceBookingResponse, bookingsV2BookingBookings_universal_d_GetMultiServiceBookingRequest as GetMultiServiceBookingRequest, bookingsV2BookingBookings_universal_d_GetMultiServiceBookingResponse as GetMultiServiceBookingResponse, bookingsV2BookingBookings_universal_d_MultiServiceBookingMetadata as MultiServiceBookingMetadata, bookingsV2BookingBookings_universal_d_AddBookingsToMultiServiceBookingRequest as AddBookingsToMultiServiceBookingRequest, bookingsV2BookingBookings_universal_d_BookingIdAndRevision as BookingIdAndRevision, bookingsV2BookingBookings_universal_d_AddBookingsToMultiServiceBookingResponse as AddBookingsToMultiServiceBookingResponse, bookingsV2BookingBookings_universal_d_RemoveBookingsFromMultiServiceBookingRequest as RemoveBookingsFromMultiServiceBookingRequest, bookingsV2BookingBookings_universal_d_RemoveBookingsFromMultiServiceBookingResponse as RemoveBookingsFromMultiServiceBookingResponse, DomainEvent$3 as DomainEvent, DomainEventBodyOneOf$3 as DomainEventBodyOneOf, EntityCreatedEvent$3 as EntityCreatedEvent, RestoreInfo$1 as RestoreInfo, EntityUpdatedEvent$3 as EntityUpdatedEvent, EntityDeletedEvent$3 as EntityDeletedEvent, ActionEvent$3 as ActionEvent, MessageEnvelope$2 as MessageEnvelope, bookingsV2BookingBookings_universal_d_WebhooksIdentificationData as WebhooksIdentificationData, bookingsV2BookingBookings_universal_d_WebhooksIdentificationDataIdOneOf as WebhooksIdentificationDataIdOneOf, WebhookIdentityType$2 as WebhookIdentityType, bookingsV2BookingBookings_universal_d_BookingChanged as BookingChanged, bookingsV2BookingBookings_universal_d_CreateBookingRequest as CreateBookingRequest, bookingsV2BookingBookings_universal_d_CreateBookingResponse as CreateBookingResponse, bookingsV2BookingBookings_universal_d_UpdateBookingRequest as UpdateBookingRequest, bookingsV2BookingBookings_universal_d_UpdateBookingResponse as UpdateBookingResponse, bookingsV2BookingBookings_universal_d_LegacyCreateBookingRequest as LegacyCreateBookingRequest, bookingsV2BookingBookings_universal_d_LegacyCreateBookingResponse as LegacyCreateBookingResponse, bookingsV2BookingBookings_universal_d_BulkUpdateBookingRequest as BulkUpdateBookingRequest, bookingsV2BookingBookings_universal_d_MaskedBooking as MaskedBooking, bookingsV2BookingBookings_universal_d_BulkUpdateBookingResponse as BulkUpdateBookingResponse, bookingsV2BookingBookings_universal_d_BulkCreateBookingRequest as BulkCreateBookingRequest, bookingsV2BookingBookings_universal_d_CreateBookingInfo as CreateBookingInfo, bookingsV2BookingBookings_universal_d_BulkCreateBookingResponse as BulkCreateBookingResponse, bookingsV2BookingBookings_universal_d_BulkBookingResult as BulkBookingResult, bookingsV2BookingBookings_universal_d_RescheduleBookingRequest as RescheduleBookingRequest, bookingsV2BookingBookings_universal_d_RescheduleBookingRequestParticipantsInfoOneOf as RescheduleBookingRequestParticipantsInfoOneOf, bookingsV2BookingBookings_universal_d_RescheduleBookingResponse as RescheduleBookingResponse, bookingsV2BookingBookings_universal_d_BulkRescheduleBookingRequest as BulkRescheduleBookingRequest, bookingsV2BookingBookings_universal_d_BulkRescheduleBookingRequestBooking as BulkRescheduleBookingRequestBooking, bookingsV2BookingBookings_universal_d_SlotBookings as SlotBookings, bookingsV2BookingBookings_universal_d_BulkRescheduleBookingResponse as BulkRescheduleBookingResponse, bookingsV2BookingBookings_universal_d_BulkUpdateBookedScheduleRequest as BulkUpdateBookedScheduleRequest, bookingsV2BookingBookings_universal_d_BookingDetails as BookingDetails, bookingsV2BookingBookings_universal_d_BulkUpdateBookedScheduleResponse as BulkUpdateBookedScheduleResponse, bookingsV2BookingBookings_universal_d_QueryBookingsRequest as QueryBookingsRequest, QueryV2$3 as QueryV2, QueryV2PagingMethodOneOf$3 as QueryV2PagingMethodOneOf, Sorting$3 as Sorting, SortOrder$3 as SortOrder, Paging$2 as Paging, CursorPaging$4 as CursorPaging, bookingsV2BookingBookings_universal_d_QueryBookingsResponse as QueryBookingsResponse, PagingMetadataV2$3 as PagingMetadataV2, Cursors$4 as Cursors, bookingsV2BookingBookings_universal_d_ConfirmRequest as ConfirmRequest, bookingsV2BookingBookings_universal_d_ConfirmResponse as ConfirmResponse, bookingsV2BookingBookings_universal_d_ConfirmBookingRequest as ConfirmBookingRequest, bookingsV2BookingBookings_universal_d_ConfirmBookingResponse as ConfirmBookingResponse, bookingsV2BookingBookings_universal_d_PartySizeRequest as PartySizeRequest, bookingsV2BookingBookings_universal_d_PartySizeRequestPartySizeForOneOf as PartySizeRequestPartySizeForOneOf, bookingsV2BookingBookings_universal_d_PartySizeResponse as PartySizeResponse, bookingsV2BookingBookings_universal_d_ConsistentQueryBookingsRequest as ConsistentQueryBookingsRequest, bookingsV2BookingBookings_universal_d_ConsistentQueryBookingsResponse as ConsistentQueryBookingsResponse, bookingsV2BookingBookings_universal_d_SetBookingSessionIdRequest as SetBookingSessionIdRequest, bookingsV2BookingBookings_universal_d_SetBookingSessionIdResponse as SetBookingSessionIdResponse, bookingsV2BookingBookings_universal_d_UpdateExtendedFieldsRequest as UpdateExtendedFieldsRequest, bookingsV2BookingBookings_universal_d_UpdateExtendedFieldsResponse as UpdateExtendedFieldsResponse, bookingsV2BookingBookings_universal_d_DeclineBookingRequest as DeclineBookingRequest, bookingsV2BookingBookings_universal_d_DeclineBookingResponse as DeclineBookingResponse, bookingsV2BookingBookings_universal_d_CancelBookingRequest as CancelBookingRequest, bookingsV2BookingBookings_universal_d_CancelBookingResponse as CancelBookingResponse, bookingsV2BookingBookings_universal_d_UpdateNumberOfParticipantsRequest as UpdateNumberOfParticipantsRequest, bookingsV2BookingBookings_universal_d_UpdateNumberOfParticipantsRequestParticipantsInfoOneOf as UpdateNumberOfParticipantsRequestParticipantsInfoOneOf, bookingsV2BookingBookings_universal_d_UpdateNumberOfParticipantsResponse as UpdateNumberOfParticipantsResponse, bookingsV2BookingBookings_universal_d_NumberOfParticipantsUpdated as NumberOfParticipantsUpdated, bookingsV2BookingBookings_universal_d_NumberOfParticipantsUpdatedPreviousParticipantsInfoOneOf as NumberOfParticipantsUpdatedPreviousParticipantsInfoOneOf, bookingsV2BookingBookings_universal_d_CalculateAllowedActionsRequest as CalculateAllowedActionsRequest, bookingsV2BookingBookings_universal_d_CalculateAllowedActionsResponse as CalculateAllowedActionsResponse, bookingsV2BookingBookings_universal_d_BulkCalculateAllowedActionsRequest as BulkCalculateAllowedActionsRequest, bookingsV2BookingBookings_universal_d_BulkCalculateAllowedActionsResponse as BulkCalculateAllowedActionsResponse, GetSlotAvailabilityRequest$1 as GetSlotAvailabilityRequest, GetSlotAvailabilityResponse$1 as GetSlotAvailabilityResponse, SlotAvailability$1 as SlotAvailability, WaitingList$1 as WaitingList, bookingsV2BookingBookings_universal_d_AvailableResources as AvailableResources, GetScheduleAvailabilityRequest$1 as GetScheduleAvailabilityRequest, GetScheduleAvailabilityResponse$1 as GetScheduleAvailabilityResponse, ScheduleAvailability$1 as ScheduleAvailability, bookingsV2BookingBookings_universal_d_MarkBookingAsPendingRequest as MarkBookingAsPendingRequest, bookingsV2BookingBookings_universal_d_MarkBookingAsPendingResponse as MarkBookingAsPendingResponse, bookingsV2BookingBookings_universal_d_BookingMarkedAsPending as BookingMarkedAsPending, bookingsV2BookingBookings_universal_d_MigrationCheckIfClashesWithBlockedTimeRequest as MigrationCheckIfClashesWithBlockedTimeRequest, bookingsV2BookingBookings_universal_d_MsidAndBookingId as MsidAndBookingId, bookingsV2BookingBookings_universal_d_MigrationCheckIfClashesWithBlockedTimeResponse as MigrationCheckIfClashesWithBlockedTimeResponse, bookingsV2BookingBookings_universal_d_Clash as Clash, bookingsV2BookingBookings_universal_d_ConfirmOrDeclineBookingRequest as ConfirmOrDeclineBookingRequest, bookingsV2BookingBookings_universal_d_ConfirmOrDeclineBookingResponse as ConfirmOrDeclineBookingResponse, bookingsV2BookingBookings_universal_d_BulkConfirmOrDeclineBookingRequest as BulkConfirmOrDeclineBookingRequest, bookingsV2BookingBookings_universal_d_BulkConfirmOrDeclineBookingRequestBookingDetails as BulkConfirmOrDeclineBookingRequestBookingDetails, bookingsV2BookingBookings_universal_d_BulkConfirmOrDeclineBookingResponse as BulkConfirmOrDeclineBookingResponse, bookingsV2BookingBookings_universal_d_V2CreateBookingRequest as V2CreateBookingRequest, bookingsV2BookingBookings_universal_d_V2CreateBookingRequestBookableItemOneOf as V2CreateBookingRequestBookableItemOneOf, bookingsV2BookingBookings_universal_d_V2CreateBookingRequestParticipantsInfoOneOf as V2CreateBookingRequestParticipantsInfoOneOf, Slot$1 as Slot, SlotResource$1 as SlotResource, bookingsV2BookingBookings_universal_d_CreateBookingRequestFlowControlSettings as CreateBookingRequestFlowControlSettings, bookingsV2BookingBookings_universal_d_V2CreateBookingResponse as V2CreateBookingResponse, bookingsV2BookingBookings_universal_d_V2CancelBookingRequest as V2CancelBookingRequest, bookingsV2BookingBookings_universal_d_CancelBookingRequestFlowControlSettings as CancelBookingRequestFlowControlSettings, bookingsV2BookingBookings_universal_d_V2CancelBookingResponse as V2CancelBookingResponse, bookingsV2BookingBookings_universal_d_V2RescheduleBookingRequest as V2RescheduleBookingRequest, bookingsV2BookingBookings_universal_d_V2RescheduleBookingRequestParticipantsInfoOneOf as V2RescheduleBookingRequestParticipantsInfoOneOf, bookingsV2BookingBookings_universal_d_RescheduleBookingRequestFlowControlSettings as RescheduleBookingRequestFlowControlSettings, bookingsV2BookingBookings_universal_d_V2RescheduleBookingResponse as V2RescheduleBookingResponse, bookingsV2BookingBookings_universal_d_V2ConfirmBookingRequest as V2ConfirmBookingRequest, bookingsV2BookingBookings_universal_d_V2ConfirmBookingResponse as V2ConfirmBookingResponse, bookingsV2BookingBookings_universal_d_V2DeclineBookingRequest as V2DeclineBookingRequest, bookingsV2BookingBookings_universal_d_V2DeclineBookingResponse as V2DeclineBookingResponse, bookingsV2BookingBookings_universal_d_V2UpdateNumberOfParticipantsRequest as V2UpdateNumberOfParticipantsRequest, bookingsV2BookingBookings_universal_d_V2UpdateNumberOfParticipantsRequestParticipantsInfoOneOf as V2UpdateNumberOfParticipantsRequestParticipantsInfoOneOf, bookingsV2BookingBookings_universal_d_V2UpdateNumberOfParticipantsResponse as V2UpdateNumberOfParticipantsResponse, bookingsV2BookingBookings_universal_d_CreateMultiServiceBookingOptions as CreateMultiServiceBookingOptions, bookingsV2BookingBookings_universal_d_RescheduleMultiServiceBookingOptions as RescheduleMultiServiceBookingOptions, bookingsV2BookingBookings_universal_d_CancelMultiServiceBookingOptions as CancelMultiServiceBookingOptions, bookingsV2BookingBookings_universal_d_MarkMultiServiceBookingAsPendingOptions as MarkMultiServiceBookingAsPendingOptions, bookingsV2BookingBookings_universal_d_ConfirmMultiServiceBookingOptions as ConfirmMultiServiceBookingOptions, bookingsV2BookingBookings_universal_d_DeclineMultiServiceBookingOptions as DeclineMultiServiceBookingOptions, bookingsV2BookingBookings_universal_d_MarkAsMultiServiceBookingOptions as MarkAsMultiServiceBookingOptions, bookingsV2BookingBookings_universal_d_AddBookingsToMultiServiceBookingOptions as AddBookingsToMultiServiceBookingOptions, bookingsV2BookingBookings_universal_d_RemoveBookingsFromMultiServiceBookingOptions as RemoveBookingsFromMultiServiceBookingOptions, bookingsV2BookingBookings_universal_d_createBooking as createBooking, bookingsV2BookingBookings_universal_d_CreateBookingOptions as CreateBookingOptions, bookingsV2BookingBookings_universal_d_UpdateBooking as UpdateBooking, bookingsV2BookingBookings_universal_d_UpdateBookingOptions as UpdateBookingOptions, bookingsV2BookingBookings_universal_d_bulkCreateBooking as bulkCreateBooking, bookingsV2BookingBookings_universal_d_BulkCreateBookingOptions as BulkCreateBookingOptions, bookingsV2BookingBookings_universal_d_rescheduleBooking as rescheduleBooking, bookingsV2BookingBookings_universal_d_RescheduleBookingOptions as RescheduleBookingOptions, bookingsV2BookingBookings_universal_d_BulkRescheduleBookingOptions as BulkRescheduleBookingOptions, bookingsV2BookingBookings_universal_d_BulkUpdateBookedScheduleOptions as BulkUpdateBookedScheduleOptions, bookingsV2BookingBookings_universal_d_QueryOptions as QueryOptions, bookingsV2BookingBookings_universal_d_confirmBooking as confirmBooking, bookingsV2BookingBookings_universal_d_ConfirmBookingOptions as ConfirmBookingOptions, bookingsV2BookingBookings_universal_d_PartySizeOptions as PartySizeOptions, bookingsV2BookingBookings_universal_d_ConsistentQueryOptions as ConsistentQueryOptions, bookingsV2BookingBookings_universal_d_SetBookingSessionIdOptions as SetBookingSessionIdOptions, bookingsV2BookingBookings_universal_d_updateExtendedFields as updateExtendedFields, bookingsV2BookingBookings_universal_d_UpdateExtendedFieldsOptions as UpdateExtendedFieldsOptions, bookingsV2BookingBookings_universal_d_declineBooking as declineBooking, bookingsV2BookingBookings_universal_d_DeclineBookingOptions as DeclineBookingOptions, bookingsV2BookingBookings_universal_d_cancelBooking as cancelBooking, bookingsV2BookingBookings_universal_d_CancelBookingOptions as CancelBookingOptions, bookingsV2BookingBookings_universal_d_updateNumberOfParticipants as updateNumberOfParticipants, bookingsV2BookingBookings_universal_d_UpdateNumberOfParticipantsOptions as UpdateNumberOfParticipantsOptions, GetSlotAvailabilityOptions$1 as GetSlotAvailabilityOptions, bookingsV2BookingBookings_universal_d_MarkBookingAsPendingOptions as MarkBookingAsPendingOptions, bookingsV2BookingBookings_universal_d_confirmOrDeclineBooking as confirmOrDeclineBooking, bookingsV2BookingBookings_universal_d_ConfirmOrDeclineBookingOptions as ConfirmOrDeclineBookingOptions, bookingsV2BookingBookings_universal_d_BulkConfirmOrDeclineBookingOptions as BulkConfirmOrDeclineBookingOptions, bookingsV2BookingBookings_universal_d_BookingsGatewayCreateBookingOptions as BookingsGatewayCreateBookingOptions, bookingsV2BookingBookings_universal_d_BookingsGatewayCancelBookingOptions as BookingsGatewayCancelBookingOptions, bookingsV2BookingBookings_universal_d_BookingsGatewayRescheduleBookingOptions as BookingsGatewayRescheduleBookingOptions, bookingsV2BookingBookings_universal_d_BookingsGatewayConfirmBookingOptions as BookingsGatewayConfirmBookingOptions, bookingsV2BookingBookings_universal_d_BookingsGatewayDeclineBookingOptions as BookingsGatewayDeclineBookingOptions, bookingsV2BookingBookings_universal_d_BookingsGatewayUpdateNumberOfParticipantsOptions as BookingsGatewayUpdateNumberOfParticipantsOptions, };\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()`](#connect-by-credentials) or [`connectByOAuth()`](#connect-by-o-auth) 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    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()`](#connect-by-o-auth) function.\n         * For providers supporting `CREDENTIALS`, connect with the [`connectByCredentials()`](#connect-by-credentials) 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()`](#update-sync-config) 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()`](#list-calendars) 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()`](#list-calendars) 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    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()`](#list-events) 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    /** @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()`](#list-providers) 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    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()`](#list-providers) 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    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$3;\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    interface CursorPaging$3 {\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$2;\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    /** 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$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    }\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        intervalSplit?: IntervalSplit$3;\n        recurringSessionSplit?: RecurringSessionSplit$3;\n        /** Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead. */\n        scheduleUnassignedFromUser?: ScheduleUnassignedFromUser$3;\n        preserveFutureSessionsWithParticipants?: boolean | null;\n        /** Whether to notify participants about changed sessions. deprecated, use participant_notification */\n        notifyParticipants?: boolean;\n        /** site properties. Optional. Given in create schedule notification. */\n        siteProperties?: SitePropertiesOnScheduleCreation$3;\n        instanceId?: string;\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        intervalSplit?: IntervalSplit$3;\n        recurringSessionSplit?: RecurringSessionSplit$3;\n        /** Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead. */\n        scheduleUnassignedFromUser?: ScheduleUnassignedFromUser$3;\n    }\n    interface ScheduleCreated$3 {\n        schedule?: Schedule$3;\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         * 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$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         */\n        tags?: string[] | null;\n        /** Default location for the schedule's sessions. */\n        location?: Location$4;\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$3;\n        /** __Deprecated.__ */\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        /** __Deprecated.__ */\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;\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         * Fields which were inherited from the Business Info page under Settings in the Dashboard.\n         * @readonly\n         */\n        inheritedFields?: string[];\n        /** __Deprecated.__ */\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         */\n        calendarConference?: CalendarConference$3;\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;\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$3;\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        /**\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$3;\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$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         * <!--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$3;\n        /**\n         * Owner ID, of the linked schedule.\n         * @readonly\n         */\n        scheduleOwnerId?: string;\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$4 {\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$4;\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$3;\n    }\n    enum LocationType$4 {\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$3 {\n        /** Street name, number and apartment number. */\n        streetAddress?: StreetAddress$3;\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$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        /** Street name, number and apartment 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        /** 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 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$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         */\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$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://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$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$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$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    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$3 {\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$3[];\n        /** Constraints for calculating the schedule's availability. */\n        constraints?: AvailabilityConstraints$3;\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         */\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         * <!--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$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        /** 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$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$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$3;\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$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;\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         */\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$4;\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        /** Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead. */\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        /** __Deprecated.__ */\n        externalCalendarOverrides?: ExternalCalendarOverrides$3;\n        /**\n         * Session status.\n         * <!--ONLY:VELO\n         * One of:\n         * - `\"CONFIRMED\"` Default value.\n         * - `\"CANCELLED\"` The session was deleted.\n         * <!--END:ONLY:VELO-->\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         */\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        /**\n         * Session type.\n         * <!--ONLY:VELO\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         * <!--END:ONLY:VELO-->\n         */\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         */\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 session version.\n         * Composed by the schedule, session and participants versions.\n         * @readonly\n         */\n        version?: SessionVersion$3;\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;\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 {\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        /** 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    interface ScheduleCancelled$3 {\n        schedule?: Schedule$3;\n        /** Whether to notify participants about the change and an optional custom message */\n        participantNotification?: ParticipantNotification$3;\n        oldSchedule?: Schedule$3;\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$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$3 {\n        session?: Session$3;\n        /** Whether to notify participants about the change and an optional custom message */\n        participantNotification?: ParticipantNotification$3;\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$3;\n    }\n    interface MultipleSessionsCreated$3 {\n        schedulesWithSessions?: ScheduleWithSessions$3[];\n    }\n    interface ScheduleWithSessions$3 {\n        schedule?: Schedule$3;\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$3 {\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()`](#connect-by-credentials) or [`connectByOAuth()`](#connect-by-o-auth) to establish a connection.\n     *\n     * @public\n     * @documentationMaturity preview\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @permissionScope Manage External Calendars\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-EXTERNAL-CALENDARS\n     * @applicableIdentity APP\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     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @permissionScope Manage External Calendars\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-EXTERNAL-CALENDARS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @permissionScope Manage External Calendars\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-EXTERNAL-CALENDARS\n     * @applicableIdentity APP\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     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @permissionScope Manage External Calendars\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-EXTERNAL-CALENDARS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @permissionScope Manage External Calendars\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-EXTERNAL-CALENDARS\n     * @applicableIdentity APP\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()`](#list-events) to obtain an up-to-date list of events in the connected external calendars.\n     *\n     * > **Note:**\n     * > Use [`listProviders()`](#list-providers) to find out whether to connect to a particular provider using this endpoint or [`connectByCredentials()`](#connect-by-credentials).\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()`](#list-providers) function.\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @permissionScope Manage External Calendars\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-EXTERNAL-CALENDARS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @permissionScope Manage External Calendars\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-EXTERNAL-CALENDARS\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function connectByOAuth(providerId: string | null, scheduleId: string | null, redirectUrl: string | null, options?: ConnectByOAuthOptions): Promise<ConnectByOAuthResponse>;\n    interface ConnectByOAuthOptions {\n    }\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()`](#list-events) to obtain an up-to-date list of events in the connected external calendars.\n     *\n     * > **Note:**\n     * > Use [`listProviders()`](#list-providers) to find out whether to connect to a particular provider using this method or [`connectByOAuth()`](#connect-by-o-auth).\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()`](#list-providers) function.\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @permissionScope Manage External Calendars\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-EXTERNAL-CALENDARS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @permissionScope Manage External Calendars\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-EXTERNAL-CALENDARS\n     * @applicableIdentity APP\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()`](#connect-by-credentials) or [`connectByOAuth()`](#connect-by-o-auth).\n     * @param connectionId - ID of the external calendar connection to list calendars for.\n     * @public\n     * @documentationMaturity preview\n     * @requiredField connectionId\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @permissionScope Manage External Calendars\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-EXTERNAL-CALENDARS\n     * @applicableIdentity APP\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()`](#list-events) 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()`](#get-connection) or [`listConnections()`](#list-connections) and see the `syncConfig` property.\n     *\n     * > **Note:**\n     * > Supported functionality depends on the provider. Use [`listProviders()`](#list-providers) 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     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @permissionScope Manage External Calendars\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-EXTERNAL-CALENDARS\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function updateSyncConfig(connectionId: string | null, syncConfig: ConnectionSyncConfig, options?: UpdateSyncConfigOptions): Promise<UpdateSyncConfigResponse>;\n    interface UpdateSyncConfigOptions {\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()`](#list-events) 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     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @permissionScope Manage External Calendars\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-EXTERNAL-CALENDARS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @permissionScope Manage External Calendars\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-EXTERNAL-CALENDARS\n     * @applicableIdentity APP\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()`](#connect-by-credentials) or [`connectByOAuth()`](#connect-by-o-auth).\n     * @public\n     * @documentationMaturity preview\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @permissionScope Manage External Calendars\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-EXTERNAL-CALENDARS\n     * @applicableIdentity APP\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$3;\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    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ExternalCalendar = ExternalCalendar;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ListProvidersRequest = ListProvidersRequest;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ListProvidersResponse = ListProvidersResponse;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_Provider = Provider;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ProviderFeatures = ProviderFeatures;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ConnectMethod = ConnectMethod;\n    const bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ConnectMethod: typeof ConnectMethod;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ListEventFromCalendars = ListEventFromCalendars;\n    const bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ListEventFromCalendars: typeof ListEventFromCalendars;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_SyncToCalendar = SyncToCalendar;\n    const bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_SyncToCalendar: typeof SyncToCalendar;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_GetConnectionRequest = GetConnectionRequest;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_GetConnectionResponse = GetConnectionResponse;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_Connection = Connection;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ErrorReason = ErrorReason;\n    const bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ErrorReason: typeof ErrorReason;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ConnectionSyncConfig = ConnectionSyncConfig;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_Calendar = Calendar;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_PrimaryCalendar = PrimaryCalendar;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_Calendars = Calendars;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_DedicatedCalendar = DedicatedCalendar;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ConnectionSyncConfigListEventFromCalendars = ConnectionSyncConfigListEventFromCalendars;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ConnectionSyncConfigListEventFromCalendarsListFromOneOf = ConnectionSyncConfigListEventFromCalendarsListFromOneOf;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ConnectionSyncConfigSyncToCalendar = ConnectionSyncConfigSyncToCalendar;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ConnectionSyncConfigSyncToCalendarSyncToOneOf = ConnectionSyncConfigSyncToCalendarSyncToOneOf;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_SyncToErrorReason = SyncToErrorReason;\n    const bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_SyncToErrorReason: typeof SyncToErrorReason;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ListConnectionsRequest = ListConnectionsRequest;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ListConnectionsResponse = ListConnectionsResponse;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ConnectByOAuthRequest = ConnectByOAuthRequest;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ConnectByOAuthResponse = ConnectByOAuthResponse;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_RawHttpRequest = RawHttpRequest;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_PathParametersEntry = PathParametersEntry;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_QueryParametersEntry = QueryParametersEntry;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_HeadersEntry = HeadersEntry;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_RawHttpResponse = RawHttpResponse;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ConnectByCredentialsRequest = ConnectByCredentialsRequest;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ConnectByCredentialsResponse = ConnectByCredentialsResponse;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ListCalendarsRequest = ListCalendarsRequest;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ListCalendarsResponse = ListCalendarsResponse;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_UpdateSyncConfigRequest = UpdateSyncConfigRequest;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_UpdateSyncConfigResponse = UpdateSyncConfigResponse;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_DisconnectRequest = DisconnectRequest;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_DisconnectResponse = DisconnectResponse;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ListEventsRequest = ListEventsRequest;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ListEventsResponse = ListEventsResponse;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_SessionStatus = SessionStatus;\n    const bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_SessionStatus: typeof SessionStatus;\n    const bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_listProviders: typeof listProviders;\n    const bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_getConnection: typeof getConnection;\n    const bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_listConnections: typeof listConnections;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ListConnectionsOptions = ListConnectionsOptions;\n    const bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_connectByOAuth: typeof connectByOAuth;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ConnectByOAuthOptions = ConnectByOAuthOptions;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_OAuthCompletedOptions = OAuthCompletedOptions;\n    const bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_connectByCredentials: typeof connectByCredentials;\n    const bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_listCalendars: typeof listCalendars;\n    const bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_updateSyncConfig: typeof updateSyncConfig;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_UpdateSyncConfigOptions = UpdateSyncConfigOptions;\n    const bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_disconnect: typeof disconnect;\n    const bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_listEvents: typeof listEvents;\n    type bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ListEventsOptions = ListEventsOptions;\n    namespace bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d {\n        export { bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ExternalCalendar as ExternalCalendar, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ListProvidersRequest as ListProvidersRequest, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ListProvidersResponse as ListProvidersResponse, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_Provider as Provider, CalendarType$3 as CalendarType, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ProviderFeatures as ProviderFeatures, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ConnectMethod as ConnectMethod, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ListEventFromCalendars as ListEventFromCalendars, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_SyncToCalendar as SyncToCalendar, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_GetConnectionRequest as GetConnectionRequest, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_GetConnectionResponse as GetConnectionResponse, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_Connection as Connection, Status$3 as Status, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ErrorReason as ErrorReason, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ConnectionSyncConfig as ConnectionSyncConfig, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_Calendar as Calendar, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_PrimaryCalendar as PrimaryCalendar, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_Calendars as Calendars, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_DedicatedCalendar as DedicatedCalendar, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ConnectionSyncConfigListEventFromCalendars as ConnectionSyncConfigListEventFromCalendars, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ConnectionSyncConfigListEventFromCalendarsListFromOneOf as ConnectionSyncConfigListEventFromCalendarsListFromOneOf, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ConnectionSyncConfigSyncToCalendar as ConnectionSyncConfigSyncToCalendar, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ConnectionSyncConfigSyncToCalendarSyncToOneOf as ConnectionSyncConfigSyncToCalendarSyncToOneOf, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_SyncToErrorReason as SyncToErrorReason, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ListConnectionsRequest as ListConnectionsRequest, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ListConnectionsResponse as ListConnectionsResponse, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ConnectByOAuthRequest as ConnectByOAuthRequest, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ConnectByOAuthResponse as ConnectByOAuthResponse, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_RawHttpRequest as RawHttpRequest, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_PathParametersEntry as PathParametersEntry, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_QueryParametersEntry as QueryParametersEntry, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_HeadersEntry as HeadersEntry, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_RawHttpResponse as RawHttpResponse, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ConnectByCredentialsRequest as ConnectByCredentialsRequest, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ConnectByCredentialsResponse as ConnectByCredentialsResponse, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ListCalendarsRequest as ListCalendarsRequest, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ListCalendarsResponse as ListCalendarsResponse, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_UpdateSyncConfigRequest as UpdateSyncConfigRequest, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_UpdateSyncConfigResponse as UpdateSyncConfigResponse, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_DisconnectRequest as DisconnectRequest, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_DisconnectResponse as DisconnectResponse, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ListEventsRequest as ListEventsRequest, CursorPaging$3 as CursorPaging, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ListEventsResponse as ListEventsResponse, Event$2 as Event, CursorPagingMetadata$2 as CursorPagingMetadata, Cursors$3 as Cursors, ScheduleNotification$3 as ScheduleNotification, ScheduleNotificationEventOneOf$3 as ScheduleNotificationEventOneOf, ScheduleCreated$3 as ScheduleCreated, Schedule$3 as Schedule, RecurringInterval$3 as RecurringInterval, Interval$3 as Interval, Day$3 as Day, Frequency$3 as Frequency, LinkedSchedule$3 as LinkedSchedule, Transparency$3 as Transparency, RecurringIntervalType$3 as RecurringIntervalType, Location$4 as Location, LocationType$4 as LocationType, Address$3 as Address, AddressStreetOneOf$3 as AddressStreetOneOf, StreetAddress$3 as StreetAddress, AddressLocation$3 as AddressLocation, Subdivision$3 as Subdivision, LocationsLocation$3 as LocationsLocation, LocationStatus$3 as LocationStatus, LocationsLocationType$3 as LocationsLocationType, LocationsAddress$3 as LocationsAddress, LocationsStreetAddress$3 as LocationsStreetAddress, LocationsAddressLocation$3 as LocationsAddressLocation, BusinessSchedule$3 as BusinessSchedule, TimePeriod$3 as TimePeriod, DayOfWeek$3 as DayOfWeek, SpecialHourPeriod$3 as SpecialHourPeriod, Rate$3 as Rate, Price$3 as Price, Availability$3 as Availability, AvailabilityConstraints$3 as AvailabilityConstraints, SplitInterval$3 as SplitInterval, Participant$3 as Participant, ApprovalStatus$3 as ApprovalStatus, ExternalCalendarOverrides$3 as ExternalCalendarOverrides, ScheduleStatus$3 as ScheduleStatus, Version$3 as Version, ConferenceProvider$3 as ConferenceProvider, CalendarConference$3 as CalendarConference, ConferenceType$3 as ConferenceType, ScheduleUpdated$3 as ScheduleUpdated, RecurringSessionsUpdated$3 as RecurringSessionsUpdated, Session$3 as Session, CalendarDateTime$3 as CalendarDateTime, LocalDateTime$3 as LocalDateTime, ExternalCalendarInfo$3 as ExternalCalendarInfo, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_SessionStatus as SessionStatus, SessionType$3 as SessionType, SessionVersion$3 as SessionVersion, ParticipantNotification$3 as ParticipantNotification, ScheduleCancelled$3 as ScheduleCancelled, SessionCreated$3 as SessionCreated, SessionUpdated$3 as SessionUpdated, SessionCancelled$3 as SessionCancelled, AvailabilityPolicyUpdated$3 as AvailabilityPolicyUpdated, AvailabilityPolicy$3 as AvailabilityPolicy, IntervalSplit$3 as IntervalSplit, RecurringSessionSplit$3 as RecurringSessionSplit, ScheduleUnassignedFromUser$3 as ScheduleUnassignedFromUser, MultipleSessionsCreated$3 as MultipleSessionsCreated, ScheduleWithSessions$3 as ScheduleWithSessions, SitePropertiesOnScheduleCreation$3 as SitePropertiesOnScheduleCreation, MigrationEvent$3 as MigrationEvent, MigrationData$3 as MigrationData, StaffData$3 as StaffData, Empty$3 as Empty, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_listProviders as listProviders, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_getConnection as getConnection, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_listConnections as listConnections, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ListConnectionsOptions as ListConnectionsOptions, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_connectByOAuth as connectByOAuth, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ConnectByOAuthOptions as ConnectByOAuthOptions, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_OAuthCompletedOptions as OAuthCompletedOptions, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_connectByCredentials as connectByCredentials, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_listCalendars as listCalendars, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_updateSyncConfig as updateSyncConfig, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_UpdateSyncConfigOptions as UpdateSyncConfigOptions, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_disconnect as disconnect, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_listEvents as listEvents, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d_ListEventsOptions as ListEventsOptions, };\n    }\n    /** The `Service` object represents 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        /**\n         * Service type.\n         *\n         * Supported Values:\n         * - \"APPOINTMENT\"\n         * - \"CLASS\"\n         * - \"COURSE\"\n         *\n         */\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$1;\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?: V2Location[];\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?: V2Schedule;\n        /** IDs of the staff members providing the service. For appointments only. */\n        staffMemberIds?: string[];\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        /**\n         * Extensions enabling users to save custom data related to the service.\n         * @readonly\n         */\n        extendedFields?: ExtendedFields;\n        /** Custom SEO data for the service. */\n        seoData?: SeoSchema$1;\n        /**\n         * Date and time the service was created.\n         * @readonly\n         */\n        _createdDate?: Date;\n        /**\n         * Date and time the service was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\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$1 {\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$1 {\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$1 {\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    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$1;\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?: Money$1;\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?: Money$1;\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 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?: Money$1;\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?: Money$1;\n        /**\n         * The minimal price a customer may pay for this service, based on its variants.\n         * @readonly\n         */\n        minPrice?: Money$1;\n        /**\n         * The maximum price a customer may pay for this service, based on its variants.\n         * @readonly\n         */\n        maxPrice?: Money$1;\n    }\n    interface PaymentOptions$1 {\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 V2Location extends V2LocationOptionsOneOf {\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         * 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 [Locations API](https://dev.wix.com/api/rest/business-info/locations).\n         * - `CUSTOMER`: Will be determined by the customer. For appointments only.\n         */\n        type?: LocationTypeEnumLocationType;\n        /**\n         * The location address, based on the location `type`. If `type` is `CUSTOMER`, this address is empty.\n         * @readonly\n         */\n        calculatedAddress?: CommonAddress;\n    }\n    /** @oneof */\n    interface V2LocationOptionsOneOf {\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 LocationTypeEnumLocationType {\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 CommonAddress extends CommonAddressStreetOneOf {\n        /** Street name and number. */\n        streetAddress?: CommonStreetAddress;\n        /** Main address line, usually street and number as free text. */\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    /** @oneof */\n    interface CommonAddressStreetOneOf {\n        /** Street name and number. */\n        streetAddress?: CommonStreetAddress;\n        /** Main address line, usually street and number as free text. */\n        addressLine?: string | null;\n    }\n    /** Street address. Includes street name, number, and apartment number in separate fields. */\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 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?: CommonAddress;\n    }\n    interface CustomLocationOptions {\n        /** A custom address for the location. */\n        address?: CommonAddress;\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     *\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         * Date and time the policy was created.\n         * @readonly\n         */\n        _createdDate?: Date;\n        /**\n         * Date and time the policy was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\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;\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;\n        /**\n         * Policy for limiting late bookings.\n         * @readonly\n         */\n        limitLateBookingPolicy?: LimitLateBookingPolicy;\n        /**\n         * Policy on booking an entity after the start of the schedule.\n         * @readonly\n         */\n        bookAfterStartPolicy?: BookAfterStartPolicy;\n        /**\n         * Policy for canceling a booked entity.\n         * @readonly\n         */\n        cancellationPolicy?: CancellationPolicy;\n        /**\n         * Policy for rescheduling a booked entity.\n         * @readonly\n         */\n        reschedulePolicy?: ReschedulePolicy;\n        /**\n         * Waitlist policy for the service.\n         * @readonly\n         */\n        waitlistPolicy?: WaitlistPolicy;\n        /**\n         * Policy regarding the participants per booking.\n         * @readonly\n         */\n        participantsPolicy?: ParticipantsPolicy;\n        /**\n         * Policy for allocating resources.\n         * @readonly\n         */\n        resourcesPolicy?: ResourcesPolicy;\n    }\n    /** A description of the policy to display to participants. */\n    interface PolicyDescription {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 V2Schedule {\n        /**\n         * Schedule ID, used to manage the service's sessions.\n         * @readonly\n         */\n        _id?: string | null;\n        /** Limitations dictating the way session availability is calculated. For appointments only. */\n        availabilityConstraints?: V2AvailabilityConstraints;\n    }\n    interface V2AvailabilityConstraints {\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 {\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        /** Name of the staff member */\n        name?: string | null;\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        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;\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 {\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$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    /**\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;\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 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 SetCustomSlugEvent {\n        /** The main slug for the service after the update */\n        mainSlug?: Slug;\n    }\n    interface CreateServiceRequest {\n        /** Service to be created. */\n        service: Service$1;\n    }\n    interface CreateServiceResponse {\n        /** The created service. */\n        service?: Service$1;\n    }\n    interface BulkCreateServicesRequest {\n        /** Services to create */\n        services: Service$1[];\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 BulkCreateServicesResponse {\n        /** The result of each service creation. */\n        results?: BulkServiceResult[];\n        /** Create statistics. */\n        bulkActionMetadata?: BulkActionMetadata;\n    }\n    interface BulkServiceResult {\n        itemMetadata?: ItemMetadata;\n        item?: Service$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 GetServiceRequest {\n        /** ID of the service to retrieve. */\n        serviceId: string;\n    }\n    enum RequestedFields {\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 returned */\n        RESOURCE_TYPE_DETAILS = \"RESOURCE_TYPE_DETAILS\"\n    }\n    interface GetServiceResponse {\n        /** The retrieved service. */\n        service?: Service$1;\n    }\n    interface GetServiceAvailabilityConstraintsRequest {\n        /** ID of the service to retrieve. */\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?: V2Schedule;\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?: V2Location[];\n        /** @readonly */\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 updates](https://dev.wix.com/api/rest/wix-bookings/bookings/patch-endpoints-and-field-masks-in-update-requests) are supported. */\n        service: Service$1;\n    }\n    interface UpdateServiceResponse {\n        /** The updated service. */\n        service?: Service$1;\n    }\n    interface BulkUpdateServicesRequest {\n        /** Services to update. */\n        services?: MaskedService[];\n        /** `true` if the updated entities must be included in the response, otherwise no entities are included in the response. */\n        returnEntity?: boolean;\n    }\n    interface MaskedService {\n        /** Service to update. [Partial updates](https://dev.wix.com/api/rest/wix-bookings/bookings/patch-endpoints-and-field-masks-in-update-requests) are supported. */\n        service?: Service$1;\n    }\n    interface BulkUpdateServicesResponse {\n        /** The result of each service update. */\n        results?: BulkServiceResult[];\n        /** Update statistics. */\n        bulkActionMetadata?: BulkActionMetadata;\n    }\n    interface DeleteServiceRequest {\n        /** ID of the service to delete. */\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 custom message. */\n        participantNotification?: V2ParticipantNotification;\n    }\n    interface V2ParticipantNotification {\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: string[];\n        preserveFutureSessionsWithParticipants?: boolean;\n        /**\n         * Whether to preserve future sessions with participants.\n         *\n         * Default: `false`.\n         */\n        participantNotification?: V2ParticipantNotification;\n    }\n    interface BulkDeleteServicesResponse {\n        /** The result of each service removal. */\n        results?: BulkServiceResult[];\n        /** Update statistics. */\n        bulkActionMetadata?: BulkActionMetadata;\n    }\n    interface QueryServicesRequest {\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$1;\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$2[];\n    }\n    /** @oneof */\n    interface QueryV2PagingMethodOneOf$2 {\n        /** Paging options to limit and skip the number of items. */\n        paging?: Paging$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 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$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 QueryServicesResponse {\n        /** The retrieved services. */\n        services?: Service$1[];\n        /** Paging metadata, including offset and count. */\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    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 SearchServicesRequest {\n        search: CursorSearch;\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$2;\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$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    /** @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$2;\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        /** Range buckets */\n        buckets?: RangeBucket[];\n    }\n    interface ScalarAggregation {\n        type?: ScalarType;\n    }\n    interface DateHistogramAggregation {\n        interval?: DateHistogramAggregationInterval;\n    }\n    enum DateHistogramAggregationInterval {\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 SearchServicesResponse {\n        /** The retrieved services. */\n        services?: Service$1[];\n        /** Cursor paging metadata */\n        pagingMetadata?: CursorPagingMetadata$1;\n        /** Response aggregation data */\n        aggregationData?: AggregationData;\n    }\n    interface CursorPagingMetadata$1 {\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 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?: AggregationResultsScalarResult;\n        name?: string;\n        type?: AggregationType;\n        fieldPath?: string;\n    }\n    /** @oneof */\n    interface NestedAggregationResultsResultOneOf {\n        values?: ValueResults;\n        ranges?: RangeResults;\n        scalar?: AggregationResultsScalarResult;\n    }\n    interface ValueResults {\n        results?: ValueAggregationResult[];\n    }\n    interface RangeResults {\n        results?: RangeAggregationResult[];\n    }\n    interface AggregationResultsScalarResult {\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 ScalarResult {\n        value?: number;\n    }\n    interface NestedResultValue extends NestedResultValueResultOneOf {\n        value?: ValueResult;\n        range?: RangeResult;\n        scalar?: ScalarResult;\n        dateHistogram?: ValueResult;\n    }\n    /** @oneof */\n    interface NestedResultValueResultOneOf {\n        value?: ValueResult;\n        range?: RangeResult;\n        scalar?: ScalarResult;\n        dateHistogram?: ValueResult;\n    }\n    interface Results {\n        results?: Record<string, NestedResultValue>;\n    }\n    interface DateHistogramResult {\n        value?: string;\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?: AggregationResultsScalarResult;\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?: AggregationResultsScalarResult;\n        groupedByValue?: GroupByValueResults;\n        dateHistogram?: DateHistogramResults;\n        nested?: NestedResults;\n    }\n    interface QueryPoliciesRequest {\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$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`\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 QueryPoliciesResponse {\n        /** The retrieved policies. */\n        bookingPolicies?: BookingPolicyWithServices[];\n        /** Paging metadata, including offset and count. */\n        pagingMetadata?: CursorPagingMetadata$1;\n    }\n    interface BookingPolicyWithServices {\n        /** The booking policy. */\n        bookingPolicy?: BookingPolicy$1;\n        /** The services associated with the booking policy. Up to 5 services are returned per policy. */\n        services?: Service$1[];\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    /** An event sent every time a category entity is changed. */\n    interface CategoryNotification {\n        category?: Category;\n        event?: CategoryNotificationEvent;\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         * Category status.\n         * Supported values:\n         * - \"CREATED\". The category is created.\n         * - \"DELETED\". The category is deleted.\n         * Default: \"CREATED\"\n         * @readonly\n         */\n        status?: CategoryStatus;\n        /** Sort order of the category in the Dashboard. */\n        sortOrder?: number | null;\n    }\n    enum CategoryStatus {\n        /** Default status. */\n        CREATED = \"CREATED\",\n        /** Category is deleted. */\n        DELETED = \"DELETED\"\n    }\n    enum CategoryNotificationEvent {\n        Updated = \"Updated\",\n        Deleted = \"Deleted\",\n        Created = \"Created\"\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. */\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    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    interface EntityDeletedEvent$2 {\n        /** Entity that was deleted */\n        deletedEntityAsJson?: string | null;\n    }\n    interface ActionEvent$2 {\n        bodyAsJson?: 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        intervalSplit?: IntervalSplit$2;\n        recurringSessionSplit?: RecurringSessionSplit$2;\n        /** Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead. */\n        scheduleUnassignedFromUser?: ScheduleUnassignedFromUser$2;\n        preserveFutureSessionsWithParticipants?: boolean | null;\n        /** Whether to notify participants about changed sessions. deprecated, use participant_notification */\n        notifyParticipants?: boolean;\n        /** site properties. Optional. Given in create schedule notification. */\n        siteProperties?: SitePropertiesOnScheduleCreation$2;\n        instanceId?: string;\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        intervalSplit?: IntervalSplit$2;\n        recurringSessionSplit?: RecurringSessionSplit$2;\n        /** Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead. */\n        scheduleUnassignedFromUser?: ScheduleUnassignedFromUser$2;\n    }\n    interface ScheduleCreated$2 {\n        schedule?: Schedule$2;\n    }\n    interface Schedule$2 {\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         * 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$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         */\n        tags?: string[] | null;\n        /** Default location for the schedule's sessions. */\n        location?: Location$3;\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$2;\n        /** __Deprecated.__ */\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        /** __Deprecated.__ */\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;\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         * Fields which were inherited from the Business Info page under Settings in the Dashboard.\n         * @readonly\n         */\n        inheritedFields?: string[];\n        /** __Deprecated.__ */\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         */\n        calendarConference?: CalendarConference$2;\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;\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$2;\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        /**\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$2;\n    }\n    interface Interval$2 {\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         * <!--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$2;\n        /**\n         * Owner ID, of the linked schedule.\n         * @readonly\n         */\n        scheduleOwnerId?: string;\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$3 {\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$3;\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$2;\n    }\n    enum LocationType$3 {\n        UNDEFINED = \"UNDEFINED\",\n        OWNER_BUSINESS = \"OWNER_BUSINESS\",\n        OWNER_CUSTOM = \"OWNER_CUSTOM\",\n        CUSTOM = \"CUSTOM\"\n    }\n    /** Physical address */\n    interface Address$2 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$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         * __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$2;\n        /**\n         * Location type.\n         *\n         * **Note:** Currently not supported.\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$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$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$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$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$2>;\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    interface Price$2 {\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;\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$2[];\n        /** Constraints for calculating the schedule's availability. */\n        constraints?: AvailabilityConstraints$2;\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         */\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         * <!--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$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        /** 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$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    interface ScheduleUpdated$2 {\n        /** The old schedule before the update. */\n        oldSchedule?: Schedule$2;\n        /** The new schedule after the update. */\n        newSchedule?: Schedule$2;\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$2;\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;\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         */\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$3;\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        /** Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead. */\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        /** __Deprecated.__ */\n        externalCalendarOverrides?: ExternalCalendarOverrides$2;\n        /**\n         * Session status.\n         * <!--ONLY:VELO\n         * One of:\n         * - `\"CONFIRMED\"` Default value.\n         * - `\"CANCELLED\"` The session was deleted.\n         * <!--END:ONLY:VELO-->\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         */\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        /**\n         * Session type.\n         * <!--ONLY:VELO\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         * <!--END:ONLY:VELO-->\n         */\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         */\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 session version.\n         * Composed by the schedule, session and participants versions.\n         * @readonly\n         */\n        version?: SessionVersion$2;\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;\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        /** 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$2 {\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 ScheduleCancelled$2 {\n        schedule?: Schedule$2;\n        /** Whether to notify participants about the change and an optional custom message */\n        participantNotification?: ParticipantNotification$2;\n        oldSchedule?: Schedule$2;\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$2;\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$2;\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$2;\n    }\n    interface MultipleSessionsCreated$2 {\n        schedulesWithSessions?: ScheduleWithSessions$2[];\n    }\n    interface ScheduleWithSessions$2 {\n        schedule?: Schedule$2;\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 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$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        /** 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$2[];\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$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         * <!--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    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$1 {\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?: Event$1;\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$1 {\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;\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        /** 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$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$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$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 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$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 SetServiceLocationsRequest {\n        /** ID of the service. */\n        serviceId: string;\n        /** The locations you specify replace the existing service locations. */\n        locations: V2Location[];\n        /** The action to perform on sessions currently set to a removed location. For example, move existing sessions to a new specified location. */\n        removedLocationSessionsAction?: RemovedLocationSessionsAction;\n        /** Whether to notify participants about the change of location, and an optional custom message. */\n        participantNotification?: V2ParticipantNotification;\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?: V2Location;\n    }\n    interface SetServiceLocationsResponse {\n        /** The updated service with the newly set locations. */\n        service?: Service$1;\n    }\n    interface EnablePricingPlansForServiceRequest {\n        /** ID of the service to add the pricing plans to. */\n        serviceId: string;\n        /** IDs of the pricing plans to connect to the service. */\n        pricingPlanIds: string[];\n    }\n    interface EnablePricingPlansForServiceResponse {\n        /** IDs of the pricing plans connected to the service. */\n        pricingPlanIds?: string[];\n        /** The service after the pricing plans update. */\n        service?: Service$1;\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        /** ID of the service to disconnect the pricing plans from. */\n        serviceId: string;\n        /** ID of the pricing plans to disconnect from the service. */\n        pricingPlanIds?: string[];\n    }\n    interface DisablePricingPlansForServiceResponse {\n        /** The service after the pricing plans update. */\n        service?: Service$1;\n    }\n    interface SetCustomSlugRequest {\n        /** ID of the service to assign the custom slug to. */\n        serviceId: string;\n        /** The custom name to set as the active slug for the service. */\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$1;\n    }\n    interface ValidateSlugRequest {\n        /** ID of the service to validate the slug name for. */\n        serviceId: string;\n        /** The custom name to validate as a slug for the service. */\n        slugName: string;\n    }\n    interface ValidateSlugResponse {\n        /** Whether the requested slug name is valid. */\n        valid?: boolean;\n        /** The requested custom slug name to validate. If valid, the slug name can be set as a slug for the service and is populated with the requested slug. Otherwise, `slugName` is empty. */\n        slugName?: string | null;\n        /** If the slug is invalid, this field is populated with the reasons why the slug is invalid. Validation errors may include `SLUG_IS_TOO_LONG`, `SLUG_CONTAIN_ILLEGAL_CHARACTERS`, and `SLUG_ALREADY_EXISTS`. */\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        /** ID of a source service */\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 service. If the source service is connected to more than 120 benefits with pricing plans then they will not be copied. In that case the field `error_types` in the response will include `PRICING_PLANS`. */\n        copyPricingPlans?: boolean;\n        /** whether to hide service from the list or not. Empty means that we will copy this value from the source service without overriding it */\n        hideService?: boolean | null;\n        /** the name of the clone service. The title of the clone service's schedule will also be set to this name. When this parameter is omitted then the clone service will have the same name as the source service and the clone service's schedule will get the same title as the source service's active schedule. */\n        cloneServiceName?: string | null;\n    }\n    interface CloneServiceResponse {\n        /** Cloned service */\n        service?: Service$1;\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    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     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns The created service.\n     */\n    function createService(service: Service$1): Promise<Service$1>;\n    interface BulkCreateServicesOptions {\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 service.\n     * @param serviceId - ID of the service to retrieve.\n     * @public\n     * @documentationMaturity preview\n     * @requiredField serviceId\n     * @permissionScope Read Bookings - Public Data\n     * @permissionScopeId SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Read Bookings - Including Participants\n     * @permissionScopeId SCOPE.DC-BOOKINGS.READ-BOOKINGS-SENSITIVE\n     * @permissionScope Read Bookings - all read permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.READ-BOOKINGS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\n     * @returns The retrieved service.\n     */\n    function getService(serviceId: string, options?: GetServiceOptions): Promise<Service$1>;\n    interface GetServiceOptions {\n    }\n    /**\n     * Updates a service.\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 service is updated, `revision` increments by 1. You must include the\n     * number of the existing revision when\n     * updating the service. This ensures you're working with the\n     * latest service information and prevents unintended overwrites.\n     * @param _id - Service ID.\n     * @public\n     * @documentationMaturity preview\n     * @requiredField _id\n     * @requiredField service\n     * @requiredField service.revision\n     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns The updated service.\n     */\n    function updateService(_id: string | null, service: UpdateService, options?: UpdateServiceOptions): Promise<Service$1>;\n    interface UpdateService {\n        /**\n         * Service ID.\n         * @readonly\n         */\n        _id?: string | null;\n        /**\n         * Service type.\n         *\n         * Supported Values:\n         * - \"APPOINTMENT\"\n         * - \"CLASS\"\n         * - \"COURSE\"\n         *\n         */\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$1;\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?: V2Location[];\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?: V2Schedule;\n        /** IDs of the staff members providing the service. For appointments only. */\n        staffMemberIds?: string[];\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        /**\n         * Extensions enabling users to save custom data related to the service.\n         * @readonly\n         */\n        extendedFields?: ExtendedFields;\n        /** Custom SEO data for the service. */\n        seoData?: SeoSchema$1;\n        /**\n         * Date and time the service was created.\n         * @readonly\n         */\n        _createdDate?: Date;\n        /**\n         * Date and time the service was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\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    interface BulkUpdateServicesOptions {\n        /** Services to update. */\n        services?: MaskedService[];\n        /** `true` if the updated entities must be included in the response, otherwise no entities are included in the response. */\n        returnEntity?: boolean;\n    }\n    /**\n     * Deletes a service.\n     * @param serviceId - ID of the service to delete.\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     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @applicableIdentity APP\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 custom message. */\n        participantNotification?: V2ParticipantNotification;\n    }\n    interface BulkDeleteServicesOptions {\n        preserveFutureSessionsWithParticipants?: boolean;\n        /**\n         * Whether to preserve future sessions with participants.\n         *\n         * Default: `false`.\n         */\n        participantNotification?: V2ParticipantNotification;\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     * @permissionScope Read Bookings - Public Data\n     * @permissionScopeId SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Read Bookings - Including Participants\n     * @permissionScopeId SCOPE.DC-BOOKINGS.READ-BOOKINGS-SENSITIVE\n     * @permissionScope Read Bookings - all read permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.READ-BOOKINGS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\n     */\n    function queryServices(options?: QueryServicesOptions): ServicesQueryBuilder;\n    interface QueryServicesOptions {\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$1[];\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: \"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\" | \"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: \"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\" | \"staffMemberIds\" | \"supportedSlugs.name\" | \"mainSlug.name\", 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: \"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: \"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\" | \"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: \"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\" | \"staffMemberIds\" | \"supportedSlugs.name\" | \"mainSlug.name\", value: any) => ServicesQueryBuilder;\n        /** @documentationMaturity preview */\n        exists: (propertyName: \"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\" | \"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     * Counts services according to given criteria.\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     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @applicableIdentity APP\n     * @adminMethod\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    interface SetServiceLocationsOptions {\n        /** The action to perform on sessions currently set to a removed location. For example, move existing sessions to a new specified location. */\n        removedLocationSessionsAction?: RemovedLocationSessionsAction;\n        /** Whether to notify participants about the change of location, and an optional custom message. */\n        participantNotification?: V2ParticipantNotification;\n    }\n    interface DisablePricingPlansForServiceOptions {\n        /** ID of the pricing plans to disconnect from the service. */\n        pricingPlanIds?: string[];\n    }\n    interface ValidateSlugOptions {\n        /** The custom name to validate as a slug for the service. */\n        slugName: string;\n    }\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 service. If the source service is connected to more than 120 benefits with pricing plans then they will not be copied. In that case the field `error_types` in the response will include `PRICING_PLANS`. */\n        copyPricingPlans?: boolean;\n        /** whether to hide service from the list or not. Empty means that we will copy this value from the source service without overriding it */\n        hideService?: boolean | null;\n        /** the name of the clone service. The title of the clone service's schedule will also be set to this name. When this parameter is omitted then the clone service will have the same name as the source service and the clone service's schedule will get the same title as the source service's active schedule. */\n        cloneServiceName?: string | null;\n    }\n    type bookingsServicesV2ServiceServices_universal_d_ServiceType = ServiceType;\n    const bookingsServicesV2ServiceServices_universal_d_ServiceType: typeof ServiceType;\n    type bookingsServicesV2ServiceServices_universal_d_V2Category = V2Category;\n    type bookingsServicesV2ServiceServices_universal_d_Form = Form;\n    type bookingsServicesV2ServiceServices_universal_d_FormSettings = FormSettings;\n    type bookingsServicesV2ServiceServices_universal_d_Payment = Payment;\n    type bookingsServicesV2ServiceServices_universal_d_PaymentRateOneOf = PaymentRateOneOf;\n    type bookingsServicesV2ServiceServices_universal_d_RateType = RateType;\n    const bookingsServicesV2ServiceServices_universal_d_RateType: typeof RateType;\n    type bookingsServicesV2ServiceServices_universal_d_FixedPayment = FixedPayment;\n    type bookingsServicesV2ServiceServices_universal_d_CustomPayment = CustomPayment;\n    type bookingsServicesV2ServiceServices_universal_d_VariedPayment = VariedPayment;\n    type bookingsServicesV2ServiceServices_universal_d_OnlineBooking = OnlineBooking;\n    type bookingsServicesV2ServiceServices_universal_d_Conferencing = Conferencing;\n    type bookingsServicesV2ServiceServices_universal_d_V2Location = V2Location;\n    type bookingsServicesV2ServiceServices_universal_d_V2LocationOptionsOneOf = V2LocationOptionsOneOf;\n    type bookingsServicesV2ServiceServices_universal_d_LocationTypeEnumLocationType = LocationTypeEnumLocationType;\n    const bookingsServicesV2ServiceServices_universal_d_LocationTypeEnumLocationType: typeof LocationTypeEnumLocationType;\n    type bookingsServicesV2ServiceServices_universal_d_CommonAddress = CommonAddress;\n    type bookingsServicesV2ServiceServices_universal_d_CommonAddressStreetOneOf = CommonAddressStreetOneOf;\n    type bookingsServicesV2ServiceServices_universal_d_CommonStreetAddress = CommonStreetAddress;\n    type bookingsServicesV2ServiceServices_universal_d_CommonAddressLocation = CommonAddressLocation;\n    type bookingsServicesV2ServiceServices_universal_d_BusinessLocationOptions = BusinessLocationOptions;\n    type bookingsServicesV2ServiceServices_universal_d_CustomLocationOptions = CustomLocationOptions;\n    type bookingsServicesV2ServiceServices_universal_d_PolicyDescription = PolicyDescription;\n    type bookingsServicesV2ServiceServices_universal_d_LimitEarlyBookingPolicy = LimitEarlyBookingPolicy;\n    type bookingsServicesV2ServiceServices_universal_d_LimitLateBookingPolicy = LimitLateBookingPolicy;\n    type bookingsServicesV2ServiceServices_universal_d_BookAfterStartPolicy = BookAfterStartPolicy;\n    type bookingsServicesV2ServiceServices_universal_d_CancellationPolicy = CancellationPolicy;\n    type bookingsServicesV2ServiceServices_universal_d_ReschedulePolicy = ReschedulePolicy;\n    type bookingsServicesV2ServiceServices_universal_d_WaitlistPolicy = WaitlistPolicy;\n    type bookingsServicesV2ServiceServices_universal_d_ParticipantsPolicy = ParticipantsPolicy;\n    type bookingsServicesV2ServiceServices_universal_d_ResourcesPolicy = ResourcesPolicy;\n    type bookingsServicesV2ServiceServices_universal_d_V2Schedule = V2Schedule;\n    type bookingsServicesV2ServiceServices_universal_d_V2AvailabilityConstraints = V2AvailabilityConstraints;\n    type bookingsServicesV2ServiceServices_universal_d_StaffMember = StaffMember;\n    type bookingsServicesV2ServiceServices_universal_d_ResourceGroup = ResourceGroup;\n    type bookingsServicesV2ServiceServices_universal_d_ResourceIds = ResourceIds;\n    type bookingsServicesV2ServiceServices_universal_d_ServiceResource = ServiceResource;\n    type bookingsServicesV2ServiceServices_universal_d_ServiceResourceSelectionOneOf = ServiceResourceSelectionOneOf;\n    type bookingsServicesV2ServiceServices_universal_d_ResourceType = ResourceType;\n    type bookingsServicesV2ServiceServices_universal_d_Slug = Slug;\n    type bookingsServicesV2ServiceServices_universal_d_URLs = URLs;\n    type bookingsServicesV2ServiceServices_universal_d_ExtendedFields = ExtendedFields;\n    type bookingsServicesV2ServiceServices_universal_d_ReindexMessage = ReindexMessage;\n    type bookingsServicesV2ServiceServices_universal_d_ReindexMessageActionOneOf = ReindexMessageActionOneOf;\n    type bookingsServicesV2ServiceServices_universal_d_Upsert = Upsert;\n    type bookingsServicesV2ServiceServices_universal_d_Delete = Delete;\n    type bookingsServicesV2ServiceServices_universal_d_Schema = Schema;\n    type bookingsServicesV2ServiceServices_universal_d_SetCustomSlugEvent = SetCustomSlugEvent;\n    type bookingsServicesV2ServiceServices_universal_d_CreateServiceRequest = CreateServiceRequest;\n    type bookingsServicesV2ServiceServices_universal_d_CreateServiceResponse = CreateServiceResponse;\n    type bookingsServicesV2ServiceServices_universal_d_BulkCreateServicesRequest = BulkCreateServicesRequest;\n    type bookingsServicesV2ServiceServices_universal_d_BulkCreateServicesResponse = BulkCreateServicesResponse;\n    type bookingsServicesV2ServiceServices_universal_d_BulkServiceResult = BulkServiceResult;\n    type bookingsServicesV2ServiceServices_universal_d_ItemMetadata = ItemMetadata;\n    type bookingsServicesV2ServiceServices_universal_d_ApplicationError = ApplicationError;\n    type bookingsServicesV2ServiceServices_universal_d_BulkActionMetadata = BulkActionMetadata;\n    type bookingsServicesV2ServiceServices_universal_d_GetServiceRequest = GetServiceRequest;\n    type bookingsServicesV2ServiceServices_universal_d_RequestedFields = RequestedFields;\n    const bookingsServicesV2ServiceServices_universal_d_RequestedFields: typeof RequestedFields;\n    type bookingsServicesV2ServiceServices_universal_d_GetServiceResponse = GetServiceResponse;\n    type bookingsServicesV2ServiceServices_universal_d_GetServiceAvailabilityConstraintsRequest = GetServiceAvailabilityConstraintsRequest;\n    type bookingsServicesV2ServiceServices_universal_d_GetServiceAvailabilityConstraintsResponse = GetServiceAvailabilityConstraintsResponse;\n    type bookingsServicesV2ServiceServices_universal_d_ServiceAvailabilityConstraints = ServiceAvailabilityConstraints;\n    type bookingsServicesV2ServiceServices_universal_d_V1SplitInterval = V1SplitInterval;\n    type bookingsServicesV2ServiceServices_universal_d_UpdateServiceRequest = UpdateServiceRequest;\n    type bookingsServicesV2ServiceServices_universal_d_UpdateServiceResponse = UpdateServiceResponse;\n    type bookingsServicesV2ServiceServices_universal_d_BulkUpdateServicesRequest = BulkUpdateServicesRequest;\n    type bookingsServicesV2ServiceServices_universal_d_MaskedService = MaskedService;\n    type bookingsServicesV2ServiceServices_universal_d_BulkUpdateServicesResponse = BulkUpdateServicesResponse;\n    type bookingsServicesV2ServiceServices_universal_d_DeleteServiceRequest = DeleteServiceRequest;\n    type bookingsServicesV2ServiceServices_universal_d_V2ParticipantNotification = V2ParticipantNotification;\n    type bookingsServicesV2ServiceServices_universal_d_DeleteServiceResponse = DeleteServiceResponse;\n    type bookingsServicesV2ServiceServices_universal_d_BulkDeleteServicesRequest = BulkDeleteServicesRequest;\n    type bookingsServicesV2ServiceServices_universal_d_BulkDeleteServicesResponse = BulkDeleteServicesResponse;\n    type bookingsServicesV2ServiceServices_universal_d_QueryServicesRequest = QueryServicesRequest;\n    type bookingsServicesV2ServiceServices_universal_d_QueryServicesResponse = QueryServicesResponse;\n    type bookingsServicesV2ServiceServices_universal_d_SearchServicesRequest = SearchServicesRequest;\n    type bookingsServicesV2ServiceServices_universal_d_CursorSearch = CursorSearch;\n    type bookingsServicesV2ServiceServices_universal_d_CursorSearchPagingMethodOneOf = CursorSearchPagingMethodOneOf;\n    type bookingsServicesV2ServiceServices_universal_d_Aggregation = Aggregation;\n    type bookingsServicesV2ServiceServices_universal_d_AggregationKindOneOf = AggregationKindOneOf;\n    type bookingsServicesV2ServiceServices_universal_d_RangeBucket = RangeBucket;\n    type bookingsServicesV2ServiceServices_universal_d_SortType = SortType;\n    const bookingsServicesV2ServiceServices_universal_d_SortType: typeof SortType;\n    type bookingsServicesV2ServiceServices_universal_d_SortDirection = SortDirection;\n    const bookingsServicesV2ServiceServices_universal_d_SortDirection: typeof SortDirection;\n    type bookingsServicesV2ServiceServices_universal_d_MissingValues = MissingValues;\n    const bookingsServicesV2ServiceServices_universal_d_MissingValues: typeof MissingValues;\n    type bookingsServicesV2ServiceServices_universal_d_IncludeMissingValuesOptions = IncludeMissingValuesOptions;\n    type bookingsServicesV2ServiceServices_universal_d_ScalarType = ScalarType;\n    const bookingsServicesV2ServiceServices_universal_d_ScalarType: typeof ScalarType;\n    type bookingsServicesV2ServiceServices_universal_d_ValueAggregation = ValueAggregation;\n    type bookingsServicesV2ServiceServices_universal_d_ValueAggregationOptionsOneOf = ValueAggregationOptionsOneOf;\n    type bookingsServicesV2ServiceServices_universal_d_NestedAggregationType = NestedAggregationType;\n    const bookingsServicesV2ServiceServices_universal_d_NestedAggregationType: typeof NestedAggregationType;\n    type bookingsServicesV2ServiceServices_universal_d_RangeAggregation = RangeAggregation;\n    type bookingsServicesV2ServiceServices_universal_d_ScalarAggregation = ScalarAggregation;\n    type bookingsServicesV2ServiceServices_universal_d_DateHistogramAggregation = DateHistogramAggregation;\n    type bookingsServicesV2ServiceServices_universal_d_DateHistogramAggregationInterval = DateHistogramAggregationInterval;\n    const bookingsServicesV2ServiceServices_universal_d_DateHistogramAggregationInterval: typeof DateHistogramAggregationInterval;\n    type bookingsServicesV2ServiceServices_universal_d_NestedAggregationItem = NestedAggregationItem;\n    type bookingsServicesV2ServiceServices_universal_d_NestedAggregationItemKindOneOf = NestedAggregationItemKindOneOf;\n    type bookingsServicesV2ServiceServices_universal_d_AggregationType = AggregationType;\n    const bookingsServicesV2ServiceServices_universal_d_AggregationType: typeof AggregationType;\n    type bookingsServicesV2ServiceServices_universal_d_NestedAggregation = NestedAggregation;\n    type bookingsServicesV2ServiceServices_universal_d_GroupByAggregation = GroupByAggregation;\n    type bookingsServicesV2ServiceServices_universal_d_GroupByAggregationKindOneOf = GroupByAggregationKindOneOf;\n    type bookingsServicesV2ServiceServices_universal_d_SearchDetails = SearchDetails;\n    type bookingsServicesV2ServiceServices_universal_d_Mode = Mode;\n    const bookingsServicesV2ServiceServices_universal_d_Mode: typeof Mode;\n    type bookingsServicesV2ServiceServices_universal_d_SearchServicesResponse = SearchServicesResponse;\n    type bookingsServicesV2ServiceServices_universal_d_AggregationData = AggregationData;\n    type bookingsServicesV2ServiceServices_universal_d_ValueAggregationResult = ValueAggregationResult;\n    type bookingsServicesV2ServiceServices_universal_d_RangeAggregationResult = RangeAggregationResult;\n    type bookingsServicesV2ServiceServices_universal_d_NestedAggregationResults = NestedAggregationResults;\n    type bookingsServicesV2ServiceServices_universal_d_NestedAggregationResultsResultOneOf = NestedAggregationResultsResultOneOf;\n    type bookingsServicesV2ServiceServices_universal_d_ValueResults = ValueResults;\n    type bookingsServicesV2ServiceServices_universal_d_RangeResults = RangeResults;\n    type bookingsServicesV2ServiceServices_universal_d_AggregationResultsScalarResult = AggregationResultsScalarResult;\n    type bookingsServicesV2ServiceServices_universal_d_NestedValueAggregationResult = NestedValueAggregationResult;\n    type bookingsServicesV2ServiceServices_universal_d_ValueResult = ValueResult;\n    type bookingsServicesV2ServiceServices_universal_d_RangeResult = RangeResult;\n    type bookingsServicesV2ServiceServices_universal_d_ScalarResult = ScalarResult;\n    type bookingsServicesV2ServiceServices_universal_d_NestedResultValue = NestedResultValue;\n    type bookingsServicesV2ServiceServices_universal_d_NestedResultValueResultOneOf = NestedResultValueResultOneOf;\n    type bookingsServicesV2ServiceServices_universal_d_Results = Results;\n    type bookingsServicesV2ServiceServices_universal_d_DateHistogramResult = DateHistogramResult;\n    type bookingsServicesV2ServiceServices_universal_d_GroupByValueResults = GroupByValueResults;\n    type bookingsServicesV2ServiceServices_universal_d_DateHistogramResults = DateHistogramResults;\n    type bookingsServicesV2ServiceServices_universal_d_NestedResults = NestedResults;\n    type bookingsServicesV2ServiceServices_universal_d_AggregationResults = AggregationResults;\n    type bookingsServicesV2ServiceServices_universal_d_AggregationResultsResultOneOf = AggregationResultsResultOneOf;\n    type bookingsServicesV2ServiceServices_universal_d_QueryPoliciesRequest = QueryPoliciesRequest;\n    type bookingsServicesV2ServiceServices_universal_d_CursorQuery = CursorQuery;\n    type bookingsServicesV2ServiceServices_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n    type bookingsServicesV2ServiceServices_universal_d_QueryPoliciesResponse = QueryPoliciesResponse;\n    type bookingsServicesV2ServiceServices_universal_d_BookingPolicyWithServices = BookingPolicyWithServices;\n    type bookingsServicesV2ServiceServices_universal_d_CountServicesRequest = CountServicesRequest;\n    type bookingsServicesV2ServiceServices_universal_d_CountServicesResponse = CountServicesResponse;\n    type bookingsServicesV2ServiceServices_universal_d_CategoryNotification = CategoryNotification;\n    type bookingsServicesV2ServiceServices_universal_d_Category = Category;\n    type bookingsServicesV2ServiceServices_universal_d_CategoryStatus = CategoryStatus;\n    const bookingsServicesV2ServiceServices_universal_d_CategoryStatus: typeof CategoryStatus;\n    type bookingsServicesV2ServiceServices_universal_d_CategoryNotificationEvent = CategoryNotificationEvent;\n    const bookingsServicesV2ServiceServices_universal_d_CategoryNotificationEvent: typeof CategoryNotificationEvent;\n    type bookingsServicesV2ServiceServices_universal_d_ResourceNotificationEvent = ResourceNotificationEvent;\n    const bookingsServicesV2ServiceServices_universal_d_ResourceNotificationEvent: typeof ResourceNotificationEvent;\n    type bookingsServicesV2ServiceServices_universal_d_BenefitNotification = BenefitNotification;\n    type bookingsServicesV2ServiceServices_universal_d_Benefit = Benefit;\n    type bookingsServicesV2ServiceServices_universal_d_EntryPass = EntryPass;\n    type bookingsServicesV2ServiceServices_universal_d_Discount = Discount;\n    type bookingsServicesV2ServiceServices_universal_d_DiscountDiscountOneOf = DiscountDiscountOneOf;\n    type bookingsServicesV2ServiceServices_universal_d_BenefitType = BenefitType;\n    const bookingsServicesV2ServiceServices_universal_d_BenefitType: typeof BenefitType;\n    type bookingsServicesV2ServiceServices_universal_d_Behavior = Behavior;\n    type bookingsServicesV2ServiceServices_universal_d_BehaviorBehaviorOneOf = BehaviorBehaviorOneOf;\n    type bookingsServicesV2ServiceServices_universal_d_UserDomainInfoChangedEvent = UserDomainInfoChangedEvent;\n    type bookingsServicesV2ServiceServices_universal_d_CrudType = CrudType;\n    const bookingsServicesV2ServiceServices_universal_d_CrudType: typeof CrudType;\n    type bookingsServicesV2ServiceServices_universal_d_HtmlSitePublished = HtmlSitePublished;\n    type bookingsServicesV2ServiceServices_universal_d_Page = Page;\n    type bookingsServicesV2ServiceServices_universal_d_SetServiceLocationsRequest = SetServiceLocationsRequest;\n    type bookingsServicesV2ServiceServices_universal_d_RemovedLocationSessionsAction = RemovedLocationSessionsAction;\n    type bookingsServicesV2ServiceServices_universal_d_RemovedLocationSessionsActionActionOptionsOneOf = RemovedLocationSessionsActionActionOptionsOneOf;\n    type bookingsServicesV2ServiceServices_universal_d_Action = Action;\n    const bookingsServicesV2ServiceServices_universal_d_Action: typeof Action;\n    type bookingsServicesV2ServiceServices_universal_d_MoveToNewLocationsOptions = MoveToNewLocationsOptions;\n    type bookingsServicesV2ServiceServices_universal_d_SetServiceLocationsResponse = SetServiceLocationsResponse;\n    type bookingsServicesV2ServiceServices_universal_d_EnablePricingPlansForServiceRequest = EnablePricingPlansForServiceRequest;\n    type bookingsServicesV2ServiceServices_universal_d_EnablePricingPlansForServiceResponse = EnablePricingPlansForServiceResponse;\n    type bookingsServicesV2ServiceServices_universal_d_InvalidPricingPlan = InvalidPricingPlan;\n    type bookingsServicesV2ServiceServices_universal_d_DisablePricingPlansForServiceRequest = DisablePricingPlansForServiceRequest;\n    type bookingsServicesV2ServiceServices_universal_d_DisablePricingPlansForServiceResponse = DisablePricingPlansForServiceResponse;\n    type bookingsServicesV2ServiceServices_universal_d_SetCustomSlugRequest = SetCustomSlugRequest;\n    type bookingsServicesV2ServiceServices_universal_d_SetCustomSlugResponse = SetCustomSlugResponse;\n    type bookingsServicesV2ServiceServices_universal_d_ValidateSlugRequest = ValidateSlugRequest;\n    type bookingsServicesV2ServiceServices_universal_d_ValidateSlugResponse = ValidateSlugResponse;\n    type bookingsServicesV2ServiceServices_universal_d_InvalidSlugError = InvalidSlugError;\n    const bookingsServicesV2ServiceServices_universal_d_InvalidSlugError: typeof InvalidSlugError;\n    type bookingsServicesV2ServiceServices_universal_d_CloneServiceRequest = CloneServiceRequest;\n    type bookingsServicesV2ServiceServices_universal_d_CloneServiceResponse = CloneServiceResponse;\n    type bookingsServicesV2ServiceServices_universal_d_CloneErrors = CloneErrors;\n    const bookingsServicesV2ServiceServices_universal_d_CloneErrors: typeof CloneErrors;\n    type bookingsServicesV2ServiceServices_universal_d_MultiServiceEnabledNotification = MultiServiceEnabledNotification;\n    const bookingsServicesV2ServiceServices_universal_d_createService: typeof createService;\n    type bookingsServicesV2ServiceServices_universal_d_BulkCreateServicesOptions = BulkCreateServicesOptions;\n    const bookingsServicesV2ServiceServices_universal_d_getService: typeof getService;\n    type bookingsServicesV2ServiceServices_universal_d_GetServiceOptions = GetServiceOptions;\n    const bookingsServicesV2ServiceServices_universal_d_updateService: typeof updateService;\n    type bookingsServicesV2ServiceServices_universal_d_UpdateService = UpdateService;\n    type bookingsServicesV2ServiceServices_universal_d_UpdateServiceOptions = UpdateServiceOptions;\n    type bookingsServicesV2ServiceServices_universal_d_BulkUpdateServicesOptions = BulkUpdateServicesOptions;\n    const bookingsServicesV2ServiceServices_universal_d_deleteService: typeof deleteService;\n    type bookingsServicesV2ServiceServices_universal_d_DeleteServiceOptions = DeleteServiceOptions;\n    type bookingsServicesV2ServiceServices_universal_d_BulkDeleteServicesOptions = BulkDeleteServicesOptions;\n    const bookingsServicesV2ServiceServices_universal_d_queryServices: typeof queryServices;\n    type bookingsServicesV2ServiceServices_universal_d_QueryServicesOptions = QueryServicesOptions;\n    type bookingsServicesV2ServiceServices_universal_d_ServicesQueryResult = ServicesQueryResult;\n    type bookingsServicesV2ServiceServices_universal_d_ServicesQueryBuilder = ServicesQueryBuilder;\n    const bookingsServicesV2ServiceServices_universal_d_countServices: typeof countServices;\n    type bookingsServicesV2ServiceServices_universal_d_CountServicesOptions = CountServicesOptions;\n    type bookingsServicesV2ServiceServices_universal_d_SetServiceLocationsOptions = SetServiceLocationsOptions;\n    type bookingsServicesV2ServiceServices_universal_d_DisablePricingPlansForServiceOptions = DisablePricingPlansForServiceOptions;\n    type bookingsServicesV2ServiceServices_universal_d_ValidateSlugOptions = ValidateSlugOptions;\n    type bookingsServicesV2ServiceServices_universal_d_CloneServiceOptions = CloneServiceOptions;\n    namespace bookingsServicesV2ServiceServices_universal_d {\n        export { Service$1 as Service, bookingsServicesV2ServiceServices_universal_d_ServiceType as ServiceType, Media$1 as Media, MediaItem$1 as MediaItem, MediaItemItemOneOf$1 as MediaItemItemOneOf, bookingsServicesV2ServiceServices_universal_d_V2Category as V2Category, bookingsServicesV2ServiceServices_universal_d_Form as Form, bookingsServicesV2ServiceServices_universal_d_FormSettings as FormSettings, bookingsServicesV2ServiceServices_universal_d_Payment as Payment, bookingsServicesV2ServiceServices_universal_d_PaymentRateOneOf as PaymentRateOneOf, bookingsServicesV2ServiceServices_universal_d_RateType as RateType, bookingsServicesV2ServiceServices_universal_d_FixedPayment as FixedPayment, Money$1 as Money, bookingsServicesV2ServiceServices_universal_d_CustomPayment as CustomPayment, bookingsServicesV2ServiceServices_universal_d_VariedPayment as VariedPayment, PaymentOptions$1 as PaymentOptions, bookingsServicesV2ServiceServices_universal_d_OnlineBooking as OnlineBooking, bookingsServicesV2ServiceServices_universal_d_Conferencing as Conferencing, bookingsServicesV2ServiceServices_universal_d_V2Location as V2Location, bookingsServicesV2ServiceServices_universal_d_V2LocationOptionsOneOf as V2LocationOptionsOneOf, bookingsServicesV2ServiceServices_universal_d_LocationTypeEnumLocationType as LocationTypeEnumLocationType, bookingsServicesV2ServiceServices_universal_d_CommonAddress as CommonAddress, bookingsServicesV2ServiceServices_universal_d_CommonAddressStreetOneOf as CommonAddressStreetOneOf, bookingsServicesV2ServiceServices_universal_d_CommonStreetAddress as CommonStreetAddress, bookingsServicesV2ServiceServices_universal_d_CommonAddressLocation as CommonAddressLocation, bookingsServicesV2ServiceServices_universal_d_BusinessLocationOptions as BusinessLocationOptions, bookingsServicesV2ServiceServices_universal_d_CustomLocationOptions as CustomLocationOptions, BookingPolicy$1 as BookingPolicy, bookingsServicesV2ServiceServices_universal_d_PolicyDescription as PolicyDescription, bookingsServicesV2ServiceServices_universal_d_LimitEarlyBookingPolicy as LimitEarlyBookingPolicy, bookingsServicesV2ServiceServices_universal_d_LimitLateBookingPolicy as LimitLateBookingPolicy, bookingsServicesV2ServiceServices_universal_d_BookAfterStartPolicy as BookAfterStartPolicy, bookingsServicesV2ServiceServices_universal_d_CancellationPolicy as CancellationPolicy, bookingsServicesV2ServiceServices_universal_d_ReschedulePolicy as ReschedulePolicy, bookingsServicesV2ServiceServices_universal_d_WaitlistPolicy as WaitlistPolicy, bookingsServicesV2ServiceServices_universal_d_ParticipantsPolicy as ParticipantsPolicy, bookingsServicesV2ServiceServices_universal_d_ResourcesPolicy as ResourcesPolicy, bookingsServicesV2ServiceServices_universal_d_V2Schedule as V2Schedule, bookingsServicesV2ServiceServices_universal_d_V2AvailabilityConstraints as V2AvailabilityConstraints, bookingsServicesV2ServiceServices_universal_d_StaffMember as StaffMember, bookingsServicesV2ServiceServices_universal_d_ResourceGroup as ResourceGroup, bookingsServicesV2ServiceServices_universal_d_ResourceIds as ResourceIds, bookingsServicesV2ServiceServices_universal_d_ServiceResource as ServiceResource, bookingsServicesV2ServiceServices_universal_d_ServiceResourceSelectionOneOf as ServiceResourceSelectionOneOf, bookingsServicesV2ServiceServices_universal_d_ResourceType as ResourceType, bookingsServicesV2ServiceServices_universal_d_Slug as Slug, bookingsServicesV2ServiceServices_universal_d_URLs as URLs, bookingsServicesV2ServiceServices_universal_d_ExtendedFields as ExtendedFields, SeoSchema$1 as SeoSchema, Keyword$1 as Keyword, Tag$1 as Tag, Settings$1 as Settings, bookingsServicesV2ServiceServices_universal_d_ReindexMessage as ReindexMessage, bookingsServicesV2ServiceServices_universal_d_ReindexMessageActionOneOf as ReindexMessageActionOneOf, bookingsServicesV2ServiceServices_universal_d_Upsert as Upsert, bookingsServicesV2ServiceServices_universal_d_Delete as Delete, bookingsServicesV2ServiceServices_universal_d_Schema as Schema, MessageEnvelope$1 as MessageEnvelope, IdentificationData$1 as IdentificationData, IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf, WebhookIdentityType$1 as WebhookIdentityType, bookingsServicesV2ServiceServices_universal_d_SetCustomSlugEvent as SetCustomSlugEvent, bookingsServicesV2ServiceServices_universal_d_CreateServiceRequest as CreateServiceRequest, bookingsServicesV2ServiceServices_universal_d_CreateServiceResponse as CreateServiceResponse, bookingsServicesV2ServiceServices_universal_d_BulkCreateServicesRequest as BulkCreateServicesRequest, bookingsServicesV2ServiceServices_universal_d_BulkCreateServicesResponse as BulkCreateServicesResponse, bookingsServicesV2ServiceServices_universal_d_BulkServiceResult as BulkServiceResult, bookingsServicesV2ServiceServices_universal_d_ItemMetadata as ItemMetadata, bookingsServicesV2ServiceServices_universal_d_ApplicationError as ApplicationError, bookingsServicesV2ServiceServices_universal_d_BulkActionMetadata as BulkActionMetadata, bookingsServicesV2ServiceServices_universal_d_GetServiceRequest as GetServiceRequest, bookingsServicesV2ServiceServices_universal_d_RequestedFields as RequestedFields, bookingsServicesV2ServiceServices_universal_d_GetServiceResponse as GetServiceResponse, bookingsServicesV2ServiceServices_universal_d_GetServiceAvailabilityConstraintsRequest as GetServiceAvailabilityConstraintsRequest, bookingsServicesV2ServiceServices_universal_d_GetServiceAvailabilityConstraintsResponse as GetServiceAvailabilityConstraintsResponse, bookingsServicesV2ServiceServices_universal_d_ServiceAvailabilityConstraints as ServiceAvailabilityConstraints, bookingsServicesV2ServiceServices_universal_d_V1SplitInterval as V1SplitInterval, bookingsServicesV2ServiceServices_universal_d_UpdateServiceRequest as UpdateServiceRequest, bookingsServicesV2ServiceServices_universal_d_UpdateServiceResponse as UpdateServiceResponse, bookingsServicesV2ServiceServices_universal_d_BulkUpdateServicesRequest as BulkUpdateServicesRequest, bookingsServicesV2ServiceServices_universal_d_MaskedService as MaskedService, bookingsServicesV2ServiceServices_universal_d_BulkUpdateServicesResponse as BulkUpdateServicesResponse, bookingsServicesV2ServiceServices_universal_d_DeleteServiceRequest as DeleteServiceRequest, bookingsServicesV2ServiceServices_universal_d_V2ParticipantNotification as V2ParticipantNotification, bookingsServicesV2ServiceServices_universal_d_DeleteServiceResponse as DeleteServiceResponse, bookingsServicesV2ServiceServices_universal_d_BulkDeleteServicesRequest as BulkDeleteServicesRequest, bookingsServicesV2ServiceServices_universal_d_BulkDeleteServicesResponse as BulkDeleteServicesResponse, bookingsServicesV2ServiceServices_universal_d_QueryServicesRequest as QueryServicesRequest, QueryV2$2 as QueryV2, QueryV2PagingMethodOneOf$2 as QueryV2PagingMethodOneOf, Sorting$2 as Sorting, SortOrder$2 as SortOrder, Paging$1 as Paging, CursorPaging$2 as CursorPaging, bookingsServicesV2ServiceServices_universal_d_QueryServicesResponse as QueryServicesResponse, PagingMetadataV2$2 as PagingMetadataV2, Cursors$2 as Cursors, bookingsServicesV2ServiceServices_universal_d_SearchServicesRequest as SearchServicesRequest, bookingsServicesV2ServiceServices_universal_d_CursorSearch as CursorSearch, bookingsServicesV2ServiceServices_universal_d_CursorSearchPagingMethodOneOf as CursorSearchPagingMethodOneOf, bookingsServicesV2ServiceServices_universal_d_Aggregation as Aggregation, bookingsServicesV2ServiceServices_universal_d_AggregationKindOneOf as AggregationKindOneOf, bookingsServicesV2ServiceServices_universal_d_RangeBucket as RangeBucket, bookingsServicesV2ServiceServices_universal_d_SortType as SortType, bookingsServicesV2ServiceServices_universal_d_SortDirection as SortDirection, bookingsServicesV2ServiceServices_universal_d_MissingValues as MissingValues, bookingsServicesV2ServiceServices_universal_d_IncludeMissingValuesOptions as IncludeMissingValuesOptions, bookingsServicesV2ServiceServices_universal_d_ScalarType as ScalarType, bookingsServicesV2ServiceServices_universal_d_ValueAggregation as ValueAggregation, bookingsServicesV2ServiceServices_universal_d_ValueAggregationOptionsOneOf as ValueAggregationOptionsOneOf, bookingsServicesV2ServiceServices_universal_d_NestedAggregationType as NestedAggregationType, bookingsServicesV2ServiceServices_universal_d_RangeAggregation as RangeAggregation, bookingsServicesV2ServiceServices_universal_d_ScalarAggregation as ScalarAggregation, bookingsServicesV2ServiceServices_universal_d_DateHistogramAggregation as DateHistogramAggregation, bookingsServicesV2ServiceServices_universal_d_DateHistogramAggregationInterval as DateHistogramAggregationInterval, bookingsServicesV2ServiceServices_universal_d_NestedAggregationItem as NestedAggregationItem, bookingsServicesV2ServiceServices_universal_d_NestedAggregationItemKindOneOf as NestedAggregationItemKindOneOf, bookingsServicesV2ServiceServices_universal_d_AggregationType as AggregationType, bookingsServicesV2ServiceServices_universal_d_NestedAggregation as NestedAggregation, bookingsServicesV2ServiceServices_universal_d_GroupByAggregation as GroupByAggregation, bookingsServicesV2ServiceServices_universal_d_GroupByAggregationKindOneOf as GroupByAggregationKindOneOf, bookingsServicesV2ServiceServices_universal_d_SearchDetails as SearchDetails, bookingsServicesV2ServiceServices_universal_d_Mode as Mode, bookingsServicesV2ServiceServices_universal_d_SearchServicesResponse as SearchServicesResponse, CursorPagingMetadata$1 as CursorPagingMetadata, bookingsServicesV2ServiceServices_universal_d_AggregationData as AggregationData, bookingsServicesV2ServiceServices_universal_d_ValueAggregationResult as ValueAggregationResult, bookingsServicesV2ServiceServices_universal_d_RangeAggregationResult as RangeAggregationResult, bookingsServicesV2ServiceServices_universal_d_NestedAggregationResults as NestedAggregationResults, bookingsServicesV2ServiceServices_universal_d_NestedAggregationResultsResultOneOf as NestedAggregationResultsResultOneOf, bookingsServicesV2ServiceServices_universal_d_ValueResults as ValueResults, bookingsServicesV2ServiceServices_universal_d_RangeResults as RangeResults, bookingsServicesV2ServiceServices_universal_d_AggregationResultsScalarResult as AggregationResultsScalarResult, bookingsServicesV2ServiceServices_universal_d_NestedValueAggregationResult as NestedValueAggregationResult, bookingsServicesV2ServiceServices_universal_d_ValueResult as ValueResult, bookingsServicesV2ServiceServices_universal_d_RangeResult as RangeResult, bookingsServicesV2ServiceServices_universal_d_ScalarResult as ScalarResult, bookingsServicesV2ServiceServices_universal_d_NestedResultValue as NestedResultValue, bookingsServicesV2ServiceServices_universal_d_NestedResultValueResultOneOf as NestedResultValueResultOneOf, bookingsServicesV2ServiceServices_universal_d_Results as Results, bookingsServicesV2ServiceServices_universal_d_DateHistogramResult as DateHistogramResult, bookingsServicesV2ServiceServices_universal_d_GroupByValueResults as GroupByValueResults, bookingsServicesV2ServiceServices_universal_d_DateHistogramResults as DateHistogramResults, bookingsServicesV2ServiceServices_universal_d_NestedResults as NestedResults, bookingsServicesV2ServiceServices_universal_d_AggregationResults as AggregationResults, bookingsServicesV2ServiceServices_universal_d_AggregationResultsResultOneOf as AggregationResultsResultOneOf, bookingsServicesV2ServiceServices_universal_d_QueryPoliciesRequest as QueryPoliciesRequest, bookingsServicesV2ServiceServices_universal_d_CursorQuery as CursorQuery, bookingsServicesV2ServiceServices_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf, bookingsServicesV2ServiceServices_universal_d_QueryPoliciesResponse as QueryPoliciesResponse, bookingsServicesV2ServiceServices_universal_d_BookingPolicyWithServices as BookingPolicyWithServices, bookingsServicesV2ServiceServices_universal_d_CountServicesRequest as CountServicesRequest, bookingsServicesV2ServiceServices_universal_d_CountServicesResponse as CountServicesResponse, bookingsServicesV2ServiceServices_universal_d_CategoryNotification as CategoryNotification, bookingsServicesV2ServiceServices_universal_d_Category as Category, bookingsServicesV2ServiceServices_universal_d_CategoryStatus as CategoryStatus, bookingsServicesV2ServiceServices_universal_d_CategoryNotificationEvent as CategoryNotificationEvent, Empty$2 as Empty, DomainEvent$2 as DomainEvent, DomainEventBodyOneOf$2 as DomainEventBodyOneOf, EntityCreatedEvent$2 as EntityCreatedEvent, EntityUpdatedEvent$2 as EntityUpdatedEvent, EntityDeletedEvent$2 as EntityDeletedEvent, ActionEvent$2 as ActionEvent, ScheduleNotification$2 as ScheduleNotification, ScheduleNotificationEventOneOf$2 as ScheduleNotificationEventOneOf, ScheduleCreated$2 as ScheduleCreated, Schedule$2 as Schedule, RecurringInterval$2 as RecurringInterval, Interval$2 as Interval, Day$2 as Day, Frequency$2 as Frequency, LinkedSchedule$2 as LinkedSchedule, Transparency$2 as Transparency, RecurringIntervalType$2 as RecurringIntervalType, Location$3 as Location, LocationType$3 as LocationType, Address$2 as Address, AddressStreetOneOf$2 as AddressStreetOneOf, StreetAddress$2 as StreetAddress, AddressLocation$2 as AddressLocation, Subdivision$2 as Subdivision, LocationsLocation$2 as LocationsLocation, LocationStatus$2 as LocationStatus, LocationsLocationType$2 as LocationsLocationType, LocationsAddress$2 as LocationsAddress, LocationsStreetAddress$2 as LocationsStreetAddress, LocationsAddressLocation$2 as LocationsAddressLocation, BusinessSchedule$2 as BusinessSchedule, TimePeriod$2 as TimePeriod, DayOfWeek$2 as DayOfWeek, SpecialHourPeriod$2 as SpecialHourPeriod, Rate$2 as Rate, Price$2 as Price, Availability$2 as Availability, AvailabilityConstraints$2 as AvailabilityConstraints, SplitInterval$2 as SplitInterval, Participant$2 as Participant, ApprovalStatus$2 as ApprovalStatus, ExternalCalendarOverrides$2 as ExternalCalendarOverrides, ScheduleStatus$2 as ScheduleStatus, Version$2 as Version, ConferenceProvider$2 as ConferenceProvider, CalendarConference$2 as CalendarConference, ConferenceType$2 as ConferenceType, ScheduleUpdated$2 as ScheduleUpdated, RecurringSessionsUpdated$2 as RecurringSessionsUpdated, Session$2 as Session, CalendarDateTime$2 as CalendarDateTime, LocalDateTime$2 as LocalDateTime, ExternalCalendarInfo$2 as ExternalCalendarInfo, CalendarType$2 as CalendarType, Status$2 as Status, SessionType$2 as SessionType, SessionVersion$2 as SessionVersion, ParticipantNotification$2 as ParticipantNotification, ScheduleCancelled$2 as ScheduleCancelled, SessionCreated$2 as SessionCreated, SessionUpdated$2 as SessionUpdated, SessionCancelled$2 as SessionCancelled, AvailabilityPolicyUpdated$2 as AvailabilityPolicyUpdated, AvailabilityPolicy$2 as AvailabilityPolicy, IntervalSplit$2 as IntervalSplit, RecurringSessionSplit$2 as RecurringSessionSplit, ScheduleUnassignedFromUser$2 as ScheduleUnassignedFromUser, MultipleSessionsCreated$2 as MultipleSessionsCreated, ScheduleWithSessions$2 as ScheduleWithSessions, SitePropertiesOnScheduleCreation$2 as SitePropertiesOnScheduleCreation, MigrationEvent$2 as MigrationEvent, MigrationData$2 as MigrationData, StaffData$2 as StaffData, ResourceNotification$1 as ResourceNotification, Resource$1 as Resource, ResourceStatus$1 as ResourceStatus, BusinessLocation$1 as BusinessLocation, bookingsServicesV2ServiceServices_universal_d_ResourceNotificationEvent as ResourceNotificationEvent, bookingsServicesV2ServiceServices_universal_d_BenefitNotification as BenefitNotification, bookingsServicesV2ServiceServices_universal_d_Benefit as Benefit, bookingsServicesV2ServiceServices_universal_d_EntryPass as EntryPass, bookingsServicesV2ServiceServices_universal_d_Discount as Discount, bookingsServicesV2ServiceServices_universal_d_DiscountDiscountOneOf as DiscountDiscountOneOf, bookingsServicesV2ServiceServices_universal_d_BenefitType as BenefitType, bookingsServicesV2ServiceServices_universal_d_Behavior as Behavior, bookingsServicesV2ServiceServices_universal_d_BehaviorBehaviorOneOf as BehaviorBehaviorOneOf, Event$1 as Event, bookingsServicesV2ServiceServices_universal_d_UserDomainInfoChangedEvent as UserDomainInfoChangedEvent, bookingsServicesV2ServiceServices_universal_d_CrudType as CrudType, bookingsServicesV2ServiceServices_universal_d_HtmlSitePublished as HtmlSitePublished, bookingsServicesV2ServiceServices_universal_d_Page as Page, SitePropertiesNotification$1 as SitePropertiesNotification, SitePropertiesEvent$1 as SitePropertiesEvent, Properties$1 as Properties, Categories$1 as Categories, Locale$1 as Locale, V4Address$1 as V4Address, AddressHint$1 as AddressHint, PlacementType$1 as PlacementType, GeoCoordinates$1 as GeoCoordinates, Multilingual$1 as Multilingual, SupportedLanguage$1 as SupportedLanguage, ResolutionMethod$1 as ResolutionMethod, ConsentPolicy$1 as ConsentPolicy, Translation$1 as Translation, ChangeContext$1 as ChangeContext, ChangeContextPayloadOneOf$1 as ChangeContextPayloadOneOf, PropertiesChange$1 as PropertiesChange, SiteCreated$1 as SiteCreated, SiteCloned$1 as SiteCloned, bookingsServicesV2ServiceServices_universal_d_SetServiceLocationsRequest as SetServiceLocationsRequest, bookingsServicesV2ServiceServices_universal_d_RemovedLocationSessionsAction as RemovedLocationSessionsAction, bookingsServicesV2ServiceServices_universal_d_RemovedLocationSessionsActionActionOptionsOneOf as RemovedLocationSessionsActionActionOptionsOneOf, bookingsServicesV2ServiceServices_universal_d_Action as Action, bookingsServicesV2ServiceServices_universal_d_MoveToNewLocationsOptions as MoveToNewLocationsOptions, bookingsServicesV2ServiceServices_universal_d_SetServiceLocationsResponse as SetServiceLocationsResponse, bookingsServicesV2ServiceServices_universal_d_EnablePricingPlansForServiceRequest as EnablePricingPlansForServiceRequest, bookingsServicesV2ServiceServices_universal_d_EnablePricingPlansForServiceResponse as EnablePricingPlansForServiceResponse, bookingsServicesV2ServiceServices_universal_d_InvalidPricingPlan as InvalidPricingPlan, bookingsServicesV2ServiceServices_universal_d_DisablePricingPlansForServiceRequest as DisablePricingPlansForServiceRequest, bookingsServicesV2ServiceServices_universal_d_DisablePricingPlansForServiceResponse as DisablePricingPlansForServiceResponse, bookingsServicesV2ServiceServices_universal_d_SetCustomSlugRequest as SetCustomSlugRequest, bookingsServicesV2ServiceServices_universal_d_SetCustomSlugResponse as SetCustomSlugResponse, bookingsServicesV2ServiceServices_universal_d_ValidateSlugRequest as ValidateSlugRequest, bookingsServicesV2ServiceServices_universal_d_ValidateSlugResponse as ValidateSlugResponse, bookingsServicesV2ServiceServices_universal_d_InvalidSlugError as InvalidSlugError, bookingsServicesV2ServiceServices_universal_d_CloneServiceRequest as CloneServiceRequest, bookingsServicesV2ServiceServices_universal_d_CloneServiceResponse as CloneServiceResponse, bookingsServicesV2ServiceServices_universal_d_CloneErrors as CloneErrors, bookingsServicesV2ServiceServices_universal_d_MultiServiceEnabledNotification as MultiServiceEnabledNotification, bookingsServicesV2ServiceServices_universal_d_createService as createService, bookingsServicesV2ServiceServices_universal_d_BulkCreateServicesOptions as BulkCreateServicesOptions, bookingsServicesV2ServiceServices_universal_d_getService as getService, bookingsServicesV2ServiceServices_universal_d_GetServiceOptions as GetServiceOptions, bookingsServicesV2ServiceServices_universal_d_updateService as updateService, bookingsServicesV2ServiceServices_universal_d_UpdateService as UpdateService, bookingsServicesV2ServiceServices_universal_d_UpdateServiceOptions as UpdateServiceOptions, bookingsServicesV2ServiceServices_universal_d_BulkUpdateServicesOptions as BulkUpdateServicesOptions, bookingsServicesV2ServiceServices_universal_d_deleteService as deleteService, bookingsServicesV2ServiceServices_universal_d_DeleteServiceOptions as DeleteServiceOptions, bookingsServicesV2ServiceServices_universal_d_BulkDeleteServicesOptions as BulkDeleteServicesOptions, bookingsServicesV2ServiceServices_universal_d_queryServices as queryServices, bookingsServicesV2ServiceServices_universal_d_QueryServicesOptions as QueryServicesOptions, bookingsServicesV2ServiceServices_universal_d_ServicesQueryResult as ServicesQueryResult, bookingsServicesV2ServiceServices_universal_d_ServicesQueryBuilder as ServicesQueryBuilder, bookingsServicesV2ServiceServices_universal_d_countServices as countServices, bookingsServicesV2ServiceServices_universal_d_CountServicesOptions as CountServicesOptions, bookingsServicesV2ServiceServices_universal_d_SetServiceLocationsOptions as SetServiceLocationsOptions, bookingsServicesV2ServiceServices_universal_d_DisablePricingPlansForServiceOptions as DisablePricingPlansForServiceOptions, bookingsServicesV2ServiceServices_universal_d_ValidateSlugOptions as ValidateSlugOptions, bookingsServicesV2ServiceServices_universal_d_CloneServiceOptions as CloneServiceOptions, };\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;\n        /**\n         * Price of the most expensive service variant.\n         * @readonly\n         */\n        maxPrice?: Money;\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    }\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         * 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[];\n        /** Information about the service variant's price. */\n        price?: Money;\n    }\n    interface ServiceChoice extends ServiceChoiceChoiceOneOf {\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        /** ID of the service option. */\n        optionId?: string;\n    }\n    /** @oneof */\n    interface ServiceChoiceChoiceOneOf {\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 {\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 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    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$1;\n    }\n    interface QueryV2$1 extends QueryV2PagingMethodOneOf$1 {\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$1 {\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 QueryServiceOptionsAndVariantsResponse {\n        /** Retrieved `serviceOptionsAndVariants` objects. */\n        serviceOptionsAndVariantsList?: ServiceOptionsAndVariants[];\n        /** Paging metadata. */\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    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 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    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         * 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$1[];\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    interface Schedule$1 {\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         * 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?: 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$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;\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         * 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    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;\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$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    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 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$1;\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$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 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$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$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$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$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    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;\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$1[];\n        /** Constraints for calculating the schedule's availability. */\n        constraints?: AvailabilityConstraints$1;\n    }\n    /** Describes how to calculate the specific slots that are available for booking. */\n    interface AvailabilityConstraints$1 {\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        /** 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    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 Event {\n        UNDEFINED = \"UNDEFINED\",\n        Updated = \"Updated\",\n        Deleted = \"Deleted\",\n        Created = \"Created\",\n        Schedule_Updated = \"Schedule_Updated\"\n    }\n    interface Empty$1 {\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;\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 {\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;\n        /** Payment options available for use when booking the service. */\n        paymentOptions?: PaymentOptions;\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;\n        /** SEO data */\n        seoData?: SeoSchema;\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;\n    }\n    interface Media {\n        /** Images associated with the service. */\n        items?: MediaItem[];\n        /** Primary image associated with the service. */\n        mainMedia?: MediaItem;\n        /** Cover image associated with the service. */\n        coverMedia?: MediaItem;\n    }\n    interface MediaItem extends MediaItemItemOneOf {\n        /** Image metadata. */\n        image?: string;\n    }\n    /** @oneof */\n    interface MediaItemItemOneOf {\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 {\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 {\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 {\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    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$1;\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    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        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    /** @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    interface ScheduleCreated$1 {\n        schedule?: Schedule$1;\n    }\n    interface ScheduleUpdated$1 {\n        /** The old schedule before the update. */\n        oldSchedule?: Schedule$1;\n        /** The new schedule after the update. */\n        newSchedule?: Schedule$1;\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?: ParticipantNotification$1;\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;\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?: 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         * 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         * __Deprecated.__\n         * @deprecated\n         */\n        externalCalendarOverrides?: ExternalCalendarOverrides$1;\n        /**\n         * Session status.\n         * @readonly\n         */\n        status?: Status$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$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 session version.\n         * Composed by the schedule, session and participants versions.\n         * @readonly\n         */\n        version?: SessionVersion$1;\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;\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 Status$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$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        /** 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$1 {\n        schedule?: Schedule$1;\n        /** Whether to notify participants about the change and an optional custom message */\n        participantNotification?: ParticipantNotification$1;\n        oldSchedule?: Schedule$1;\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?: ParticipantNotification$1;\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?: ParticipantNotification$1;\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?: Schedule$1;\n    }\n    interface MultipleSessionsCreated$1 {\n        schedulesWithSessions?: ScheduleWithSessions$1[];\n    }\n    interface ScheduleWithSessions$1 {\n        schedule?: Schedule$1;\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 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        /** 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$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    interface EntityDeletedEvent$1 {\n        /** Entity that was deleted */\n        deletedEntityAsJson?: string | null;\n    }\n    interface ActionEvent$1 {\n        bodyAsJson?: 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        /** 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?: BusinessSchedule$1;\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    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 {\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 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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @applicableIdentity APP\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @applicableIdentity APP\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     * @permissionScope Read Bookings - Public Data\n     * @permissionScopeId SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Read Bookings - Including Participants\n     * @permissionScopeId SCOPE.DC-BOOKINGS.READ-BOOKINGS-SENSITIVE\n     * @permissionScope Read Bookings - all read permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.READ-BOOKINGS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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     * @permissionScope Read Bookings - Public Data\n     * @permissionScopeId SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Read Bookings - Including Participants\n     * @permissionScopeId SCOPE.DC-BOOKINGS.READ-BOOKINGS-SENSITIVE\n     * @permissionScope Read Bookings - all read permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.READ-BOOKINGS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @applicableIdentity APP\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;\n        /**\n         * Price of the most expensive service variant.\n         * @readonly\n         */\n        maxPrice?: Money;\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    }\n    interface UpdateServiceOptionsAndVariantsOptions {\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @applicableIdentity APP\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     * @permissionScope Read Bookings - Public Data\n     * @permissionScopeId SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Read Bookings - Including Participants\n     * @permissionScopeId SCOPE.DC-BOOKINGS.READ-BOOKINGS-SENSITIVE\n     * @permissionScope Read Bookings - all read permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.READ-BOOKINGS\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function queryServiceOptionsAndVariants(): ServiceOptionsAndVariantsListQueryBuilder;\n    interface QueryCursorResult {\n        cursors: Cursors$1;\n        hasNext: () => boolean;\n        hasPrev: () => boolean;\n        length: number;\n        pageSize: number;\n    }\n    interface ServiceOptionsAndVariantsListQueryResult extends QueryCursorResult {\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    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceOptionsAndVariants = ServiceOptionsAndVariants;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceOption = ServiceOption;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceOptionOptionSpecificDataOneOf = ServiceOptionOptionSpecificDataOneOf;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceOptionType = ServiceOptionType;\n    const bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceOptionType: typeof ServiceOptionType;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_CustomServiceOption = CustomServiceOption;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceVariant = ServiceVariant;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceChoice = ServiceChoice;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceChoiceChoiceOneOf = ServiceChoiceChoiceOneOf;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_Money = Money;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceOptions = ServiceOptions;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceVariants = ServiceVariants;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_CreateServiceOptionsAndVariantsRequest = CreateServiceOptionsAndVariantsRequest;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_CreateServiceOptionsAndVariantsResponse = CreateServiceOptionsAndVariantsResponse;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_CloneServiceOptionsAndVariantsRequest = CloneServiceOptionsAndVariantsRequest;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_CloneServiceOptionsAndVariantsResponse = CloneServiceOptionsAndVariantsResponse;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_GetServiceOptionsAndVariantsRequest = GetServiceOptionsAndVariantsRequest;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_GetServiceOptionsAndVariantsResponse = GetServiceOptionsAndVariantsResponse;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_GetServiceOptionsAndVariantsByServiceIdRequest = GetServiceOptionsAndVariantsByServiceIdRequest;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_GetServiceOptionsAndVariantsByServiceIdResponse = GetServiceOptionsAndVariantsByServiceIdResponse;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_UpdateServiceOptionsAndVariantsRequest = UpdateServiceOptionsAndVariantsRequest;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_UpdateServiceOptionsAndVariantsResponse = UpdateServiceOptionsAndVariantsResponse;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_DeleteServiceOptionsAndVariantsRequest = DeleteServiceOptionsAndVariantsRequest;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_DeleteServiceOptionsAndVariantsResponse = DeleteServiceOptionsAndVariantsResponse;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_QueryServiceOptionsAndVariantsRequest = QueryServiceOptionsAndVariantsRequest;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_Paging = Paging;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_QueryServiceOptionsAndVariantsResponse = QueryServiceOptionsAndVariantsResponse;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ResourceNotification = ResourceNotification;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_Resource = Resource;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ResourceStatus = ResourceStatus;\n    const bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ResourceStatus: typeof ResourceStatus;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_BusinessLocation = BusinessLocation;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_Event = Event;\n    const bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_Event: typeof Event;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceNotification = ServiceNotification;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceNotificationMetadataOneOf = ServiceNotificationMetadataOneOf;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_Service = Service;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceInfo = ServiceInfo;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_Media = Media;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_MediaItem = MediaItem;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_MediaItemItemOneOf = MediaItemItemOneOf;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_BookingPolicy = BookingPolicy;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_FutureBookingPolicy = FutureBookingPolicy;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_WaitingListPolicy = WaitingListPolicy;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_BookingsApprovalPolicy = BookingsApprovalPolicy;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_PaymentOptions = PaymentOptions;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceStatus = ServiceStatus;\n    const bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceStatus: typeof ServiceStatus;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_SeoSchema = SeoSchema;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_Keyword = Keyword;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_Tag = Tag;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_Settings = Settings;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceNotificationEvent = ServiceNotificationEvent;\n    const bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceNotificationEvent: typeof ServiceNotificationEvent;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_BusinessServicesPolicy = BusinessServicesPolicy;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_DeleteMetadata = DeleteMetadata;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_RestoreInfo = RestoreInfo;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_SitePropertiesNotification = SitePropertiesNotification;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_SitePropertiesEvent = SitePropertiesEvent;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_Properties = Properties;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_Categories = Categories;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_Locale = Locale;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_V4Address = V4Address;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_AddressHint = AddressHint;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_PlacementType = PlacementType;\n    const bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_PlacementType: typeof PlacementType;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_GeoCoordinates = GeoCoordinates;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_Multilingual = Multilingual;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_SupportedLanguage = SupportedLanguage;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ResolutionMethod = ResolutionMethod;\n    const bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ResolutionMethod: typeof ResolutionMethod;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ConsentPolicy = ConsentPolicy;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_Translation = Translation;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ChangeContext = ChangeContext;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ChangeContextPayloadOneOf = ChangeContextPayloadOneOf;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_PropertiesChange = PropertiesChange;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_SiteCreated = SiteCreated;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_SiteCloned = SiteCloned;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_MessageEnvelope = MessageEnvelope;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_IdentificationData = IdentificationData;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_WebhookIdentityType = WebhookIdentityType;\n    const bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n    const bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_createServiceOptionsAndVariants: typeof createServiceOptionsAndVariants;\n    const bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_cloneServiceOptionsAndVariants: typeof cloneServiceOptionsAndVariants;\n    const bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_getServiceOptionsAndVariants: typeof getServiceOptionsAndVariants;\n    const bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_getServiceOptionsAndVariantsByServiceId: typeof getServiceOptionsAndVariantsByServiceId;\n    const bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_updateServiceOptionsAndVariants: typeof updateServiceOptionsAndVariants;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_UpdateServiceOptionsAndVariants = UpdateServiceOptionsAndVariants;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_UpdateServiceOptionsAndVariantsOptions = UpdateServiceOptionsAndVariantsOptions;\n    const bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_deleteServiceOptionsAndVariants: typeof deleteServiceOptionsAndVariants;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_DeleteServiceOptionsAndVariantsOptions = DeleteServiceOptionsAndVariantsOptions;\n    const bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_queryServiceOptionsAndVariants: typeof queryServiceOptionsAndVariants;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceOptionsAndVariantsListQueryResult = ServiceOptionsAndVariantsListQueryResult;\n    type bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceOptionsAndVariantsListQueryBuilder = ServiceOptionsAndVariantsListQueryBuilder;\n    namespace bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d {\n        export { bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceOptionsAndVariants as ServiceOptionsAndVariants, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceOption as ServiceOption, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceOptionOptionSpecificDataOneOf as ServiceOptionOptionSpecificDataOneOf, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceOptionType as ServiceOptionType, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_CustomServiceOption as CustomServiceOption, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceVariant as ServiceVariant, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceChoice as ServiceChoice, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceChoiceChoiceOneOf as ServiceChoiceChoiceOneOf, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_Money as Money, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceOptions as ServiceOptions, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceVariants as ServiceVariants, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_CreateServiceOptionsAndVariantsRequest as CreateServiceOptionsAndVariantsRequest, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_CreateServiceOptionsAndVariantsResponse as CreateServiceOptionsAndVariantsResponse, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_CloneServiceOptionsAndVariantsRequest as CloneServiceOptionsAndVariantsRequest, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_CloneServiceOptionsAndVariantsResponse as CloneServiceOptionsAndVariantsResponse, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_GetServiceOptionsAndVariantsRequest as GetServiceOptionsAndVariantsRequest, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_GetServiceOptionsAndVariantsResponse as GetServiceOptionsAndVariantsResponse, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_GetServiceOptionsAndVariantsByServiceIdRequest as GetServiceOptionsAndVariantsByServiceIdRequest, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_GetServiceOptionsAndVariantsByServiceIdResponse as GetServiceOptionsAndVariantsByServiceIdResponse, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_UpdateServiceOptionsAndVariantsRequest as UpdateServiceOptionsAndVariantsRequest, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_UpdateServiceOptionsAndVariantsResponse as UpdateServiceOptionsAndVariantsResponse, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_DeleteServiceOptionsAndVariantsRequest as DeleteServiceOptionsAndVariantsRequest, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_DeleteServiceOptionsAndVariantsResponse as DeleteServiceOptionsAndVariantsResponse, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_QueryServiceOptionsAndVariantsRequest as QueryServiceOptionsAndVariantsRequest, QueryV2$1 as QueryV2, QueryV2PagingMethodOneOf$1 as QueryV2PagingMethodOneOf, Sorting$1 as Sorting, SortOrder$1 as SortOrder, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_Paging as Paging, CursorPaging$1 as CursorPaging, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_QueryServiceOptionsAndVariantsResponse as QueryServiceOptionsAndVariantsResponse, PagingMetadataV2$1 as PagingMetadataV2, Cursors$1 as Cursors, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ResourceNotification as ResourceNotification, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_Resource as Resource, Schedule$1 as Schedule, RecurringInterval$1 as RecurringInterval, Interval$1 as Interval, Day$1 as Day, Frequency$1 as Frequency, LinkedSchedule$1 as LinkedSchedule, Transparency$1 as Transparency, RecurringIntervalType$1 as RecurringIntervalType, Location$2 as Location, LocationType$2 as LocationType, Address$1 as Address, AddressStreetOneOf$1 as AddressStreetOneOf, StreetAddress$1 as StreetAddress, AddressLocation$1 as AddressLocation, Subdivision$1 as Subdivision, LocationsLocation$1 as LocationsLocation, LocationStatus$1 as LocationStatus, LocationsLocationType$1 as LocationsLocationType, LocationsAddress$1 as LocationsAddress, LocationsStreetAddress$1 as LocationsStreetAddress, LocationsAddressLocation$1 as LocationsAddressLocation, BusinessSchedule$1 as BusinessSchedule, TimePeriod$1 as TimePeriod, DayOfWeek$1 as DayOfWeek, SpecialHourPeriod$1 as SpecialHourPeriod, Rate$1 as Rate, Price$1 as Price, Availability$1 as Availability, AvailabilityConstraints$1 as AvailabilityConstraints, SplitInterval$1 as SplitInterval, Participant$1 as Participant, ApprovalStatus$1 as ApprovalStatus, ExternalCalendarOverrides$1 as ExternalCalendarOverrides, ScheduleStatus$1 as ScheduleStatus, Version$1 as Version, ConferenceProvider$1 as ConferenceProvider, CalendarConference$1 as CalendarConference, ConferenceType$1 as ConferenceType, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ResourceStatus as ResourceStatus, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_BusinessLocation as BusinessLocation, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_Event as Event, Empty$1 as Empty, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceNotification as ServiceNotification, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceNotificationMetadataOneOf as ServiceNotificationMetadataOneOf, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_Service as Service, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceInfo as ServiceInfo, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_Media as Media, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_MediaItem as MediaItem, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_MediaItemItemOneOf as MediaItemItemOneOf, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_BookingPolicy as BookingPolicy, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_FutureBookingPolicy as FutureBookingPolicy, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_WaitingListPolicy as WaitingListPolicy, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_BookingsApprovalPolicy as BookingsApprovalPolicy, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_PaymentOptions as PaymentOptions, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceStatus as ServiceStatus, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_SeoSchema as SeoSchema, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_Keyword as Keyword, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_Tag as Tag, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_Settings as Settings, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceNotificationEvent as ServiceNotificationEvent, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_BusinessServicesPolicy as BusinessServicesPolicy, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_DeleteMetadata as DeleteMetadata, ParticipantNotification$1 as ParticipantNotification, ScheduleNotification$1 as ScheduleNotification, ScheduleNotificationEventOneOf$1 as ScheduleNotificationEventOneOf, ScheduleCreated$1 as ScheduleCreated, ScheduleUpdated$1 as ScheduleUpdated, RecurringSessionsUpdated$1 as RecurringSessionsUpdated, Session$1 as Session, CalendarDateTime$1 as CalendarDateTime, LocalDateTime$1 as LocalDateTime, ExternalCalendarInfo$1 as ExternalCalendarInfo, CalendarType$1 as CalendarType, Status$1 as Status, SessionType$1 as SessionType, SessionVersion$1 as SessionVersion, ScheduleCancelled$1 as ScheduleCancelled, SessionCreated$1 as SessionCreated, SessionUpdated$1 as SessionUpdated, SessionCancelled$1 as SessionCancelled, AvailabilityPolicyUpdated$1 as AvailabilityPolicyUpdated, AvailabilityPolicy$1 as AvailabilityPolicy, IntervalSplit$1 as IntervalSplit, RecurringSessionSplit$1 as RecurringSessionSplit, ScheduleUnassignedFromUser$1 as ScheduleUnassignedFromUser, MultipleSessionsCreated$1 as MultipleSessionsCreated, ScheduleWithSessions$1 as ScheduleWithSessions, SitePropertiesOnScheduleCreation$1 as SitePropertiesOnScheduleCreation, MigrationEvent$1 as MigrationEvent, MigrationData$1 as MigrationData, StaffData$1 as StaffData, DomainEvent$1 as DomainEvent, DomainEventBodyOneOf$1 as DomainEventBodyOneOf, EntityCreatedEvent$1 as EntityCreatedEvent, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_RestoreInfo as RestoreInfo, EntityUpdatedEvent$1 as EntityUpdatedEvent, EntityDeletedEvent$1 as EntityDeletedEvent, ActionEvent$1 as ActionEvent, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_SitePropertiesNotification as SitePropertiesNotification, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_SitePropertiesEvent as SitePropertiesEvent, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_Properties as Properties, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_Categories as Categories, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_Locale as Locale, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_V4Address as V4Address, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_AddressHint as AddressHint, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_PlacementType as PlacementType, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_GeoCoordinates as GeoCoordinates, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_Multilingual as Multilingual, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_SupportedLanguage as SupportedLanguage, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ResolutionMethod as ResolutionMethod, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ConsentPolicy as ConsentPolicy, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_Translation as Translation, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ChangeContext as ChangeContext, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ChangeContextPayloadOneOf as ChangeContextPayloadOneOf, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_PropertiesChange as PropertiesChange, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_SiteCreated as SiteCreated, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_SiteCloned as SiteCloned, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_MessageEnvelope as MessageEnvelope, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_IdentificationData as IdentificationData, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_WebhookIdentityType as WebhookIdentityType, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_createServiceOptionsAndVariants as createServiceOptionsAndVariants, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_cloneServiceOptionsAndVariants as cloneServiceOptionsAndVariants, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_getServiceOptionsAndVariants as getServiceOptionsAndVariants, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_getServiceOptionsAndVariantsByServiceId as getServiceOptionsAndVariantsByServiceId, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_updateServiceOptionsAndVariants as updateServiceOptionsAndVariants, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_UpdateServiceOptionsAndVariants as UpdateServiceOptionsAndVariants, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_UpdateServiceOptionsAndVariantsOptions as UpdateServiceOptionsAndVariantsOptions, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_deleteServiceOptionsAndVariants as deleteServiceOptionsAndVariants, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_DeleteServiceOptionsAndVariantsOptions as DeleteServiceOptionsAndVariantsOptions, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_queryServiceOptionsAndVariants as queryServiceOptionsAndVariants, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceOptionsAndVariantsListQueryResult as ServiceOptionsAndVariantsListQueryResult, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d_ServiceOptionsAndVariantsListQueryBuilder as ServiceOptionsAndVariantsListQueryBuilder, };\n    }\n    const __debug: {\n        verboseLogging: {\n            on: () => boolean;\n            off: () => boolean;\n        };\n    };\n    interface SessionView {\n        /**\n         * The view end date.\n         * @readonly\n         */\n        endDate?: Date;\n    }\n    interface SessionViewUpdated extends SessionViewUpdatedTypeOneOf {\n        /** Session has been added or updated within the view. */\n        sessionAddedOrUpdated?: SessionAddedOrUpdated;\n        /** Session has been removed from the view. */\n        sessionRemoved?: SessionRemoved;\n    }\n    /** @oneof */\n    interface SessionViewUpdatedTypeOneOf {\n        /** Session has been added or updated within the view. */\n        sessionAddedOrUpdated?: SessionAddedOrUpdated;\n        /** Session has been removed from the view. */\n        sessionRemoved?: SessionRemoved;\n    }\n    interface SessionAddedOrUpdated {\n        /** The session which was added or updated within the view. */\n        session?: Session;\n        /** Optionally, the previous session. */\n        previousSession?: 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;\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         */\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$1;\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        /** Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead. */\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        /** __Deprecated.__ */\n        externalCalendarOverrides?: ExternalCalendarOverrides;\n        /**\n         * Session status.\n         * <!--ONLY:VELO\n         * One of:\n         * - `\"CONFIRMED\"` Default value.\n         * - `\"CANCELLED\"` The session was deleted.\n         * <!--END:ONLY:VELO-->\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         */\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        /**\n         * Session type.\n         * <!--ONLY:VELO\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         * <!--END:ONLY:VELO-->\n         */\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         */\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 session version.\n         * Composed by the schedule, session and participants versions.\n         * @readonly\n         */\n        version?: SessionVersion;\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;\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 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    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    interface Location$1 {\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$1;\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    enum LocationType$1 {\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        /**\n         * Location type.\n         *\n         * **Note:** Currently not supported.\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    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    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 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    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 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 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    interface SessionVersion {\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 SessionRemoved {\n        /** The updated session which was removed from the view. */\n        session?: Session;\n        /** Optionally, the previous session. */\n        previousSession?: Session;\n    }\n    interface SessionViewExtended {\n        /** The extended session view end date. */\n        extendedSessionViewEndDate?: Date;\n    }\n    interface FeedEvent extends FeedEventTypeOneOf {\n        /** Session has been added or updated within the feed window. */\n        sessionAddedOrUpdated?: SessionAddedOrUpdated;\n        /** Session has been removed from the feed. */\n        sessionRemoved?: SessionRemoved;\n        /** The feed window has been extended. */\n        windowExtended?: WindowExtended;\n    }\n    /** @oneof */\n    interface FeedEventTypeOneOf {\n        /** Session has been added or updated within the feed window. */\n        sessionAddedOrUpdated?: SessionAddedOrUpdated;\n        /** Session has been removed from the feed. */\n        sessionRemoved?: SessionRemoved;\n        /** The feed window has been extended. */\n        windowExtended?: WindowExtended;\n    }\n    interface WindowExtended {\n        /** The updated window end date. */\n        windowEndDate?: Date;\n    }\n    /** Deprecated. Please use `window_extended` instead. */\n    interface WindowMoved {\n        /** The updated window edge. */\n        edge?: Date;\n        /** The window version. */\n        windowVersion?: number | null;\n    }\n    interface GetSessionViewRequest {\n    }\n    interface GetSessionViewResponse {\n        /** The sessions view. */\n        sessionView?: SessionView;\n    }\n    interface ExtendSessionViewRequest {\n        /**\n         * The number of days the view lasts into the future.\n         * Must be greater than the current value.\n         */\n        futureDurationInDays?: number | null;\n    }\n    interface ExtendSessionViewResponse {\n        /** The updated sessions view. */\n        sessionView?: SessionView;\n    }\n    interface ReplayRequest {\n        /** The replay id. Required. */\n        replayId?: string | null;\n        /** The date to replay sessions from. Required. */\n        from?: Date;\n        /** Filter by either `session.schedule_id` or `session.affectedSchedules[*].scheduleId`. Optional. */\n        affectedScheduleId?: string | null;\n    }\n    interface ReplayResponse {\n        /** The feed window. */\n        window?: Window;\n    }\n    interface Window {\n        /**\n         * The window end date.\n         * @readonly\n         */\n        endDate?: Date;\n        /** The number of days the window lasts into the future. */\n        futureDurationInDays?: number | null;\n        /** The window version. */\n        version?: number | null;\n    }\n    interface FeedReplayEvent extends FeedReplayEventTypeOneOf {\n        /** Session has been added within the feed window. */\n        sessionAdded?: SessionAdded;\n        /** Sessions replay completed. */\n        replayCompleted?: ReplayCompleted;\n        replayId?: string | null;\n    }\n    /** @oneof */\n    interface FeedReplayEventTypeOneOf {\n        /** Session has been added within the feed window. */\n        sessionAdded?: SessionAdded;\n        /** Sessions replay completed. */\n        replayCompleted?: ReplayCompleted;\n    }\n    interface SessionAdded {\n        /** The session which was added within the feed window. */\n        session?: Session;\n    }\n    interface ReplayCompleted {\n        /** The (minimum) number of sessions that were replayed. */\n        totalSessions?: number | null;\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        intervalSplit?: IntervalSplit;\n        recurringSessionSplit?: RecurringSessionSplit;\n        /** Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead. */\n        scheduleUnassignedFromUser?: ScheduleUnassignedFromUser;\n        preserveFutureSessionsWithParticipants?: boolean | null;\n        /** Whether to notify participants about changed sessions. deprecated, use participant_notification */\n        notifyParticipants?: boolean;\n        /** site properties. Optional. Given in create schedule notification. */\n        siteProperties?: SitePropertiesOnScheduleCreation;\n        instanceId?: string;\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        intervalSplit?: IntervalSplit;\n        recurringSessionSplit?: RecurringSessionSplit;\n        /** Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead. */\n        scheduleUnassignedFromUser?: ScheduleUnassignedFromUser;\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         * 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         * __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         */\n        tags?: string[] | null;\n        /** Default location for the schedule's sessions. */\n        location?: Location$1;\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.__ */\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.__ */\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         * Fields which were inherited from the Business Info page under Settings in the Dashboard.\n         * @readonly\n         */\n        inheritedFields?: string[];\n        /** __Deprecated.__ */\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    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    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    /**\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    /** 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    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 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;\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 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 ScheduleCancelled {\n        schedule?: Schedule;\n        /** Whether to notify participants about the change and an optional custom message */\n        participantNotification?: ParticipantNotification;\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;\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;\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 Empty {\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    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    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    interface EntityDeletedEvent {\n        /** Entity that was deleted */\n        deletedEntityAsJson?: string | null;\n    }\n    interface ActionEvent {\n        bodyAsJson?: string;\n    }\n    /**\n     * Gets the sessions view information.\n     * E.g. the current view end date, or the future duration in days the view should strive for.\n     * @public\n     * @documentationMaturity preview\n     */\n    function getSessionView(): Promise<GetSessionViewResponse>;\n    const bookingsCalendarV2SessionViewSessionsView_universal_d___debug: typeof __debug;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_SessionView = SessionView;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_SessionViewUpdated = SessionViewUpdated;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_SessionViewUpdatedTypeOneOf = SessionViewUpdatedTypeOneOf;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_SessionAddedOrUpdated = SessionAddedOrUpdated;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_Session = Session;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_CalendarDateTime = CalendarDateTime;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_LocalDateTime = LocalDateTime;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_LinkedSchedule = LinkedSchedule;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_Transparency = Transparency;\n    const bookingsCalendarV2SessionViewSessionsView_universal_d_Transparency: typeof Transparency;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_Address = Address;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_AddressStreetOneOf = AddressStreetOneOf;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_StreetAddress = StreetAddress;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_AddressLocation = AddressLocation;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_Subdivision = Subdivision;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_LocationsLocation = LocationsLocation;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_LocationStatus = LocationStatus;\n    const bookingsCalendarV2SessionViewSessionsView_universal_d_LocationStatus: typeof LocationStatus;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_LocationsLocationType = LocationsLocationType;\n    const bookingsCalendarV2SessionViewSessionsView_universal_d_LocationsLocationType: typeof LocationsLocationType;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_LocationsAddress = LocationsAddress;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_LocationsStreetAddress = LocationsStreetAddress;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_LocationsAddressLocation = LocationsAddressLocation;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_BusinessSchedule = BusinessSchedule;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_TimePeriod = TimePeriod;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_DayOfWeek = DayOfWeek;\n    const bookingsCalendarV2SessionViewSessionsView_universal_d_DayOfWeek: typeof DayOfWeek;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_SpecialHourPeriod = SpecialHourPeriod;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_Rate = Rate;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_Price = Price;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_Participant = Participant;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_ApprovalStatus = ApprovalStatus;\n    const bookingsCalendarV2SessionViewSessionsView_universal_d_ApprovalStatus: typeof ApprovalStatus;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_ExternalCalendarInfo = ExternalCalendarInfo;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_CalendarType = CalendarType;\n    const bookingsCalendarV2SessionViewSessionsView_universal_d_CalendarType: typeof CalendarType;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_ExternalCalendarOverrides = ExternalCalendarOverrides;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_Status = Status;\n    const bookingsCalendarV2SessionViewSessionsView_universal_d_Status: typeof Status;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_SessionType = SessionType;\n    const bookingsCalendarV2SessionViewSessionsView_universal_d_SessionType: typeof SessionType;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_CalendarConference = CalendarConference;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_ConferenceType = ConferenceType;\n    const bookingsCalendarV2SessionViewSessionsView_universal_d_ConferenceType: typeof ConferenceType;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_SessionVersion = SessionVersion;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_SessionRemoved = SessionRemoved;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_SessionViewExtended = SessionViewExtended;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_FeedEvent = FeedEvent;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_FeedEventTypeOneOf = FeedEventTypeOneOf;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_WindowExtended = WindowExtended;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_WindowMoved = WindowMoved;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_GetSessionViewRequest = GetSessionViewRequest;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_GetSessionViewResponse = GetSessionViewResponse;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_ExtendSessionViewRequest = ExtendSessionViewRequest;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_ExtendSessionViewResponse = ExtendSessionViewResponse;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_ReplayRequest = ReplayRequest;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_ReplayResponse = ReplayResponse;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_Window = Window;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_FeedReplayEvent = FeedReplayEvent;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_FeedReplayEventTypeOneOf = FeedReplayEventTypeOneOf;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_SessionAdded = SessionAdded;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_ReplayCompleted = ReplayCompleted;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_ScheduleNotification = ScheduleNotification;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_ScheduleNotificationEventOneOf = ScheduleNotificationEventOneOf;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_ScheduleCreated = ScheduleCreated;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_Schedule = Schedule;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_RecurringInterval = RecurringInterval;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_Interval = Interval;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_Day = Day;\n    const bookingsCalendarV2SessionViewSessionsView_universal_d_Day: typeof Day;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_Frequency = Frequency;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_RecurringIntervalType = RecurringIntervalType;\n    const bookingsCalendarV2SessionViewSessionsView_universal_d_RecurringIntervalType: typeof RecurringIntervalType;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_Availability = Availability;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_AvailabilityConstraints = AvailabilityConstraints;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_SplitInterval = SplitInterval;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_ScheduleStatus = ScheduleStatus;\n    const bookingsCalendarV2SessionViewSessionsView_universal_d_ScheduleStatus: typeof ScheduleStatus;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_Version = Version;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_ConferenceProvider = ConferenceProvider;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_ScheduleUpdated = ScheduleUpdated;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_RecurringSessionsUpdated = RecurringSessionsUpdated;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_ParticipantNotification = ParticipantNotification;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_ScheduleCancelled = ScheduleCancelled;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_SessionCreated = SessionCreated;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_SessionUpdated = SessionUpdated;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_SessionCancelled = SessionCancelled;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_AvailabilityPolicyUpdated = AvailabilityPolicyUpdated;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_AvailabilityPolicy = AvailabilityPolicy;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_IntervalSplit = IntervalSplit;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_RecurringSessionSplit = RecurringSessionSplit;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_ScheduleUnassignedFromUser = ScheduleUnassignedFromUser;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_MultipleSessionsCreated = MultipleSessionsCreated;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_ScheduleWithSessions = ScheduleWithSessions;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_SitePropertiesOnScheduleCreation = SitePropertiesOnScheduleCreation;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_MigrationEvent = MigrationEvent;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_MigrationData = MigrationData;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_StaffData = StaffData;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_Empty = Empty;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_Task = Task;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_TaskKey = TaskKey;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_TaskAction = TaskAction;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_TaskActionActionOneOf = TaskActionActionOneOf;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_Complete = Complete;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_Cancel = Cancel;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_Reschedule = Reschedule;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_DomainEvent = DomainEvent;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n    type bookingsCalendarV2SessionViewSessionsView_universal_d_ActionEvent = ActionEvent;\n    const bookingsCalendarV2SessionViewSessionsView_universal_d_getSessionView: typeof getSessionView;\n    namespace bookingsCalendarV2SessionViewSessionsView_universal_d {\n        export { bookingsCalendarV2SessionViewSessionsView_universal_d___debug as __debug, bookingsCalendarV2SessionViewSessionsView_universal_d_SessionView as SessionView, bookingsCalendarV2SessionViewSessionsView_universal_d_SessionViewUpdated as SessionViewUpdated, bookingsCalendarV2SessionViewSessionsView_universal_d_SessionViewUpdatedTypeOneOf as SessionViewUpdatedTypeOneOf, bookingsCalendarV2SessionViewSessionsView_universal_d_SessionAddedOrUpdated as SessionAddedOrUpdated, bookingsCalendarV2SessionViewSessionsView_universal_d_Session as Session, bookingsCalendarV2SessionViewSessionsView_universal_d_CalendarDateTime as CalendarDateTime, bookingsCalendarV2SessionViewSessionsView_universal_d_LocalDateTime as LocalDateTime, bookingsCalendarV2SessionViewSessionsView_universal_d_LinkedSchedule as LinkedSchedule, bookingsCalendarV2SessionViewSessionsView_universal_d_Transparency as Transparency, Location$1 as Location, LocationType$1 as LocationType, bookingsCalendarV2SessionViewSessionsView_universal_d_Address as Address, bookingsCalendarV2SessionViewSessionsView_universal_d_AddressStreetOneOf as AddressStreetOneOf, bookingsCalendarV2SessionViewSessionsView_universal_d_StreetAddress as StreetAddress, bookingsCalendarV2SessionViewSessionsView_universal_d_AddressLocation as AddressLocation, bookingsCalendarV2SessionViewSessionsView_universal_d_Subdivision as Subdivision, bookingsCalendarV2SessionViewSessionsView_universal_d_LocationsLocation as LocationsLocation, bookingsCalendarV2SessionViewSessionsView_universal_d_LocationStatus as LocationStatus, bookingsCalendarV2SessionViewSessionsView_universal_d_LocationsLocationType as LocationsLocationType, bookingsCalendarV2SessionViewSessionsView_universal_d_LocationsAddress as LocationsAddress, bookingsCalendarV2SessionViewSessionsView_universal_d_LocationsStreetAddress as LocationsStreetAddress, bookingsCalendarV2SessionViewSessionsView_universal_d_LocationsAddressLocation as LocationsAddressLocation, bookingsCalendarV2SessionViewSessionsView_universal_d_BusinessSchedule as BusinessSchedule, bookingsCalendarV2SessionViewSessionsView_universal_d_TimePeriod as TimePeriod, bookingsCalendarV2SessionViewSessionsView_universal_d_DayOfWeek as DayOfWeek, bookingsCalendarV2SessionViewSessionsView_universal_d_SpecialHourPeriod as SpecialHourPeriod, bookingsCalendarV2SessionViewSessionsView_universal_d_Rate as Rate, bookingsCalendarV2SessionViewSessionsView_universal_d_Price as Price, bookingsCalendarV2SessionViewSessionsView_universal_d_Participant as Participant, bookingsCalendarV2SessionViewSessionsView_universal_d_ApprovalStatus as ApprovalStatus, bookingsCalendarV2SessionViewSessionsView_universal_d_ExternalCalendarInfo as ExternalCalendarInfo, bookingsCalendarV2SessionViewSessionsView_universal_d_CalendarType as CalendarType, bookingsCalendarV2SessionViewSessionsView_universal_d_ExternalCalendarOverrides as ExternalCalendarOverrides, bookingsCalendarV2SessionViewSessionsView_universal_d_Status as Status, bookingsCalendarV2SessionViewSessionsView_universal_d_SessionType as SessionType, bookingsCalendarV2SessionViewSessionsView_universal_d_CalendarConference as CalendarConference, bookingsCalendarV2SessionViewSessionsView_universal_d_ConferenceType as ConferenceType, bookingsCalendarV2SessionViewSessionsView_universal_d_SessionVersion as SessionVersion, bookingsCalendarV2SessionViewSessionsView_universal_d_SessionRemoved as SessionRemoved, bookingsCalendarV2SessionViewSessionsView_universal_d_SessionViewExtended as SessionViewExtended, bookingsCalendarV2SessionViewSessionsView_universal_d_FeedEvent as FeedEvent, bookingsCalendarV2SessionViewSessionsView_universal_d_FeedEventTypeOneOf as FeedEventTypeOneOf, bookingsCalendarV2SessionViewSessionsView_universal_d_WindowExtended as WindowExtended, bookingsCalendarV2SessionViewSessionsView_universal_d_WindowMoved as WindowMoved, bookingsCalendarV2SessionViewSessionsView_universal_d_GetSessionViewRequest as GetSessionViewRequest, bookingsCalendarV2SessionViewSessionsView_universal_d_GetSessionViewResponse as GetSessionViewResponse, bookingsCalendarV2SessionViewSessionsView_universal_d_ExtendSessionViewRequest as ExtendSessionViewRequest, bookingsCalendarV2SessionViewSessionsView_universal_d_ExtendSessionViewResponse as ExtendSessionViewResponse, bookingsCalendarV2SessionViewSessionsView_universal_d_ReplayRequest as ReplayRequest, bookingsCalendarV2SessionViewSessionsView_universal_d_ReplayResponse as ReplayResponse, bookingsCalendarV2SessionViewSessionsView_universal_d_Window as Window, bookingsCalendarV2SessionViewSessionsView_universal_d_FeedReplayEvent as FeedReplayEvent, bookingsCalendarV2SessionViewSessionsView_universal_d_FeedReplayEventTypeOneOf as FeedReplayEventTypeOneOf, bookingsCalendarV2SessionViewSessionsView_universal_d_SessionAdded as SessionAdded, bookingsCalendarV2SessionViewSessionsView_universal_d_ReplayCompleted as ReplayCompleted, bookingsCalendarV2SessionViewSessionsView_universal_d_ScheduleNotification as ScheduleNotification, bookingsCalendarV2SessionViewSessionsView_universal_d_ScheduleNotificationEventOneOf as ScheduleNotificationEventOneOf, bookingsCalendarV2SessionViewSessionsView_universal_d_ScheduleCreated as ScheduleCreated, bookingsCalendarV2SessionViewSessionsView_universal_d_Schedule as Schedule, bookingsCalendarV2SessionViewSessionsView_universal_d_RecurringInterval as RecurringInterval, bookingsCalendarV2SessionViewSessionsView_universal_d_Interval as Interval, bookingsCalendarV2SessionViewSessionsView_universal_d_Day as Day, bookingsCalendarV2SessionViewSessionsView_universal_d_Frequency as Frequency, bookingsCalendarV2SessionViewSessionsView_universal_d_RecurringIntervalType as RecurringIntervalType, bookingsCalendarV2SessionViewSessionsView_universal_d_Availability as Availability, bookingsCalendarV2SessionViewSessionsView_universal_d_AvailabilityConstraints as AvailabilityConstraints, bookingsCalendarV2SessionViewSessionsView_universal_d_SplitInterval as SplitInterval, bookingsCalendarV2SessionViewSessionsView_universal_d_ScheduleStatus as ScheduleStatus, bookingsCalendarV2SessionViewSessionsView_universal_d_Version as Version, bookingsCalendarV2SessionViewSessionsView_universal_d_ConferenceProvider as ConferenceProvider, bookingsCalendarV2SessionViewSessionsView_universal_d_ScheduleUpdated as ScheduleUpdated, bookingsCalendarV2SessionViewSessionsView_universal_d_RecurringSessionsUpdated as RecurringSessionsUpdated, bookingsCalendarV2SessionViewSessionsView_universal_d_ParticipantNotification as ParticipantNotification, bookingsCalendarV2SessionViewSessionsView_universal_d_ScheduleCancelled as ScheduleCancelled, bookingsCalendarV2SessionViewSessionsView_universal_d_SessionCreated as SessionCreated, bookingsCalendarV2SessionViewSessionsView_universal_d_SessionUpdated as SessionUpdated, bookingsCalendarV2SessionViewSessionsView_universal_d_SessionCancelled as SessionCancelled, bookingsCalendarV2SessionViewSessionsView_universal_d_AvailabilityPolicyUpdated as AvailabilityPolicyUpdated, bookingsCalendarV2SessionViewSessionsView_universal_d_AvailabilityPolicy as AvailabilityPolicy, bookingsCalendarV2SessionViewSessionsView_universal_d_IntervalSplit as IntervalSplit, bookingsCalendarV2SessionViewSessionsView_universal_d_RecurringSessionSplit as RecurringSessionSplit, bookingsCalendarV2SessionViewSessionsView_universal_d_ScheduleUnassignedFromUser as ScheduleUnassignedFromUser, bookingsCalendarV2SessionViewSessionsView_universal_d_MultipleSessionsCreated as MultipleSessionsCreated, bookingsCalendarV2SessionViewSessionsView_universal_d_ScheduleWithSessions as ScheduleWithSessions, bookingsCalendarV2SessionViewSessionsView_universal_d_SitePropertiesOnScheduleCreation as SitePropertiesOnScheduleCreation, bookingsCalendarV2SessionViewSessionsView_universal_d_MigrationEvent as MigrationEvent, bookingsCalendarV2SessionViewSessionsView_universal_d_MigrationData as MigrationData, bookingsCalendarV2SessionViewSessionsView_universal_d_StaffData as StaffData, bookingsCalendarV2SessionViewSessionsView_universal_d_Empty as Empty, bookingsCalendarV2SessionViewSessionsView_universal_d_Task as Task, bookingsCalendarV2SessionViewSessionsView_universal_d_TaskKey as TaskKey, bookingsCalendarV2SessionViewSessionsView_universal_d_TaskAction as TaskAction, bookingsCalendarV2SessionViewSessionsView_universal_d_TaskActionActionOneOf as TaskActionActionOneOf, bookingsCalendarV2SessionViewSessionsView_universal_d_Complete as Complete, bookingsCalendarV2SessionViewSessionsView_universal_d_Cancel as Cancel, bookingsCalendarV2SessionViewSessionsView_universal_d_Reschedule as Reschedule, bookingsCalendarV2SessionViewSessionsView_universal_d_DomainEvent as DomainEvent, bookingsCalendarV2SessionViewSessionsView_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf, bookingsCalendarV2SessionViewSessionsView_universal_d_EntityCreatedEvent as EntityCreatedEvent, bookingsCalendarV2SessionViewSessionsView_universal_d_EntityUpdatedEvent as EntityUpdatedEvent, bookingsCalendarV2SessionViewSessionsView_universal_d_EntityDeletedEvent as EntityDeletedEvent, bookingsCalendarV2SessionViewSessionsView_universal_d_ActionEvent as ActionEvent, bookingsCalendarV2SessionViewSessionsView_universal_d_getSessionView as getSessionView, };\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    }\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. 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;\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    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 NestedTimeSlot {\n        serviceId?: string;\n        start?: string;\n        end?: string;\n        resource?: SlotResource;\n        /** Schedule ID. */\n        scheduleId?: string;\n    }\n    interface QueryAvailabilityRequest {\n        /** Query options. */\n        query: QueryV2;\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    interface QueryV2 extends QueryV2PagingMethodOneOf {\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[];\n    }\n    /** @oneof */\n    interface QueryV2PagingMethodOneOf {\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    /**\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 QueryAvailabilityResponse {\n        /** List of slots that potentially can be booked. */\n        availabilityEntries?: SlotAvailability[];\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 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 {\n        /** The slot for which the availability is checked. */\n        slot?: Slot;\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    interface GetSlotAvailabilityResponse {\n        availability?: SlotAvailability;\n        bookingPolicySettings?: BookingPolicySettings;\n    }\n    interface BookingPolicySettings {\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 {\n        /** The schedule ID for which availability is being checked. */\n        scheduleId: string;\n    }\n    interface GetScheduleAvailabilityResponse {\n        availability?: ScheduleAvailability;\n        bookingPolicySettings?: BookingPolicySettings;\n    }\n    interface ScheduleAvailability {\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;\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;\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;\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;\n    }\n    interface RuleBasedConstraints {\n        serviceId?: string;\n        resourcesFilter?: ResourcesFilter;\n    }\n    interface ResourcesFilter {\n        resourceIds?: string[];\n    }\n    interface CalculateMultiSlotAvailabilityResponse {\n        slots?: SlotAvailability[];\n        cursorPagingMetadata?: 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    /**\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     * @permissionScope Read Bookings - Public Data\n     * @permissionScopeId SCOPE.DC-BOOKINGS.READ-BOOKINGS-PUBLIC\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Read Bookings - Including Participants\n     * @permissionScopeId SCOPE.DC-BOOKINGS.READ-BOOKINGS-SENSITIVE\n     * @permissionScope Read Bookings - all read permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.READ-BOOKINGS\n     * @permissionScope Read Bookings Calendar Availability\n     * @permissionScopeId SCOPE.DC-BOOKINGS.READ-CALENDAR\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\n     * @adminMethod\n     */\n    function queryAvailability(query: QueryV2, 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    interface GetSlotAvailabilityOptions {\n        /** The slot for which the availability is checked. */\n        slot?: Slot;\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    interface GetScheduleAvailabilityOptions {\n    }\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;\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;\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;\n    }\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_SlotAvailability = SlotAvailability;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_Slot = Slot;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_SlotResource = SlotResource;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_Location = Location;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_LocationType = LocationType;\n    const bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_LocationType: typeof LocationType;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_WaitingList = WaitingList;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_BookingPolicyViolations = BookingPolicyViolations;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_NestedTimeSlot = NestedTimeSlot;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_QueryAvailabilityRequest = QueryAvailabilityRequest;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_QueryV2 = QueryV2;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_Sorting = Sorting;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_SortOrder = SortOrder;\n    const bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_SortOrder: typeof SortOrder;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_CursorPaging = CursorPaging;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_CustomerChoices = CustomerChoices;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_QueryAvailabilityResponse = QueryAvailabilityResponse;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_PagingMetadataV2 = PagingMetadataV2;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_Cursors = Cursors;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_GetSlotAvailabilityRequest = GetSlotAvailabilityRequest;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_GetSlotAvailabilityResponse = GetSlotAvailabilityResponse;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_BookingPolicySettings = BookingPolicySettings;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_GetScheduleAvailabilityRequest = GetScheduleAvailabilityRequest;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_GetScheduleAvailabilityResponse = GetScheduleAvailabilityResponse;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_ScheduleAvailability = ScheduleAvailability;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_CalculateMultiSlotAvailabilityRequest = CalculateMultiSlotAvailabilityRequest;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_RuleBasedConstraints = RuleBasedConstraints;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_ResourcesFilter = ResourcesFilter;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_CalculateMultiSlotAvailabilityResponse = CalculateMultiSlotAvailabilityResponse;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n    const bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_queryAvailability: typeof queryAvailability;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_QueryAvailabilityOptions = QueryAvailabilityOptions;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_GetSlotAvailabilityOptions = GetSlotAvailabilityOptions;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_GetScheduleAvailabilityOptions = GetScheduleAvailabilityOptions;\n    type bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_CalculateMultiSlotAvailabilityOptions = CalculateMultiSlotAvailabilityOptions;\n    namespace bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d {\n        export { bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_SlotAvailability as SlotAvailability, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_Slot as Slot, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_SlotResource as SlotResource, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_Location as Location, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_LocationType as LocationType, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_WaitingList as WaitingList, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_BookingPolicyViolations as BookingPolicyViolations, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_NestedTimeSlot as NestedTimeSlot, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_QueryAvailabilityRequest as QueryAvailabilityRequest, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_QueryV2 as QueryV2, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_Sorting as Sorting, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_SortOrder as SortOrder, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_CursorPaging as CursorPaging, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_CustomerChoices as CustomerChoices, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_QueryAvailabilityResponse as QueryAvailabilityResponse, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_PagingMetadataV2 as PagingMetadataV2, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_Cursors as Cursors, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_GetSlotAvailabilityRequest as GetSlotAvailabilityRequest, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_GetSlotAvailabilityResponse as GetSlotAvailabilityResponse, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_BookingPolicySettings as BookingPolicySettings, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_GetScheduleAvailabilityRequest as GetScheduleAvailabilityRequest, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_GetScheduleAvailabilityResponse as GetScheduleAvailabilityResponse, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_ScheduleAvailability as ScheduleAvailability, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_CalculateMultiSlotAvailabilityRequest as CalculateMultiSlotAvailabilityRequest, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_RuleBasedConstraints as RuleBasedConstraints, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_ResourcesFilter as ResourcesFilter, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_CalculateMultiSlotAvailabilityResponse as CalculateMultiSlotAvailabilityResponse, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_CursorPagingMetadata as CursorPagingMetadata, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_queryAvailability as queryAvailability, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_QueryAvailabilityOptions as QueryAvailabilityOptions, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_GetSlotAvailabilityOptions as GetSlotAvailabilityOptions, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_GetScheduleAvailabilityOptions as GetScheduleAvailabilityOptions, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d_CalculateMultiSlotAvailabilityOptions as CalculateMultiSlotAvailabilityOptions, };\n    }\n    export { bookingsV2AttendanceAttendance_universal_d as attendance, bookingsAvailabilityV1SlotAvailabilityAvailabilityCalendar_universal_d as availabilityCalendar, bookingsV2BookingBookings_universal_d as bookings, bookingsReaderV2ExtendedBookingExtendedBookings_universal_d as extendedBookings, bookingsCalendarV2ExternalCalendarExternalCalendars_universal_d as externalCalendars, bookingsV2PriceInfoPricing_universal_d as pricing, bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants_universal_d as serviceOptionsAndVariants, bookingsServicesV2ServiceServices_universal_d as services, bookingsCalendarV1SessionSessions_universal_d as sessions, bookingsCalendarV2SessionViewSessionsView_universal_d as sessionsView };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-forum.v2.d.ts",
      "content": "declare module \"wix-forum.v2\" {\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 (e.g., date the latest comment was added to post).\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         * 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, vote or like. */\n        commentInteraction?: Interaction$1;\n        /**\n         * IDs of the marked comments for this post. Posts are marked by the forum admin or the post owner.\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         * List of reaction identities grouped by reaction code.\n         * @readonly\n         */\n        reactionIdentities?: ReactionIdentity[];\n    }\n    enum PostType$1 {\n        DISCUSSION = \"DISCUSSION\",\n        QUESTION = \"QUESTION\"\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 {\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    enum Interaction$1 {\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        /** Array of extra post fields to be added in the response. */\n        extraFields?: Field$1[];\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$1 {\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        /** Array of extra post fields to be added in the response. */\n        extraFields?: Field$1[];\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        /** Array of extra post fields to be added in the response. */\n        extraFields?: Field$1[];\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$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 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        /** Field mask of fields to update. */\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$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        /** 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    interface EntityDeletedEvent$1 {\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 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     * @permissionScope Read Forums\n     * @permissionScopeId SCOPE.DC-FORUM.READ-FORUM\n     * @permissionScope Manage Forums\n     * @permissionScopeId SCOPE.DC-FORUM.MANAGE-FORUM\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Post for the provided post ID.\n     * @fqn com.wixpress.npm.communities.forum.api.PostManagementService.GetPost\n     */\n    function getPost(postId: string, options?: GetPostOptions): Promise<Post>;\n    interface GetPostOptions {\n        /** Array of extra post fields to be added in the response. */\n        extraFields?: Field$1[];\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     * @permissionScope Read Forums\n     * @permissionScopeId SCOPE.DC-FORUM.READ-FORUM\n     * @permissionScope Manage Forums\n     * @permissionScopeId SCOPE.DC-FORUM.MANAGE-FORUM\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.npm.communities.forum.api.PostManagementService.GetPostBySlug\n     */\n    function getPostBySlug(slug: string, options?: GetPostBySlugOptions): Promise<PostResponse>;\n    interface GetPostBySlugOptions {\n        /** Array of extra post fields to be added in the response. */\n        extraFields?: Field$1[];\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     * @permissionScope Read Forums\n     * @permissionScopeId SCOPE.DC-FORUM.READ-FORUM\n     * @permissionScope Manage Forums\n     * @permissionScopeId SCOPE.DC-FORUM.MANAGE-FORUM\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.npm.communities.forum.api.PostManagementService.QueryPosts\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        /** Array of extra post fields to be included in the response. */\n        extraFields?: Field$1[];\n    }\n    interface MarkPostsSeenOptions {\n        /** IDs of the seen posts. */\n        postsIds?: string[];\n    }\n    interface CreatePostOptions {\n        /** New post to create. */\n        post?: Post;\n    }\n    interface UpdatePostOptions {\n        /** Field mask of fields to update. */\n        fieldMask?: string[];\n        /** Post data with partial data to update. */\n        post?: Post;\n    }\n    interface PinPostOptions {\n        /** The amount of minutes after which the pin will be removed (unpinned) */\n        expiresInMinutes?: number | null;\n    }\n    interface ReportPostOptions {\n        /** Type of report. */\n        reportType?: ReportType;\n    }\n    type forumV1PostPosts_universal_d_Post = Post;\n    type forumV1PostPosts_universal_d_VideoResolution = VideoResolution;\n    type forumV1PostPosts_universal_d_RecentActivity = RecentActivity;\n    type forumV1PostPosts_universal_d_RecentActivityInitiatorOneOf = RecentActivityInitiatorOneOf;\n    type forumV1PostPosts_universal_d_EntityType = EntityType;\n    const forumV1PostPosts_universal_d_EntityType: typeof EntityType;\n    type forumV1PostPosts_universal_d_ReactionCodeCount = ReactionCodeCount;\n    type forumV1PostPosts_universal_d_ReactionIdentity = ReactionIdentity;\n    type forumV1PostPosts_universal_d_IdentityType = IdentityType;\n    const forumV1PostPosts_universal_d_IdentityType: typeof IdentityType;\n    type forumV1PostPosts_universal_d_Identity = Identity;\n    type forumV1PostPosts_universal_d_Moved = Moved;\n    type forumV1PostPosts_universal_d_Liked = Liked;\n    type forumV1PostPosts_universal_d_Unliked = Unliked;\n    type forumV1PostPosts_universal_d_Pinned = Pinned;\n    type forumV1PostPosts_universal_d_Unpinned = Unpinned;\n    type forumV1PostPosts_universal_d_Closed = Closed;\n    type forumV1PostPosts_universal_d_Opened = Opened;\n    type forumV1PostPosts_universal_d_Reported = Reported;\n    type forumV1PostPosts_universal_d_ReportType = ReportType;\n    const forumV1PostPosts_universal_d_ReportType: typeof ReportType;\n    type forumV1PostPosts_universal_d_Reacted = Reacted;\n    type forumV1PostPosts_universal_d_Unreacted = Unreacted;\n    type forumV1PostPosts_universal_d_PostRequest = PostRequest;\n    type forumV1PostPosts_universal_d_PostFieldField = PostFieldField;\n    const forumV1PostPosts_universal_d_PostFieldField: typeof PostFieldField;\n    type forumV1PostPosts_universal_d_PostResponse = PostResponse;\n    type forumV1PostPosts_universal_d_PostSlugRequest = PostSlugRequest;\n    type forumV1PostPosts_universal_d_QueryPostsRequest = QueryPostsRequest;\n    type forumV1PostPosts_universal_d_PostsPaging = PostsPaging;\n    type forumV1PostPosts_universal_d_PostsSort = PostsSort;\n    type forumV1PostPosts_universal_d_QueryPostsResponse = QueryPostsResponse;\n    type forumV1PostPosts_universal_d_QueryPostsResponseMetaData = QueryPostsResponseMetaData;\n    type forumV1PostPosts_universal_d_ViewPostRequest = ViewPostRequest;\n    type forumV1PostPosts_universal_d_ViewPostResponse = ViewPostResponse;\n    type forumV1PostPosts_universal_d_MarkPostReadRequest = MarkPostReadRequest;\n    type forumV1PostPosts_universal_d_MarkPostReadResponse = MarkPostReadResponse;\n    type forumV1PostPosts_universal_d_MarkPostsSeenRequest = MarkPostsSeenRequest;\n    type forumV1PostPosts_universal_d_MarkPostsSeenResponse = MarkPostsSeenResponse;\n    type forumV1PostPosts_universal_d_MarkPostUnreadRequest = MarkPostUnreadRequest;\n    type forumV1PostPosts_universal_d_MarkPostUnreadResponse = MarkPostUnreadResponse;\n    type forumV1PostPosts_universal_d_CreatePostRequest = CreatePostRequest;\n    type forumV1PostPosts_universal_d_CreatePostResponse = CreatePostResponse;\n    type forumV1PostPosts_universal_d_UpdatePostRequest = UpdatePostRequest;\n    type forumV1PostPosts_universal_d_UpdatePostResponse = UpdatePostResponse;\n    type forumV1PostPosts_universal_d_DeletePostRequest = DeletePostRequest;\n    type forumV1PostPosts_universal_d_DeletePostResponse = DeletePostResponse;\n    type forumV1PostPosts_universal_d_SetBestAnswerRequest = SetBestAnswerRequest;\n    type forumV1PostPosts_universal_d_SetBestAnswerResponse = SetBestAnswerResponse;\n    type forumV1PostPosts_universal_d_RemoveBestAnswerRequest = RemoveBestAnswerRequest;\n    type forumV1PostPosts_universal_d_RemoveBestAnswerResponse = RemoveBestAnswerResponse;\n    type forumV1PostPosts_universal_d_PinPostRequest = PinPostRequest;\n    type forumV1PostPosts_universal_d_PinPostResponse = PinPostResponse;\n    type forumV1PostPosts_universal_d_UnpinPostRequest = UnpinPostRequest;\n    type forumV1PostPosts_universal_d_UnpinPostResponse = UnpinPostResponse;\n    type forumV1PostPosts_universal_d_AddReactionRequest = AddReactionRequest;\n    type forumV1PostPosts_universal_d_AddReactionResponse = AddReactionResponse;\n    type forumV1PostPosts_universal_d_RemoveReactionRequest = RemoveReactionRequest;\n    type forumV1PostPosts_universal_d_RemoveReactionResponse = RemoveReactionResponse;\n    type forumV1PostPosts_universal_d_ReportPostRequest = ReportPostRequest;\n    type forumV1PostPosts_universal_d_ReportPostResponse = ReportPostResponse;\n    const forumV1PostPosts_universal_d_getPost: typeof getPost;\n    type forumV1PostPosts_universal_d_GetPostOptions = GetPostOptions;\n    const forumV1PostPosts_universal_d_getPostBySlug: typeof getPostBySlug;\n    type forumV1PostPosts_universal_d_GetPostBySlugOptions = GetPostBySlugOptions;\n    const forumV1PostPosts_universal_d_queryPosts: typeof queryPosts;\n    type forumV1PostPosts_universal_d_QueryPostsOptions = QueryPostsOptions;\n    type forumV1PostPosts_universal_d_MarkPostsSeenOptions = MarkPostsSeenOptions;\n    type forumV1PostPosts_universal_d_CreatePostOptions = CreatePostOptions;\n    type forumV1PostPosts_universal_d_UpdatePostOptions = UpdatePostOptions;\n    type forumV1PostPosts_universal_d_PinPostOptions = PinPostOptions;\n    type forumV1PostPosts_universal_d_ReportPostOptions = ReportPostOptions;\n    namespace forumV1PostPosts_universal_d {\n        export { forumV1PostPosts_universal_d_Post as Post, PostType$1 as PostType, FocalPoint$1 as FocalPoint, forumV1PostPosts_universal_d_VideoResolution as VideoResolution, Interaction$1 as Interaction, forumV1PostPosts_universal_d_RecentActivity as RecentActivity, forumV1PostPosts_universal_d_RecentActivityInitiatorOneOf as RecentActivityInitiatorOneOf, forumV1PostPosts_universal_d_EntityType as EntityType, forumV1PostPosts_universal_d_ReactionCodeCount as ReactionCodeCount, forumV1PostPosts_universal_d_ReactionIdentity as ReactionIdentity, forumV1PostPosts_universal_d_IdentityType as IdentityType, forumV1PostPosts_universal_d_Identity as Identity, forumV1PostPosts_universal_d_Moved as Moved, forumV1PostPosts_universal_d_Liked as Liked, forumV1PostPosts_universal_d_Unliked as Unliked, forumV1PostPosts_universal_d_Pinned as Pinned, forumV1PostPosts_universal_d_Unpinned as Unpinned, forumV1PostPosts_universal_d_Closed as Closed, forumV1PostPosts_universal_d_Opened as Opened, forumV1PostPosts_universal_d_Reported as Reported, forumV1PostPosts_universal_d_ReportType as ReportType, forumV1PostPosts_universal_d_Reacted as Reacted, forumV1PostPosts_universal_d_Unreacted as Unreacted, forumV1PostPosts_universal_d_PostRequest as PostRequest, forumV1PostPosts_universal_d_PostFieldField as PostFieldField, Field$1 as Field, forumV1PostPosts_universal_d_PostResponse as PostResponse, forumV1PostPosts_universal_d_PostSlugRequest as PostSlugRequest, forumV1PostPosts_universal_d_QueryPostsRequest as QueryPostsRequest, forumV1PostPosts_universal_d_PostsPaging as PostsPaging, forumV1PostPosts_universal_d_PostsSort as PostsSort, Order$1 as Order, forumV1PostPosts_universal_d_QueryPostsResponse as QueryPostsResponse, forumV1PostPosts_universal_d_QueryPostsResponseMetaData as QueryPostsResponseMetaData, forumV1PostPosts_universal_d_ViewPostRequest as ViewPostRequest, forumV1PostPosts_universal_d_ViewPostResponse as ViewPostResponse, forumV1PostPosts_universal_d_MarkPostReadRequest as MarkPostReadRequest, forumV1PostPosts_universal_d_MarkPostReadResponse as MarkPostReadResponse, forumV1PostPosts_universal_d_MarkPostsSeenRequest as MarkPostsSeenRequest, forumV1PostPosts_universal_d_MarkPostsSeenResponse as MarkPostsSeenResponse, forumV1PostPosts_universal_d_MarkPostUnreadRequest as MarkPostUnreadRequest, forumV1PostPosts_universal_d_MarkPostUnreadResponse as MarkPostUnreadResponse, forumV1PostPosts_universal_d_CreatePostRequest as CreatePostRequest, forumV1PostPosts_universal_d_CreatePostResponse as CreatePostResponse, forumV1PostPosts_universal_d_UpdatePostRequest as UpdatePostRequest, forumV1PostPosts_universal_d_UpdatePostResponse as UpdatePostResponse, forumV1PostPosts_universal_d_DeletePostRequest as DeletePostRequest, forumV1PostPosts_universal_d_DeletePostResponse as DeletePostResponse, forumV1PostPosts_universal_d_SetBestAnswerRequest as SetBestAnswerRequest, forumV1PostPosts_universal_d_SetBestAnswerResponse as SetBestAnswerResponse, forumV1PostPosts_universal_d_RemoveBestAnswerRequest as RemoveBestAnswerRequest, forumV1PostPosts_universal_d_RemoveBestAnswerResponse as RemoveBestAnswerResponse, forumV1PostPosts_universal_d_PinPostRequest as PinPostRequest, forumV1PostPosts_universal_d_PinPostResponse as PinPostResponse, forumV1PostPosts_universal_d_UnpinPostRequest as UnpinPostRequest, forumV1PostPosts_universal_d_UnpinPostResponse as UnpinPostResponse, forumV1PostPosts_universal_d_AddReactionRequest as AddReactionRequest, forumV1PostPosts_universal_d_AddReactionResponse as AddReactionResponse, forumV1PostPosts_universal_d_RemoveReactionRequest as RemoveReactionRequest, forumV1PostPosts_universal_d_RemoveReactionResponse as RemoveReactionResponse, forumV1PostPosts_universal_d_ReportPostRequest as ReportPostRequest, forumV1PostPosts_universal_d_ReportPostResponse as ReportPostResponse, DomainEvent$1 as DomainEvent, DomainEventBodyOneOf$1 as DomainEventBodyOneOf, EntityCreatedEvent$1 as EntityCreatedEvent, RestoreInfo$1 as RestoreInfo, EntityUpdatedEvent$1 as EntityUpdatedEvent, EntityDeletedEvent$1 as EntityDeletedEvent, ActionEvent$1 as ActionEvent, MessageEnvelope$1 as MessageEnvelope, IdentificationData$1 as IdentificationData, IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf, WebhookIdentityType$1 as WebhookIdentityType, forumV1PostPosts_universal_d_getPost as getPost, forumV1PostPosts_universal_d_GetPostOptions as GetPostOptions, forumV1PostPosts_universal_d_getPostBySlug as getPostBySlug, forumV1PostPosts_universal_d_GetPostBySlugOptions as GetPostBySlugOptions, forumV1PostPosts_universal_d_queryPosts as queryPosts, forumV1PostPosts_universal_d_QueryPostsOptions as QueryPostsOptions, forumV1PostPosts_universal_d_MarkPostsSeenOptions as MarkPostsSeenOptions, forumV1PostPosts_universal_d_CreatePostOptions as CreatePostOptions, forumV1PostPosts_universal_d_UpdatePostOptions as UpdatePostOptions, forumV1PostPosts_universal_d_PinPostOptions as PinPostOptions, forumV1PostPosts_universal_d_ReportPostOptions as ReportPostOptions, };\n    }\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 rank (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         * 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 this category if `categoryAccess` is `PRIVATE`.\n         * @readonly\n         */\n        groups?: string[];\n        /** Defines what interactions may be applied on the comment under the posts created in this category, vote or like. */\n        commentInteraction?: Interaction;\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    enum HeaderType {\n        NONE = \"NONE\",\n        COLOR = \"COLOR\",\n        IMAGE = \"IMAGE\"\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 ColorComponent {\n        /** Hex Color Code */\n        color?: string | null;\n        /** Opacity (from 0 to 1) */\n        opacity?: number | null;\n    }\n    enum PostType {\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 {\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        /** Array of extra category fields to be added in the response. `UNKNOWN` must not be passed. */\n        extraFields?: Field[];\n    }\n    enum CategoryFieldField {\n        UNKNOWN = \"UNKNOWN\",\n        /** Includes the category's URL. */\n        URL = \"URL\"\n    }\n    enum Field {\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        /** Array of extra category fields to be added in the response. `UNKNOWN` must not be passed. */\n        extraFields?: Field[];\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        /** Array of extra category fields to be added in the response. `UNKNOWN` must not be passed. */\n        extraFields?: Field[];\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;\n    }\n    enum Order {\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        /** Field mask of fields to update. */\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 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        /** 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    interface EntityDeletedEvent {\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 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     * @permissionScope Read Forums\n     * @permissionScopeId SCOPE.DC-FORUM.READ-FORUM\n     * @permissionScope Manage Forums\n     * @permissionScopeId SCOPE.DC-FORUM.MANAGE-FORUM\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Retrieved category for the provided category ID.\n     * @fqn com.wixpress.npm.communities.forum.api.CategoryManagementService.GetCategory\n     */\n    function getCategory(categoryId: string, options?: GetCategoryOptions): Promise<Category>;\n    interface GetCategoryOptions {\n        /** Array of extra category fields to be added in the response. `UNKNOWN` must not be passed. */\n        extraFields?: Field[];\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     * @permissionScope Read Forums\n     * @permissionScopeId SCOPE.DC-FORUM.READ-FORUM\n     * @permissionScope Manage Forums\n     * @permissionScopeId SCOPE.DC-FORUM.MANAGE-FORUM\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.npm.communities.forum.api.CategoryManagementService.GetCategoryBySlug\n     */\n    function getCategoryBySlug(slug: string, options?: GetCategoryBySlugOptions): Promise<CategoryResponse>;\n    interface GetCategoryBySlugOptions {\n        /** Array of extra category fields to be added in the response. `UNKNOWN` must not be passed. */\n        extraFields?: Field[];\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     * @permissionScope Read Forums\n     * @permissionScopeId SCOPE.DC-FORUM.READ-FORUM\n     * @permissionScope Manage Forums\n     * @permissionScopeId SCOPE.DC-FORUM.MANAGE-FORUM\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.npm.communities.forum.api.CategoryManagementService.QueryCategories\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        /** Array of extra category fields to be included in the response. */\n        extraFields?: Field[];\n    }\n    interface MarkAllPostsAsReadOptions {\n        /** ID of the read posts category. */\n        categoryId?: string;\n    }\n    interface CreateCategoryOptions {\n        category?: Category;\n    }\n    interface UpdateCategoryOptions {\n        /** Field mask of fields to update. */\n        fieldMask?: string[];\n        /** Editable category data. */\n        category?: Category;\n    }\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     * @permissionScope Manage Forums\n     * @permissionScopeId SCOPE.DC-FORUM.MANAGE-FORUM\n     * @permissionScope Manage Forums\n     * @permissionScopeId SCOPE.DC-FORUM.MANAGE-FORUM\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.npm.communities.forum.api.CategoryManagementService.SubscribeContactToCategory\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     * 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     * @permissionScope Manage Forums\n     * @permissionScopeId SCOPE.DC-FORUM.MANAGE-FORUM\n     * @permissionScope Manage Forums\n     * @permissionScopeId SCOPE.DC-FORUM.MANAGE-FORUM\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.npm.communities.forum.api.CategoryManagementService.UnsubscribeContactFromCategory\n     */\n    function unsubscribeContactFromCategory(categoryId: string, options?: UnsubscribeContactFromCategoryOptions): Promise<void>;\n    interface UnsubscribeContactFromCategoryOptions {\n        /** Contact ID. */\n        contactId?: string | null;\n    }\n    type forumV1CategoryCategories_universal_d_Category = Category;\n    type forumV1CategoryCategories_universal_d_HeaderType = HeaderType;\n    const forumV1CategoryCategories_universal_d_HeaderType: typeof HeaderType;\n    type forumV1CategoryCategories_universal_d_FocalPoint = FocalPoint;\n    type forumV1CategoryCategories_universal_d_ColorComponent = ColorComponent;\n    type forumV1CategoryCategories_universal_d_PostType = PostType;\n    const forumV1CategoryCategories_universal_d_PostType: typeof PostType;\n    type forumV1CategoryCategories_universal_d_Access = Access;\n    const forumV1CategoryCategories_universal_d_Access: typeof Access;\n    type forumV1CategoryCategories_universal_d_Interaction = Interaction;\n    const forumV1CategoryCategories_universal_d_Interaction: typeof Interaction;\n    type forumV1CategoryCategories_universal_d_Reaction = Reaction;\n    type forumV1CategoryCategories_universal_d_ReactionReactionOneOf = ReactionReactionOneOf;\n    type forumV1CategoryCategories_universal_d_Type = Type;\n    const forumV1CategoryCategories_universal_d_Type: typeof Type;\n    type forumV1CategoryCategories_universal_d_PostInteraction = PostInteraction;\n    const forumV1CategoryCategories_universal_d_PostInteraction: typeof PostInteraction;\n    type forumV1CategoryCategories_universal_d_CommentOrder = CommentOrder;\n    const forumV1CategoryCategories_universal_d_CommentOrder: typeof CommentOrder;\n    type forumV1CategoryCategories_universal_d_SeoSchema = SeoSchema;\n    type forumV1CategoryCategories_universal_d_Keyword = Keyword;\n    type forumV1CategoryCategories_universal_d_Tag = Tag;\n    type forumV1CategoryCategories_universal_d_Settings = Settings;\n    type forumV1CategoryCategories_universal_d_CategoryRequest = CategoryRequest;\n    type forumV1CategoryCategories_universal_d_CategoryFieldField = CategoryFieldField;\n    const forumV1CategoryCategories_universal_d_CategoryFieldField: typeof CategoryFieldField;\n    type forumV1CategoryCategories_universal_d_Field = Field;\n    const forumV1CategoryCategories_universal_d_Field: typeof Field;\n    type forumV1CategoryCategories_universal_d_CategoryResponse = CategoryResponse;\n    type forumV1CategoryCategories_universal_d_CategorySlugRequest = CategorySlugRequest;\n    type forumV1CategoryCategories_universal_d_QueryCategoriesRequest = QueryCategoriesRequest;\n    type forumV1CategoryCategories_universal_d_CategoriesPaging = CategoriesPaging;\n    type forumV1CategoryCategories_universal_d_CategoriesSort = CategoriesSort;\n    type forumV1CategoryCategories_universal_d_Order = Order;\n    const forumV1CategoryCategories_universal_d_Order: typeof Order;\n    type forumV1CategoryCategories_universal_d_QueryCategoriesResponse = QueryCategoriesResponse;\n    type forumV1CategoryCategories_universal_d_QueryCategoriesResponseMetaData = QueryCategoriesResponseMetaData;\n    type forumV1CategoryCategories_universal_d_MarkCategoryReadRequest = MarkCategoryReadRequest;\n    type forumV1CategoryCategories_universal_d_MarkCategoryReadResponse = MarkCategoryReadResponse;\n    type forumV1CategoryCategories_universal_d_MarkAllPostsAsReadRequest = MarkAllPostsAsReadRequest;\n    type forumV1CategoryCategories_universal_d_MarkAllPostsAsReadResponse = MarkAllPostsAsReadResponse;\n    type forumV1CategoryCategories_universal_d_CreateCategoryRequest = CreateCategoryRequest;\n    type forumV1CategoryCategories_universal_d_UpdateCategoryRequest = UpdateCategoryRequest;\n    type forumV1CategoryCategories_universal_d_DeleteCategoryRequest = DeleteCategoryRequest;\n    type forumV1CategoryCategories_universal_d_DeleteCategoryResponse = DeleteCategoryResponse;\n    type forumV1CategoryCategories_universal_d_SubscribeContactToCategoryRequest = SubscribeContactToCategoryRequest;\n    type forumV1CategoryCategories_universal_d_SubscribeContactToCategoryResponse = SubscribeContactToCategoryResponse;\n    type forumV1CategoryCategories_universal_d_UnsubscribeContactFromCategoryRequest = UnsubscribeContactFromCategoryRequest;\n    type forumV1CategoryCategories_universal_d_UnsubscribeContactFromCategoryResponse = UnsubscribeContactFromCategoryResponse;\n    type forumV1CategoryCategories_universal_d_DomainEvent = DomainEvent;\n    type forumV1CategoryCategories_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n    type forumV1CategoryCategories_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n    type forumV1CategoryCategories_universal_d_RestoreInfo = RestoreInfo;\n    type forumV1CategoryCategories_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n    type forumV1CategoryCategories_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n    type forumV1CategoryCategories_universal_d_ActionEvent = ActionEvent;\n    type forumV1CategoryCategories_universal_d_MessageEnvelope = MessageEnvelope;\n    type forumV1CategoryCategories_universal_d_IdentificationData = IdentificationData;\n    type forumV1CategoryCategories_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n    type forumV1CategoryCategories_universal_d_WebhookIdentityType = WebhookIdentityType;\n    const forumV1CategoryCategories_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n    const forumV1CategoryCategories_universal_d_getCategory: typeof getCategory;\n    type forumV1CategoryCategories_universal_d_GetCategoryOptions = GetCategoryOptions;\n    const forumV1CategoryCategories_universal_d_getCategoryBySlug: typeof getCategoryBySlug;\n    type forumV1CategoryCategories_universal_d_GetCategoryBySlugOptions = GetCategoryBySlugOptions;\n    const forumV1CategoryCategories_universal_d_queryCategories: typeof queryCategories;\n    type forumV1CategoryCategories_universal_d_QueryCategoriesOptions = QueryCategoriesOptions;\n    type forumV1CategoryCategories_universal_d_MarkAllPostsAsReadOptions = MarkAllPostsAsReadOptions;\n    type forumV1CategoryCategories_universal_d_CreateCategoryOptions = CreateCategoryOptions;\n    type forumV1CategoryCategories_universal_d_UpdateCategoryOptions = UpdateCategoryOptions;\n    const forumV1CategoryCategories_universal_d_subscribeContactToCategory: typeof subscribeContactToCategory;\n    type forumV1CategoryCategories_universal_d_SubscribeContactToCategoryOptions = SubscribeContactToCategoryOptions;\n    const forumV1CategoryCategories_universal_d_unsubscribeContactFromCategory: typeof unsubscribeContactFromCategory;\n    type forumV1CategoryCategories_universal_d_UnsubscribeContactFromCategoryOptions = UnsubscribeContactFromCategoryOptions;\n    namespace forumV1CategoryCategories_universal_d {\n        export { forumV1CategoryCategories_universal_d_Category as Category, forumV1CategoryCategories_universal_d_HeaderType as HeaderType, forumV1CategoryCategories_universal_d_FocalPoint as FocalPoint, forumV1CategoryCategories_universal_d_ColorComponent as ColorComponent, forumV1CategoryCategories_universal_d_PostType as PostType, forumV1CategoryCategories_universal_d_Access as Access, forumV1CategoryCategories_universal_d_Interaction as Interaction, forumV1CategoryCategories_universal_d_Reaction as Reaction, forumV1CategoryCategories_universal_d_ReactionReactionOneOf as ReactionReactionOneOf, forumV1CategoryCategories_universal_d_Type as Type, forumV1CategoryCategories_universal_d_PostInteraction as PostInteraction, forumV1CategoryCategories_universal_d_CommentOrder as CommentOrder, forumV1CategoryCategories_universal_d_SeoSchema as SeoSchema, forumV1CategoryCategories_universal_d_Keyword as Keyword, forumV1CategoryCategories_universal_d_Tag as Tag, forumV1CategoryCategories_universal_d_Settings as Settings, forumV1CategoryCategories_universal_d_CategoryRequest as CategoryRequest, forumV1CategoryCategories_universal_d_CategoryFieldField as CategoryFieldField, forumV1CategoryCategories_universal_d_Field as Field, forumV1CategoryCategories_universal_d_CategoryResponse as CategoryResponse, forumV1CategoryCategories_universal_d_CategorySlugRequest as CategorySlugRequest, forumV1CategoryCategories_universal_d_QueryCategoriesRequest as QueryCategoriesRequest, forumV1CategoryCategories_universal_d_CategoriesPaging as CategoriesPaging, forumV1CategoryCategories_universal_d_CategoriesSort as CategoriesSort, forumV1CategoryCategories_universal_d_Order as Order, forumV1CategoryCategories_universal_d_QueryCategoriesResponse as QueryCategoriesResponse, forumV1CategoryCategories_universal_d_QueryCategoriesResponseMetaData as QueryCategoriesResponseMetaData, forumV1CategoryCategories_universal_d_MarkCategoryReadRequest as MarkCategoryReadRequest, forumV1CategoryCategories_universal_d_MarkCategoryReadResponse as MarkCategoryReadResponse, forumV1CategoryCategories_universal_d_MarkAllPostsAsReadRequest as MarkAllPostsAsReadRequest, forumV1CategoryCategories_universal_d_MarkAllPostsAsReadResponse as MarkAllPostsAsReadResponse, forumV1CategoryCategories_universal_d_CreateCategoryRequest as CreateCategoryRequest, forumV1CategoryCategories_universal_d_UpdateCategoryRequest as UpdateCategoryRequest, forumV1CategoryCategories_universal_d_DeleteCategoryRequest as DeleteCategoryRequest, forumV1CategoryCategories_universal_d_DeleteCategoryResponse as DeleteCategoryResponse, forumV1CategoryCategories_universal_d_SubscribeContactToCategoryRequest as SubscribeContactToCategoryRequest, forumV1CategoryCategories_universal_d_SubscribeContactToCategoryResponse as SubscribeContactToCategoryResponse, forumV1CategoryCategories_universal_d_UnsubscribeContactFromCategoryRequest as UnsubscribeContactFromCategoryRequest, forumV1CategoryCategories_universal_d_UnsubscribeContactFromCategoryResponse as UnsubscribeContactFromCategoryResponse, forumV1CategoryCategories_universal_d_DomainEvent as DomainEvent, forumV1CategoryCategories_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf, forumV1CategoryCategories_universal_d_EntityCreatedEvent as EntityCreatedEvent, forumV1CategoryCategories_universal_d_RestoreInfo as RestoreInfo, forumV1CategoryCategories_universal_d_EntityUpdatedEvent as EntityUpdatedEvent, forumV1CategoryCategories_universal_d_EntityDeletedEvent as EntityDeletedEvent, forumV1CategoryCategories_universal_d_ActionEvent as ActionEvent, forumV1CategoryCategories_universal_d_MessageEnvelope as MessageEnvelope, forumV1CategoryCategories_universal_d_IdentificationData as IdentificationData, forumV1CategoryCategories_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf, forumV1CategoryCategories_universal_d_WebhookIdentityType as WebhookIdentityType, forumV1CategoryCategories_universal_d_getCategory as getCategory, forumV1CategoryCategories_universal_d_GetCategoryOptions as GetCategoryOptions, forumV1CategoryCategories_universal_d_getCategoryBySlug as getCategoryBySlug, forumV1CategoryCategories_universal_d_GetCategoryBySlugOptions as GetCategoryBySlugOptions, forumV1CategoryCategories_universal_d_queryCategories as queryCategories, forumV1CategoryCategories_universal_d_QueryCategoriesOptions as QueryCategoriesOptions, forumV1CategoryCategories_universal_d_MarkAllPostsAsReadOptions as MarkAllPostsAsReadOptions, forumV1CategoryCategories_universal_d_CreateCategoryOptions as CreateCategoryOptions, forumV1CategoryCategories_universal_d_UpdateCategoryOptions as UpdateCategoryOptions, forumV1CategoryCategories_universal_d_subscribeContactToCategory as subscribeContactToCategory, forumV1CategoryCategories_universal_d_SubscribeContactToCategoryOptions as SubscribeContactToCategoryOptions, forumV1CategoryCategories_universal_d_unsubscribeContactFromCategory as unsubscribeContactFromCategory, forumV1CategoryCategories_universal_d_UnsubscribeContactFromCategoryOptions as UnsubscribeContactFromCategoryOptions, };\n    }\n    export { forumV1CategoryCategories_universal_d as categories, forumV1PostPosts_universal_d as posts };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/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    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        /** 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    interface EntityDeletedEvent {\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     * 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     * @permissionScope Manage Activity Counters\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-ACTIVITY-COUNTERS\n     * @applicableIdentity APP\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     * @permissionScope Manage Activity Counters\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-ACTIVITY-COUNTERS\n     * @applicableIdentity APP\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     * @permissionScope Manage Activity Counters\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-ACTIVITY-COUNTERS\n     * @permissionScope Read Activity Counters\n     * @permissionScopeId SCOPE.DC-MEMBERS.READ-ACTIVITY-COUNTERS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Activity Counters\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-ACTIVITY-COUNTERS\n     * @permissionScope Read Activity Counters\n     * @permissionScopeId SCOPE.DC-MEMBERS.READ-ACTIVITY-COUNTERS\n     * @permissionId MEMBERS.ACTIVITY_COUNTERS_READ\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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    type membersV1ActivityCounterActivityCounters_universal_d_ActivityCounter = ActivityCounter;\n    type membersV1ActivityCounterActivityCounters_universal_d_Counter = Counter;\n    type membersV1ActivityCounterActivityCounters_universal_d_SetActivityCountersRequest = SetActivityCountersRequest;\n    type membersV1ActivityCounterActivityCounters_universal_d_SetActivityCountersResponse = SetActivityCountersResponse;\n    type membersV1ActivityCounterActivityCounters_universal_d_IncrementActivityCountersRequest = IncrementActivityCountersRequest;\n    type membersV1ActivityCounterActivityCounters_universal_d_IncrementActivityCountersResponse = IncrementActivityCountersResponse;\n    type membersV1ActivityCounterActivityCounters_universal_d_GetActivityCountersRequest = GetActivityCountersRequest;\n    type membersV1ActivityCounterActivityCounters_universal_d_GetActivityCountersResponse = GetActivityCountersResponse;\n    type membersV1ActivityCounterActivityCounters_universal_d_QueryActivityCountersRequest = QueryActivityCountersRequest;\n    type membersV1ActivityCounterActivityCounters_universal_d_Query = Query;\n    type membersV1ActivityCounterActivityCounters_universal_d_Paging = Paging;\n    type membersV1ActivityCounterActivityCounters_universal_d_QueryActivityCountersResponse = QueryActivityCountersResponse;\n    type membersV1ActivityCounterActivityCounters_universal_d_PagingMetadata = PagingMetadata;\n    type membersV1ActivityCounterActivityCounters_universal_d_DomainEvent = DomainEvent;\n    type membersV1ActivityCounterActivityCounters_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n    type membersV1ActivityCounterActivityCounters_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n    type membersV1ActivityCounterActivityCounters_universal_d_RestoreInfo = RestoreInfo;\n    type membersV1ActivityCounterActivityCounters_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n    type membersV1ActivityCounterActivityCounters_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n    type membersV1ActivityCounterActivityCounters_universal_d_ActionEvent = ActionEvent;\n    type membersV1ActivityCounterActivityCounters_universal_d_Empty = Empty;\n    type membersV1ActivityCounterActivityCounters_universal_d_MessageEnvelope = MessageEnvelope;\n    type membersV1ActivityCounterActivityCounters_universal_d_IdentificationData = IdentificationData;\n    type membersV1ActivityCounterActivityCounters_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n    type membersV1ActivityCounterActivityCounters_universal_d_WebhookIdentityType = WebhookIdentityType;\n    const membersV1ActivityCounterActivityCounters_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n    const membersV1ActivityCounterActivityCounters_universal_d_setActivityCounters: typeof setActivityCounters;\n    const membersV1ActivityCounterActivityCounters_universal_d_incrementActivityCounters: typeof incrementActivityCounters;\n    const membersV1ActivityCounterActivityCounters_universal_d_getActivityCounters: typeof getActivityCounters;\n    const membersV1ActivityCounterActivityCounters_universal_d_queryActivityCounters: typeof queryActivityCounters;\n    type membersV1ActivityCounterActivityCounters_universal_d_ActivityCountersQueryResult = ActivityCountersQueryResult;\n    type membersV1ActivityCounterActivityCounters_universal_d_ActivityCountersQueryBuilder = ActivityCountersQueryBuilder;\n    namespace membersV1ActivityCounterActivityCounters_universal_d {\n        export { membersV1ActivityCounterActivityCounters_universal_d_ActivityCounter as ActivityCounter, membersV1ActivityCounterActivityCounters_universal_d_Counter as Counter, membersV1ActivityCounterActivityCounters_universal_d_SetActivityCountersRequest as SetActivityCountersRequest, membersV1ActivityCounterActivityCounters_universal_d_SetActivityCountersResponse as SetActivityCountersResponse, membersV1ActivityCounterActivityCounters_universal_d_IncrementActivityCountersRequest as IncrementActivityCountersRequest, membersV1ActivityCounterActivityCounters_universal_d_IncrementActivityCountersResponse as IncrementActivityCountersResponse, membersV1ActivityCounterActivityCounters_universal_d_GetActivityCountersRequest as GetActivityCountersRequest, membersV1ActivityCounterActivityCounters_universal_d_GetActivityCountersResponse as GetActivityCountersResponse, membersV1ActivityCounterActivityCounters_universal_d_QueryActivityCountersRequest as QueryActivityCountersRequest, membersV1ActivityCounterActivityCounters_universal_d_Query as Query, membersV1ActivityCounterActivityCounters_universal_d_Paging as Paging, membersV1ActivityCounterActivityCounters_universal_d_QueryActivityCountersResponse as QueryActivityCountersResponse, membersV1ActivityCounterActivityCounters_universal_d_PagingMetadata as PagingMetadata, membersV1ActivityCounterActivityCounters_universal_d_DomainEvent as DomainEvent, membersV1ActivityCounterActivityCounters_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf, membersV1ActivityCounterActivityCounters_universal_d_EntityCreatedEvent as EntityCreatedEvent, membersV1ActivityCounterActivityCounters_universal_d_RestoreInfo as RestoreInfo, membersV1ActivityCounterActivityCounters_universal_d_EntityUpdatedEvent as EntityUpdatedEvent, membersV1ActivityCounterActivityCounters_universal_d_EntityDeletedEvent as EntityDeletedEvent, membersV1ActivityCounterActivityCounters_universal_d_ActionEvent as ActionEvent, membersV1ActivityCounterActivityCounters_universal_d_Empty as Empty, membersV1ActivityCounterActivityCounters_universal_d_MessageEnvelope as MessageEnvelope, membersV1ActivityCounterActivityCounters_universal_d_IdentificationData as IdentificationData, membersV1ActivityCounterActivityCounters_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf, membersV1ActivityCounterActivityCounters_universal_d_WebhookIdentityType as WebhookIdentityType, membersV1ActivityCounterActivityCounters_universal_d_setActivityCounters as setActivityCounters, membersV1ActivityCounterActivityCounters_universal_d_incrementActivityCounters as incrementActivityCounters, membersV1ActivityCounterActivityCounters_universal_d_getActivityCounters as getActivityCounters, membersV1ActivityCounterActivityCounters_universal_d_queryActivityCounters as queryActivityCounters, membersV1ActivityCounterActivityCounters_universal_d_ActivityCountersQueryResult as ActivityCountersQueryResult, membersV1ActivityCounterActivityCounters_universal_d_ActivityCountersQueryBuilder as ActivityCountersQueryBuilder, };\n    }\n    export { membersV1ActivityCounterActivityCounters_universal_d as activityCounters };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-loyalty.v2.d.ts",
      "content": "declare module \"wix-loyalty.v2\" {\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         * Reward ID.\n         * @readonly\n         */\n        _id?: string | null;\n        /** Reward name. */\n        name?: string;\n        /** Whether the reward is active. Default: `FALSE` */\n        active?: boolean;\n        /**\n         * Reward type.\n         *\n         * + `DISCOUNT_AMOUNT`: Discount reward. Special flexible reward type used in checkout.\n         * + `COUPON_REWARD`: Coupon reward. [Learn more about coupons.](https://support.wix.com/en/article/using-coupons-as-loyalty-rewards)\n         * + `SPI_DISCOUNT_AMOUNT`: Same as discount reward, provided by an SPI implementation - i.e. Functions, Velo, etc.\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    }\n    /** Available reward types. */\n    enum RewardType {\n        UNDEFINED = \"UNDEFINED\",\n        DISCOUNT_AMOUNT = \"DISCOUNT_AMOUNT\",\n        COUPON_REWARD = \"COUPON_REWARD\",\n        SPI_DISCOUNT_AMOUNT = \"SPI_DISCOUNT_AMOUNT\"\n    }\n    interface DiscountAmount {\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$3;\n    }\n    interface BulkRewardResult {\n        /** Item metadata. */\n        itemMetadata?: ItemMetadata$3;\n        /** Created reward. */\n        item?: Reward;\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 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$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$3[];\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$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 QueryRewardsResponse {\n        /** Retrieved loyalty rewards. */\n        rewards?: Reward[];\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        /** 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 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$3;\n    }\n    interface ListRewardsResponse {\n        /** Retrieved loyalty rewards. */\n        rewards?: Reward[];\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$3;\n    }\n    interface ListRewardsInTierRequest {\n        /**\n         * Tier id.\n         * @readonly\n         */\n        tierId?: string | null;\n        /** Pagination options. */\n        cursorPaging?: CursorPaging$3;\n    }\n    interface ListRewardsInTierResponse {\n        /** Retrieved loyalty rewards. */\n        rewards?: Reward[];\n        /** Details on the paged set of results returned. */\n        pagingMetadata?: PagingMetadataV2$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;\n        /**\n         * Whether the event was triggered as a result of a privacy regulation application\n         * (for example, GDPR).\n         */\n        triggeredByAnonymizeRequest?: boolean | null;\n        /** If present, indicates the action that triggered the event. */\n        originatedFrom?: string | null;\n        /**\n         * A sequence number defining the order of updates to the underlying entity.\n         * For example, given that some entity was updated at 16:00 and than again at 16:01,\n         * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n         * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n         * To do so, you will need to persist this number on your end, and compare the sequence number from the\n         * message against the one you have 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        /** 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$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    interface EntityDeletedEvent$5 {\n        /** Entity that was deleted */\n        deletedEntityAsJson?: 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 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     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\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     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\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     * @permissionScope Read Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.READ-LOYALTY\n     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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     * @permissionScope Read Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.READ-LOYALTY\n     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function queryRewards(query: CursorQuery$2): 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     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\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         * Reward ID.\n         * @readonly\n         */\n        _id?: string | null;\n        /** Reward name. */\n        name?: string;\n        /** Whether the reward is active. Default: `FALSE` */\n        active?: boolean;\n        /**\n         * Reward type.\n         *\n         * + `DISCOUNT_AMOUNT`: Discount reward. Special flexible reward type used in checkout.\n         * + `COUPON_REWARD`: Coupon reward. [Learn more about coupons.](https://support.wix.com/en/article/using-coupons-as-loyalty-rewards)\n         * + `SPI_DISCOUNT_AMOUNT`: Same as discount reward, provided by an SPI implementation - i.e. Functions, Velo, etc.\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     * @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     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\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     * @permissionScope Read Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.READ-LOYALTY\n     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function listRewards(options?: ListRewardsOptions): Promise<ListRewardsResponse>;\n    interface ListRewardsOptions {\n        /** Pagination options. */\n        cursorPaging?: CursorPaging$3;\n    }\n    interface ListRewardsInTierOptions {\n        /**\n         * Tier id.\n         * @readonly\n         */\n        tierId?: string | null;\n        /** Pagination options. */\n        cursorPaging?: CursorPaging$3;\n    }\n    type loyaltyV1RewardRewards_universal_d_Reward = Reward;\n    type loyaltyV1RewardRewards_universal_d_RewardTypeDetailsOneOf = RewardTypeDetailsOneOf;\n    type loyaltyV1RewardRewards_universal_d_RewardType = RewardType;\n    const loyaltyV1RewardRewards_universal_d_RewardType: typeof RewardType;\n    type loyaltyV1RewardRewards_universal_d_DiscountAmount = DiscountAmount;\n    type loyaltyV1RewardRewards_universal_d_DiscountAmountConfig = DiscountAmountConfig;\n    type loyaltyV1RewardRewards_universal_d_CouponReward = CouponReward;\n    type loyaltyV1RewardRewards_universal_d_CouponRewardDiscountTypeOneOf = CouponRewardDiscountTypeOneOf;\n    type loyaltyV1RewardRewards_universal_d_CouponRewardScopeOrMinSubtotalOneOf = CouponRewardScopeOrMinSubtotalOneOf;\n    type loyaltyV1RewardRewards_universal_d_FixedAmountDiscount = FixedAmountDiscount;\n    type loyaltyV1RewardRewards_universal_d_FixedAmountDiscountConfig = FixedAmountDiscountConfig;\n    type loyaltyV1RewardRewards_universal_d_PercentageDiscount = PercentageDiscount;\n    type loyaltyV1RewardRewards_universal_d_PercentageDiscountConfig = PercentageDiscountConfig;\n    type loyaltyV1RewardRewards_universal_d_FreeShippingDiscount = FreeShippingDiscount;\n    type loyaltyV1RewardRewards_universal_d_FreeShippingDiscountConfig = FreeShippingDiscountConfig;\n    type loyaltyV1RewardRewards_universal_d_CouponScope = CouponScope;\n    type loyaltyV1RewardRewards_universal_d_Group = Group;\n    type loyaltyV1RewardRewards_universal_d_SpiDiscountAmount = SpiDiscountAmount;\n    type loyaltyV1RewardRewards_universal_d_RewardDisabled = RewardDisabled;\n    type loyaltyV1RewardRewards_universal_d_CreateRewardRequest = CreateRewardRequest;\n    type loyaltyV1RewardRewards_universal_d_CreateRewardResponse = CreateRewardResponse;\n    type loyaltyV1RewardRewards_universal_d_BulkCreateRewardsRequest = BulkCreateRewardsRequest;\n    type loyaltyV1RewardRewards_universal_d_BulkCreateRewardsResponse = BulkCreateRewardsResponse;\n    type loyaltyV1RewardRewards_universal_d_BulkRewardResult = BulkRewardResult;\n    type loyaltyV1RewardRewards_universal_d_GetRewardRequest = GetRewardRequest;\n    type loyaltyV1RewardRewards_universal_d_GetRewardResponse = GetRewardResponse;\n    type loyaltyV1RewardRewards_universal_d_BulkGetRewardsRequest = BulkGetRewardsRequest;\n    type loyaltyV1RewardRewards_universal_d_BulkGetRewardsResponse = BulkGetRewardsResponse;\n    type loyaltyV1RewardRewards_universal_d_RewardsInSite = RewardsInSite;\n    type loyaltyV1RewardRewards_universal_d_QueryRewardsRequest = QueryRewardsRequest;\n    type loyaltyV1RewardRewards_universal_d_QueryRewardsResponse = QueryRewardsResponse;\n    type loyaltyV1RewardRewards_universal_d_UpdateRewardRequest = UpdateRewardRequest;\n    type loyaltyV1RewardRewards_universal_d_UpdateRewardResponse = UpdateRewardResponse;\n    type loyaltyV1RewardRewards_universal_d_DeleteRewardRequest = DeleteRewardRequest;\n    type loyaltyV1RewardRewards_universal_d_DeleteRewardResponse = DeleteRewardResponse;\n    type loyaltyV1RewardRewards_universal_d_ListRewardsRequest = ListRewardsRequest;\n    type loyaltyV1RewardRewards_universal_d_ListRewardsResponse = ListRewardsResponse;\n    type loyaltyV1RewardRewards_universal_d_ListRewardsInTierRequest = ListRewardsInTierRequest;\n    type loyaltyV1RewardRewards_universal_d_ListRewardsInTierResponse = ListRewardsInTierResponse;\n    const loyaltyV1RewardRewards_universal_d_createReward: typeof createReward;\n    const loyaltyV1RewardRewards_universal_d_bulkCreateRewards: typeof bulkCreateRewards;\n    const loyaltyV1RewardRewards_universal_d_getReward: typeof getReward;\n    const loyaltyV1RewardRewards_universal_d_bulkGetRewards: typeof bulkGetRewards;\n    const loyaltyV1RewardRewards_universal_d_queryRewards: typeof queryRewards;\n    const loyaltyV1RewardRewards_universal_d_updateReward: typeof updateReward;\n    type loyaltyV1RewardRewards_universal_d_UpdateReward = UpdateReward;\n    const loyaltyV1RewardRewards_universal_d_deleteReward: typeof deleteReward;\n    const loyaltyV1RewardRewards_universal_d_listRewards: typeof listRewards;\n    type loyaltyV1RewardRewards_universal_d_ListRewardsOptions = ListRewardsOptions;\n    type loyaltyV1RewardRewards_universal_d_ListRewardsInTierOptions = ListRewardsInTierOptions;\n    namespace loyaltyV1RewardRewards_universal_d {\n        export { loyaltyV1RewardRewards_universal_d_Reward as Reward, loyaltyV1RewardRewards_universal_d_RewardTypeDetailsOneOf as RewardTypeDetailsOneOf, loyaltyV1RewardRewards_universal_d_RewardType as RewardType, loyaltyV1RewardRewards_universal_d_DiscountAmount as DiscountAmount, loyaltyV1RewardRewards_universal_d_DiscountAmountConfig as DiscountAmountConfig, loyaltyV1RewardRewards_universal_d_CouponReward as CouponReward, loyaltyV1RewardRewards_universal_d_CouponRewardDiscountTypeOneOf as CouponRewardDiscountTypeOneOf, loyaltyV1RewardRewards_universal_d_CouponRewardScopeOrMinSubtotalOneOf as CouponRewardScopeOrMinSubtotalOneOf, loyaltyV1RewardRewards_universal_d_FixedAmountDiscount as FixedAmountDiscount, loyaltyV1RewardRewards_universal_d_FixedAmountDiscountConfig as FixedAmountDiscountConfig, loyaltyV1RewardRewards_universal_d_PercentageDiscount as PercentageDiscount, loyaltyV1RewardRewards_universal_d_PercentageDiscountConfig as PercentageDiscountConfig, loyaltyV1RewardRewards_universal_d_FreeShippingDiscount as FreeShippingDiscount, loyaltyV1RewardRewards_universal_d_FreeShippingDiscountConfig as FreeShippingDiscountConfig, loyaltyV1RewardRewards_universal_d_CouponScope as CouponScope, loyaltyV1RewardRewards_universal_d_Group as Group, loyaltyV1RewardRewards_universal_d_SpiDiscountAmount as SpiDiscountAmount, loyaltyV1RewardRewards_universal_d_RewardDisabled as RewardDisabled, loyaltyV1RewardRewards_universal_d_CreateRewardRequest as CreateRewardRequest, loyaltyV1RewardRewards_universal_d_CreateRewardResponse as CreateRewardResponse, loyaltyV1RewardRewards_universal_d_BulkCreateRewardsRequest as BulkCreateRewardsRequest, loyaltyV1RewardRewards_universal_d_BulkCreateRewardsResponse as BulkCreateRewardsResponse, loyaltyV1RewardRewards_universal_d_BulkRewardResult as BulkRewardResult, ItemMetadata$3 as ItemMetadata, ApplicationError$3 as ApplicationError, BulkActionMetadata$3 as BulkActionMetadata, loyaltyV1RewardRewards_universal_d_GetRewardRequest as GetRewardRequest, loyaltyV1RewardRewards_universal_d_GetRewardResponse as GetRewardResponse, loyaltyV1RewardRewards_universal_d_BulkGetRewardsRequest as BulkGetRewardsRequest, loyaltyV1RewardRewards_universal_d_BulkGetRewardsResponse as BulkGetRewardsResponse, loyaltyV1RewardRewards_universal_d_RewardsInSite as RewardsInSite, loyaltyV1RewardRewards_universal_d_QueryRewardsRequest as QueryRewardsRequest, CursorQuery$2 as CursorQuery, CursorQueryPagingMethodOneOf$2 as CursorQueryPagingMethodOneOf, Sorting$3 as Sorting, SortOrder$3 as SortOrder, CursorPaging$3 as CursorPaging, loyaltyV1RewardRewards_universal_d_QueryRewardsResponse as QueryRewardsResponse, CursorPagingMetadata$2 as CursorPagingMetadata, Cursors$3 as Cursors, loyaltyV1RewardRewards_universal_d_UpdateRewardRequest as UpdateRewardRequest, loyaltyV1RewardRewards_universal_d_UpdateRewardResponse as UpdateRewardResponse, loyaltyV1RewardRewards_universal_d_DeleteRewardRequest as DeleteRewardRequest, loyaltyV1RewardRewards_universal_d_DeleteRewardResponse as DeleteRewardResponse, loyaltyV1RewardRewards_universal_d_ListRewardsRequest as ListRewardsRequest, loyaltyV1RewardRewards_universal_d_ListRewardsResponse as ListRewardsResponse, PagingMetadataV2$2 as PagingMetadataV2, loyaltyV1RewardRewards_universal_d_ListRewardsInTierRequest as ListRewardsInTierRequest, loyaltyV1RewardRewards_universal_d_ListRewardsInTierResponse as ListRewardsInTierResponse, DomainEvent$5 as DomainEvent, DomainEventBodyOneOf$5 as DomainEventBodyOneOf, EntityCreatedEvent$5 as EntityCreatedEvent, RestoreInfo$5 as RestoreInfo, EntityUpdatedEvent$5 as EntityUpdatedEvent, EntityDeletedEvent$5 as EntityDeletedEvent, ActionEvent$5 as ActionEvent, Empty$5 as Empty, MessageEnvelope$5 as MessageEnvelope, IdentificationData$5 as IdentificationData, IdentificationDataIdOneOf$5 as IdentificationDataIdOneOf, WebhookIdentityType$5 as WebhookIdentityType, loyaltyV1RewardRewards_universal_d_createReward as createReward, loyaltyV1RewardRewards_universal_d_bulkCreateRewards as bulkCreateRewards, loyaltyV1RewardRewards_universal_d_getReward as getReward, loyaltyV1RewardRewards_universal_d_bulkGetRewards as bulkGetRewards, loyaltyV1RewardRewards_universal_d_queryRewards as queryRewards, loyaltyV1RewardRewards_universal_d_updateReward as updateReward, loyaltyV1RewardRewards_universal_d_UpdateReward as UpdateReward, loyaltyV1RewardRewards_universal_d_deleteReward as deleteReward, loyaltyV1RewardRewards_universal_d_listRewards as listRewards, loyaltyV1RewardRewards_universal_d_ListRewardsOptions as ListRewardsOptions, loyaltyV1RewardRewards_universal_d_ListRewardsInTierOptions as ListRewardsInTierOptions, };\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        /** Points expiration configuration */\n        pointsExpiration?: PointsExpiration$1;\n        /**\n         * Information about available premium features\n         * @readonly\n         */\n        premiumFeatures?: PremiumFeatures;\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    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 PointsExpiration$1 {\n        /**\n         * Status of points expiration feature\n         * @readonly\n         */\n        status?: Status$3;\n        /** Expire points after set months of inactivity */\n        monthsOfInactivity?: number;\n        /** Percentage of points expiring */\n        expiringPointsPercentage?: number;\n    }\n    enum Status$3 {\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 EarningRuleDisabled {\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;\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        /** 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    /** 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$4 {\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 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        /** 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$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    interface EntityDeletedEvent$4 {\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     * 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     * @permissionScope Read Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.READ-LOYALTY\n     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\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     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function activateLoyaltyProgram(): Promise<ActivateLoyaltyProgramResponse>;\n    /**\n     * Changes the program status to `PAUSED`.\n     * @public\n     * @permissionId LOYALTY.MANAGE_PROGRAM\n     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function pauseLoyaltyProgram(): Promise<PauseLoyaltyProgramResponse>;\n    interface GetLoyaltyProgramDescriptionOptions {\n        /** List of description fields to retrieve. Supported values: `description`, `updatedDate`. */\n        fields?: string[];\n    }\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     * @permissionScope Read Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.READ-LOYALTY\n     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function getLoyaltyProgramPremiumFeatures(): Promise<GetLoyaltyProgramPremiumFeaturesResponse>;\n    /**\n     * Updates the `pointsExpiration` status to `ENABLED`.\n     * @public\n     * @permissionId LOYALTY.MANAGE_PROGRAM\n     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function enablePointsExpiration(): Promise<EnablePointsExpirationResponse>;\n    /**\n     * Updates the `pointsExpiration` status to `DISABLED`.\n     * @public\n     * @permissionId LOYALTY.MANAGE_PROGRAM\n     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function disablePointsExpiration(): Promise<DisablePointsExpirationResponse>;\n    type loyaltyV1ProgramPrograms_universal_d_LoyaltyProgram = LoyaltyProgram;\n    type loyaltyV1ProgramPrograms_universal_d_PointDefinition = PointDefinition;\n    type loyaltyV1ProgramPrograms_universal_d_ProgramStatus = ProgramStatus;\n    const loyaltyV1ProgramPrograms_universal_d_ProgramStatus: typeof ProgramStatus;\n    type loyaltyV1ProgramPrograms_universal_d_PremiumFeatures = PremiumFeatures;\n    type loyaltyV1ProgramPrograms_universal_d_EarningRuleDisabled = EarningRuleDisabled;\n    type loyaltyV1ProgramPrograms_universal_d_GetLoyaltyProgramRequest = GetLoyaltyProgramRequest;\n    type loyaltyV1ProgramPrograms_universal_d_GetLoyaltyProgramResponse = GetLoyaltyProgramResponse;\n    type loyaltyV1ProgramPrograms_universal_d_BulkGetLoyaltyProgramRequest = BulkGetLoyaltyProgramRequest;\n    type loyaltyV1ProgramPrograms_universal_d_BulkGetLoyaltyProgramResponse = BulkGetLoyaltyProgramResponse;\n    type loyaltyV1ProgramPrograms_universal_d_ProgramInSite = ProgramInSite;\n    type loyaltyV1ProgramPrograms_universal_d_UpdateLoyaltyProgramRequest = UpdateLoyaltyProgramRequest;\n    type loyaltyV1ProgramPrograms_universal_d_UpdateLoyaltyProgramResponse = UpdateLoyaltyProgramResponse;\n    type loyaltyV1ProgramPrograms_universal_d_PointsExpirationConfigurationChanged = PointsExpirationConfigurationChanged;\n    type loyaltyV1ProgramPrograms_universal_d_PointsExpirationChanges = PointsExpirationChanges;\n    type loyaltyV1ProgramPrograms_universal_d_ActivateLoyaltyProgramRequest = ActivateLoyaltyProgramRequest;\n    type loyaltyV1ProgramPrograms_universal_d_ActivateLoyaltyProgramResponse = ActivateLoyaltyProgramResponse;\n    type loyaltyV1ProgramPrograms_universal_d_LoyaltyProgramActivated = LoyaltyProgramActivated;\n    type loyaltyV1ProgramPrograms_universal_d_PauseLoyaltyProgramRequest = PauseLoyaltyProgramRequest;\n    type loyaltyV1ProgramPrograms_universal_d_PauseLoyaltyProgramResponse = PauseLoyaltyProgramResponse;\n    type loyaltyV1ProgramPrograms_universal_d_GetLoyaltyProgramDescriptionRequest = GetLoyaltyProgramDescriptionRequest;\n    type loyaltyV1ProgramPrograms_universal_d_GetLoyaltyProgramDescriptionResponse = GetLoyaltyProgramDescriptionResponse;\n    type loyaltyV1ProgramPrograms_universal_d_UpdateLoyaltyProgramDescriptionRequest = UpdateLoyaltyProgramDescriptionRequest;\n    type loyaltyV1ProgramPrograms_universal_d_UpdateLoyaltyProgramDescriptionResponse = UpdateLoyaltyProgramDescriptionResponse;\n    type loyaltyV1ProgramPrograms_universal_d_LoyaltyProgramDescriptionUpdated = LoyaltyProgramDescriptionUpdated;\n    type loyaltyV1ProgramPrograms_universal_d_GetLoyaltyProgramPremiumFeaturesRequest = GetLoyaltyProgramPremiumFeaturesRequest;\n    type loyaltyV1ProgramPrograms_universal_d_GetLoyaltyProgramPremiumFeaturesResponse = GetLoyaltyProgramPremiumFeaturesResponse;\n    type loyaltyV1ProgramPrograms_universal_d_EnablePointsExpirationRequest = EnablePointsExpirationRequest;\n    type loyaltyV1ProgramPrograms_universal_d_EnablePointsExpirationResponse = EnablePointsExpirationResponse;\n    type loyaltyV1ProgramPrograms_universal_d_PointsExpirationEnabled = PointsExpirationEnabled;\n    type loyaltyV1ProgramPrograms_universal_d_DisablePointsExpirationRequest = DisablePointsExpirationRequest;\n    type loyaltyV1ProgramPrograms_universal_d_DisablePointsExpirationResponse = DisablePointsExpirationResponse;\n    type loyaltyV1ProgramPrograms_universal_d_PointsExpirationDisabled = PointsExpirationDisabled;\n    type loyaltyV1ProgramPrograms_universal_d_FeatureEvent = FeatureEvent;\n    type loyaltyV1ProgramPrograms_universal_d_FeatureEventEventOneOf = FeatureEventEventOneOf;\n    type loyaltyV1ProgramPrograms_universal_d_FeatureEnabled = FeatureEnabled;\n    type loyaltyV1ProgramPrograms_universal_d_FeatureEnabledReasonOneOf = FeatureEnabledReasonOneOf;\n    type loyaltyV1ProgramPrograms_universal_d_Feature = Feature;\n    type loyaltyV1ProgramPrograms_universal_d_FeatureQuantityInfoOneOf = FeatureQuantityInfoOneOf;\n    type loyaltyV1ProgramPrograms_universal_d_FeatureContext = FeatureContext;\n    type loyaltyV1ProgramPrograms_universal_d_BooleanFeature = BooleanFeature;\n    type loyaltyV1ProgramPrograms_universal_d_QuotaFeature = QuotaFeature;\n    type loyaltyV1ProgramPrograms_universal_d_FeaturePeriod = FeaturePeriod;\n    const loyaltyV1ProgramPrograms_universal_d_FeaturePeriod: typeof FeaturePeriod;\n    type loyaltyV1ProgramPrograms_universal_d_QuotaInfo = QuotaInfo;\n    type loyaltyV1ProgramPrograms_universal_d_TransferredFromAnotherAccountReason = TransferredFromAnotherAccountReason;\n    type loyaltyV1ProgramPrograms_universal_d_ReassignedFromSiteReason = ReassignedFromSiteReason;\n    type loyaltyV1ProgramPrograms_universal_d_AssignedFromFloatingReason = AssignedFromFloatingReason;\n    type loyaltyV1ProgramPrograms_universal_d_NewFeatureReason = NewFeatureReason;\n    type loyaltyV1ProgramPrograms_universal_d_ContractSwitchedReason = ContractSwitchedReason;\n    type loyaltyV1ProgramPrograms_universal_d_ManualFeatureCreationReason = ManualFeatureCreationReason;\n    type loyaltyV1ProgramPrograms_universal_d_MigratedFromLegacyReason = MigratedFromLegacyReason;\n    type loyaltyV1ProgramPrograms_universal_d_FeatureDisabled = FeatureDisabled;\n    type loyaltyV1ProgramPrograms_universal_d_FeatureDisabledReasonOneOf = FeatureDisabledReasonOneOf;\n    type loyaltyV1ProgramPrograms_universal_d_UnAssingedToFloatingReason = UnAssingedToFloatingReason;\n    type loyaltyV1ProgramPrograms_universal_d_ReplacedByAnotherSubscriptionReason = ReplacedByAnotherSubscriptionReason;\n    type loyaltyV1ProgramPrograms_universal_d_ReassignedToAnotherSiteReason = ReassignedToAnotherSiteReason;\n    type loyaltyV1ProgramPrograms_universal_d_FeatureUpdated = FeatureUpdated;\n    type loyaltyV1ProgramPrograms_universal_d_FeatureUpdatedPreviousQuantityInfoOneOf = FeatureUpdatedPreviousQuantityInfoOneOf;\n    type loyaltyV1ProgramPrograms_universal_d_FeatureUpdatedReasonOneOf = FeatureUpdatedReasonOneOf;\n    type loyaltyV1ProgramPrograms_universal_d_FeatureCancelled = FeatureCancelled;\n    type loyaltyV1ProgramPrograms_universal_d_FeatureCancelledReasonOneOf = FeatureCancelledReasonOneOf;\n    type loyaltyV1ProgramPrograms_universal_d_TransferredToAnotherAccountReason = TransferredToAnotherAccountReason;\n    type loyaltyV1ProgramPrograms_universal_d_CancelRequestedReason = CancelRequestedReason;\n    const loyaltyV1ProgramPrograms_universal_d_getLoyaltyProgram: typeof getLoyaltyProgram;\n    const loyaltyV1ProgramPrograms_universal_d_bulkGetLoyaltyProgram: typeof bulkGetLoyaltyProgram;\n    const loyaltyV1ProgramPrograms_universal_d_updateLoyaltyProgram: typeof updateLoyaltyProgram;\n    const loyaltyV1ProgramPrograms_universal_d_activateLoyaltyProgram: typeof activateLoyaltyProgram;\n    const loyaltyV1ProgramPrograms_universal_d_pauseLoyaltyProgram: typeof pauseLoyaltyProgram;\n    type loyaltyV1ProgramPrograms_universal_d_GetLoyaltyProgramDescriptionOptions = GetLoyaltyProgramDescriptionOptions;\n    type loyaltyV1ProgramPrograms_universal_d_UpdateLoyaltyProgramDescriptionOptions = UpdateLoyaltyProgramDescriptionOptions;\n    const loyaltyV1ProgramPrograms_universal_d_getLoyaltyProgramPremiumFeatures: typeof getLoyaltyProgramPremiumFeatures;\n    const loyaltyV1ProgramPrograms_universal_d_enablePointsExpiration: typeof enablePointsExpiration;\n    const loyaltyV1ProgramPrograms_universal_d_disablePointsExpiration: typeof disablePointsExpiration;\n    namespace loyaltyV1ProgramPrograms_universal_d {\n        export { loyaltyV1ProgramPrograms_universal_d_LoyaltyProgram as LoyaltyProgram, loyaltyV1ProgramPrograms_universal_d_PointDefinition as PointDefinition, loyaltyV1ProgramPrograms_universal_d_ProgramStatus as ProgramStatus, PointsExpiration$1 as PointsExpiration, Status$3 as Status, loyaltyV1ProgramPrograms_universal_d_PremiumFeatures as PremiumFeatures, loyaltyV1ProgramPrograms_universal_d_EarningRuleDisabled as EarningRuleDisabled, loyaltyV1ProgramPrograms_universal_d_GetLoyaltyProgramRequest as GetLoyaltyProgramRequest, loyaltyV1ProgramPrograms_universal_d_GetLoyaltyProgramResponse as GetLoyaltyProgramResponse, loyaltyV1ProgramPrograms_universal_d_BulkGetLoyaltyProgramRequest as BulkGetLoyaltyProgramRequest, loyaltyV1ProgramPrograms_universal_d_BulkGetLoyaltyProgramResponse as BulkGetLoyaltyProgramResponse, loyaltyV1ProgramPrograms_universal_d_ProgramInSite as ProgramInSite, loyaltyV1ProgramPrograms_universal_d_UpdateLoyaltyProgramRequest as UpdateLoyaltyProgramRequest, loyaltyV1ProgramPrograms_universal_d_UpdateLoyaltyProgramResponse as UpdateLoyaltyProgramResponse, loyaltyV1ProgramPrograms_universal_d_PointsExpirationConfigurationChanged as PointsExpirationConfigurationChanged, loyaltyV1ProgramPrograms_universal_d_PointsExpirationChanges as PointsExpirationChanges, loyaltyV1ProgramPrograms_universal_d_ActivateLoyaltyProgramRequest as ActivateLoyaltyProgramRequest, loyaltyV1ProgramPrograms_universal_d_ActivateLoyaltyProgramResponse as ActivateLoyaltyProgramResponse, loyaltyV1ProgramPrograms_universal_d_LoyaltyProgramActivated as LoyaltyProgramActivated, loyaltyV1ProgramPrograms_universal_d_PauseLoyaltyProgramRequest as PauseLoyaltyProgramRequest, loyaltyV1ProgramPrograms_universal_d_PauseLoyaltyProgramResponse as PauseLoyaltyProgramResponse, loyaltyV1ProgramPrograms_universal_d_GetLoyaltyProgramDescriptionRequest as GetLoyaltyProgramDescriptionRequest, loyaltyV1ProgramPrograms_universal_d_GetLoyaltyProgramDescriptionResponse as GetLoyaltyProgramDescriptionResponse, loyaltyV1ProgramPrograms_universal_d_UpdateLoyaltyProgramDescriptionRequest as UpdateLoyaltyProgramDescriptionRequest, loyaltyV1ProgramPrograms_universal_d_UpdateLoyaltyProgramDescriptionResponse as UpdateLoyaltyProgramDescriptionResponse, loyaltyV1ProgramPrograms_universal_d_LoyaltyProgramDescriptionUpdated as LoyaltyProgramDescriptionUpdated, loyaltyV1ProgramPrograms_universal_d_GetLoyaltyProgramPremiumFeaturesRequest as GetLoyaltyProgramPremiumFeaturesRequest, loyaltyV1ProgramPrograms_universal_d_GetLoyaltyProgramPremiumFeaturesResponse as GetLoyaltyProgramPremiumFeaturesResponse, loyaltyV1ProgramPrograms_universal_d_EnablePointsExpirationRequest as EnablePointsExpirationRequest, loyaltyV1ProgramPrograms_universal_d_EnablePointsExpirationResponse as EnablePointsExpirationResponse, loyaltyV1ProgramPrograms_universal_d_PointsExpirationEnabled as PointsExpirationEnabled, loyaltyV1ProgramPrograms_universal_d_DisablePointsExpirationRequest as DisablePointsExpirationRequest, loyaltyV1ProgramPrograms_universal_d_DisablePointsExpirationResponse as DisablePointsExpirationResponse, loyaltyV1ProgramPrograms_universal_d_PointsExpirationDisabled as PointsExpirationDisabled, MetaSiteSpecialEvent$1 as MetaSiteSpecialEvent, MetaSiteSpecialEventPayloadOneOf$1 as MetaSiteSpecialEventPayloadOneOf, Asset$1 as Asset, State$1 as State, SiteCreated$1 as SiteCreated, SiteCreatedContext$1 as SiteCreatedContext, Namespace$1 as Namespace, SiteTransferred$1 as SiteTransferred, SiteDeleted$1 as SiteDeleted, DeleteContext$1 as DeleteContext, DeleteStatus$1 as DeleteStatus, SiteUndeleted$1 as SiteUndeleted, SitePublished$1 as SitePublished, SiteUnpublished$1 as SiteUnpublished, SiteMarkedAsTemplate$1 as SiteMarkedAsTemplate, SiteMarkedAsWixSite$1 as SiteMarkedAsWixSite, ServiceProvisioned$1 as ServiceProvisioned, ServiceRemoved$1 as ServiceRemoved, SiteRenamed$1 as SiteRenamed, SiteHardDeleted$1 as SiteHardDeleted, NamespaceChanged$1 as NamespaceChanged, StudioAssigned$1 as StudioAssigned, StudioUnassigned$1 as StudioUnassigned, Empty$4 as Empty, loyaltyV1ProgramPrograms_universal_d_FeatureEvent as FeatureEvent, loyaltyV1ProgramPrograms_universal_d_FeatureEventEventOneOf as FeatureEventEventOneOf, loyaltyV1ProgramPrograms_universal_d_FeatureEnabled as FeatureEnabled, loyaltyV1ProgramPrograms_universal_d_FeatureEnabledReasonOneOf as FeatureEnabledReasonOneOf, loyaltyV1ProgramPrograms_universal_d_Feature as Feature, loyaltyV1ProgramPrograms_universal_d_FeatureQuantityInfoOneOf as FeatureQuantityInfoOneOf, loyaltyV1ProgramPrograms_universal_d_FeatureContext as FeatureContext, loyaltyV1ProgramPrograms_universal_d_BooleanFeature as BooleanFeature, loyaltyV1ProgramPrograms_universal_d_QuotaFeature as QuotaFeature, loyaltyV1ProgramPrograms_universal_d_FeaturePeriod as FeaturePeriod, loyaltyV1ProgramPrograms_universal_d_QuotaInfo as QuotaInfo, loyaltyV1ProgramPrograms_universal_d_TransferredFromAnotherAccountReason as TransferredFromAnotherAccountReason, loyaltyV1ProgramPrograms_universal_d_ReassignedFromSiteReason as ReassignedFromSiteReason, loyaltyV1ProgramPrograms_universal_d_AssignedFromFloatingReason as AssignedFromFloatingReason, loyaltyV1ProgramPrograms_universal_d_NewFeatureReason as NewFeatureReason, loyaltyV1ProgramPrograms_universal_d_ContractSwitchedReason as ContractSwitchedReason, loyaltyV1ProgramPrograms_universal_d_ManualFeatureCreationReason as ManualFeatureCreationReason, loyaltyV1ProgramPrograms_universal_d_MigratedFromLegacyReason as MigratedFromLegacyReason, loyaltyV1ProgramPrograms_universal_d_FeatureDisabled as FeatureDisabled, loyaltyV1ProgramPrograms_universal_d_FeatureDisabledReasonOneOf as FeatureDisabledReasonOneOf, loyaltyV1ProgramPrograms_universal_d_UnAssingedToFloatingReason as UnAssingedToFloatingReason, loyaltyV1ProgramPrograms_universal_d_ReplacedByAnotherSubscriptionReason as ReplacedByAnotherSubscriptionReason, loyaltyV1ProgramPrograms_universal_d_ReassignedToAnotherSiteReason as ReassignedToAnotherSiteReason, loyaltyV1ProgramPrograms_universal_d_FeatureUpdated as FeatureUpdated, loyaltyV1ProgramPrograms_universal_d_FeatureUpdatedPreviousQuantityInfoOneOf as FeatureUpdatedPreviousQuantityInfoOneOf, loyaltyV1ProgramPrograms_universal_d_FeatureUpdatedReasonOneOf as FeatureUpdatedReasonOneOf, loyaltyV1ProgramPrograms_universal_d_FeatureCancelled as FeatureCancelled, loyaltyV1ProgramPrograms_universal_d_FeatureCancelledReasonOneOf as FeatureCancelledReasonOneOf, loyaltyV1ProgramPrograms_universal_d_TransferredToAnotherAccountReason as TransferredToAnotherAccountReason, loyaltyV1ProgramPrograms_universal_d_CancelRequestedReason as CancelRequestedReason, DomainEvent$4 as DomainEvent, DomainEventBodyOneOf$4 as DomainEventBodyOneOf, EntityCreatedEvent$4 as EntityCreatedEvent, RestoreInfo$4 as RestoreInfo, EntityUpdatedEvent$4 as EntityUpdatedEvent, EntityDeletedEvent$4 as EntityDeletedEvent, ActionEvent$4 as ActionEvent, MessageEnvelope$4 as MessageEnvelope, IdentificationData$4 as IdentificationData, IdentificationDataIdOneOf$4 as IdentificationDataIdOneOf, WebhookIdentityType$4 as WebhookIdentityType, loyaltyV1ProgramPrograms_universal_d_getLoyaltyProgram as getLoyaltyProgram, loyaltyV1ProgramPrograms_universal_d_bulkGetLoyaltyProgram as bulkGetLoyaltyProgram, loyaltyV1ProgramPrograms_universal_d_updateLoyaltyProgram as updateLoyaltyProgram, loyaltyV1ProgramPrograms_universal_d_activateLoyaltyProgram as activateLoyaltyProgram, loyaltyV1ProgramPrograms_universal_d_pauseLoyaltyProgram as pauseLoyaltyProgram, loyaltyV1ProgramPrograms_universal_d_GetLoyaltyProgramDescriptionOptions as GetLoyaltyProgramDescriptionOptions, loyaltyV1ProgramPrograms_universal_d_UpdateLoyaltyProgramDescriptionOptions as UpdateLoyaltyProgramDescriptionOptions, loyaltyV1ProgramPrograms_universal_d_getLoyaltyProgramPremiumFeatures as getLoyaltyProgramPremiumFeatures, loyaltyV1ProgramPrograms_universal_d_enablePointsExpiration as enablePointsExpiration, loyaltyV1ProgramPrograms_universal_d_disablePointsExpiration as disablePointsExpiration, };\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$1 {\n        /**\n         * Tier ID.\n         * @readonly\n         */\n        _id?: string | null;\n        /** Information about the tier. */\n        tierDefinition?: TierDefinition$1;\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$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$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 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$2;\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$2 {\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$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 TiersRollingUpdate$1 {\n    }\n    interface CreateTierRequest {\n        /** Tier to create. */\n        tier: Tier$1;\n    }\n    interface CreateTierResponse {\n        /** Created loyalty tier. */\n        tier?: Tier$1;\n    }\n    interface BulkCreateTiersRequest {\n        /** Tiers to create. */\n        tiers?: Tier$1[];\n    }\n    interface BulkCreateTiersResponse {\n        /** Created tiers. */\n        results?: BulkTierResult[];\n        /** Bulk action metadata. */\n        bulkActionMetadata?: BulkActionMetadata$2;\n    }\n    /** Retrieved tiers. */\n    interface BulkTierResult {\n        /** Individual tier metadata. */\n        itemMetadata?: ItemMetadata$2;\n        /** Individual tier information. */\n        item?: Tier$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 GetTierRequest {\n        /** ID of the tier to retrieve. */\n        tierId: string;\n    }\n    interface GetTierResponse {\n        /** Retrieved loyalty tier. */\n        tier?: Tier$1;\n    }\n    interface UpdateTierRequest {\n        /** Tier details to update. */\n        tier: Tier$1;\n    }\n    interface UpdateTierResponse {\n        /** Updated loyalty tier. */\n        tier?: Tier$1;\n    }\n    interface TierRequiredPointsChanged {\n        /** Tier. */\n        tier?: Tier$1;\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$1[];\n    }\n    interface CreateTiersProgramSettingsRequest {\n        /** Tiers program settings. */\n        programSettings: TiersProgramSettings$1;\n    }\n    interface CreateTiersProgramSettingsResponse {\n        /** Created tiers program settings. */\n        programSettings?: TiersProgramSettings$1;\n    }\n    interface GetTiersProgramRequest {\n    }\n    interface GetTiersProgramResponse {\n        /** Tiers. */\n        tiers?: Tier$1[];\n        /** Tiers program settings. */\n        programSettings?: TiersProgramSettings$1;\n    }\n    interface GetTiersProgramSettingsRequest {\n    }\n    interface GetTiersProgramSettingsResponse {\n        /** Tiers program settings. */\n        programSettings?: TiersProgramSettings$1;\n    }\n    interface UpdateTiersProgramSettingsRequest {\n        /** Settings for the tiers program. */\n        programSettings: TiersProgramSettings$1;\n    }\n    interface UpdateTiersProgramSettingsResponse {\n        /** Updated program settings. */\n        programSettings?: TiersProgramSettings$1;\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        /** Bobb - AI Design Creator. */\n        MEDIA_DESIGN_CREATOR = \"MEDIA_DESIGN_CREATOR\",\n        /**\n         * Shared Blog Site is a unique single site across Enterprise account,\n         * This site will hold all Blog posts related to the Marketing product.\n         */\n        SHARED_BLOG_ENTERPRISE = \"SHARED_BLOG_ENTERPRISE\"\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$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        /** 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    interface EntityDeletedEvent$3 {\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 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     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Created loyalty tier.\n     * @fqn com.wixpress.loyalty.tier.LoyaltyTiers.CreateTier\n     */\n    function createTier(tier: Tier$1): Promise<Tier$1>;\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     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.loyalty.tier.LoyaltyTiers.BulkCreateTiers\n     */\n    function bulkCreateTiers(tiers: Tier$1[]): 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     * @permissionScope Read Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.READ-LOYALTY\n     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @returns Retrieved loyalty tier.\n     * @fqn com.wixpress.loyalty.tier.LoyaltyTiers.GetTier\n     */\n    function getTier(tierId: string): Promise<Tier$1>;\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     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Updated loyalty tier.\n     * @fqn com.wixpress.loyalty.tier.LoyaltyTiers.UpdateTier\n     */\n    function updateTier(_id: string | null, tier: UpdateTier): Promise<Tier$1>;\n    interface UpdateTier {\n        /**\n         * Tier ID.\n         * @readonly\n         */\n        _id?: string | null;\n        /** Information about the tier. */\n        tierDefinition?: TierDefinition$1;\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     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.loyalty.tier.LoyaltyTiers.DeleteTier\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     * @permissionScope Read Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.READ-LOYALTY\n     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @fqn com.wixpress.loyalty.tier.LoyaltyTiers.ListTiers\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     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.loyalty.tier.LoyaltyTiers.CreateTiersProgramSettings\n     */\n    function createTiersProgramSettings(programSettings: TiersProgramSettings$1): 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     * @permissionScope Read Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.READ-LOYALTY\n     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @fqn com.wixpress.loyalty.tier.LoyaltyTiers.GetTiersProgram\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     * @permissionScope Read Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.READ-LOYALTY\n     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @fqn com.wixpress.loyalty.tier.LoyaltyTiers.GetTiersProgramSettings\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     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.loyalty.tier.LoyaltyTiers.UpdateTiersProgramSettings\n     */\n    function updateTiersProgramSettings(programSettings: TiersProgramSettings$1): Promise<UpdateTiersProgramSettingsResponse>;\n    type loyaltyV1TierTiers_universal_d_CreateTierRequest = CreateTierRequest;\n    type loyaltyV1TierTiers_universal_d_CreateTierResponse = CreateTierResponse;\n    type loyaltyV1TierTiers_universal_d_BulkCreateTiersRequest = BulkCreateTiersRequest;\n    type loyaltyV1TierTiers_universal_d_BulkCreateTiersResponse = BulkCreateTiersResponse;\n    type loyaltyV1TierTiers_universal_d_BulkTierResult = BulkTierResult;\n    type loyaltyV1TierTiers_universal_d_GetTierRequest = GetTierRequest;\n    type loyaltyV1TierTiers_universal_d_GetTierResponse = GetTierResponse;\n    type loyaltyV1TierTiers_universal_d_UpdateTierRequest = UpdateTierRequest;\n    type loyaltyV1TierTiers_universal_d_UpdateTierResponse = UpdateTierResponse;\n    type loyaltyV1TierTiers_universal_d_TierRequiredPointsChanged = TierRequiredPointsChanged;\n    type loyaltyV1TierTiers_universal_d_DeleteTierRequest = DeleteTierRequest;\n    type loyaltyV1TierTiers_universal_d_DeleteTierResponse = DeleteTierResponse;\n    type loyaltyV1TierTiers_universal_d_ListTiersRequest = ListTiersRequest;\n    type loyaltyV1TierTiers_universal_d_ListTiersResponse = ListTiersResponse;\n    type loyaltyV1TierTiers_universal_d_CreateTiersProgramSettingsRequest = CreateTiersProgramSettingsRequest;\n    type loyaltyV1TierTiers_universal_d_CreateTiersProgramSettingsResponse = CreateTiersProgramSettingsResponse;\n    type loyaltyV1TierTiers_universal_d_GetTiersProgramRequest = GetTiersProgramRequest;\n    type loyaltyV1TierTiers_universal_d_GetTiersProgramResponse = GetTiersProgramResponse;\n    type loyaltyV1TierTiers_universal_d_GetTiersProgramSettingsRequest = GetTiersProgramSettingsRequest;\n    type loyaltyV1TierTiers_universal_d_GetTiersProgramSettingsResponse = GetTiersProgramSettingsResponse;\n    type loyaltyV1TierTiers_universal_d_UpdateTiersProgramSettingsRequest = UpdateTiersProgramSettingsRequest;\n    type loyaltyV1TierTiers_universal_d_UpdateTiersProgramSettingsResponse = UpdateTiersProgramSettingsResponse;\n    type loyaltyV1TierTiers_universal_d_RecalculateAllTiersRequest = RecalculateAllTiersRequest;\n    type loyaltyV1TierTiers_universal_d_RecalculateAllTiersResponse = RecalculateAllTiersResponse;\n    type loyaltyV1TierTiers_universal_d_MetaSiteSpecialEvent = MetaSiteSpecialEvent;\n    type loyaltyV1TierTiers_universal_d_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;\n    type loyaltyV1TierTiers_universal_d_Asset = Asset;\n    type loyaltyV1TierTiers_universal_d_State = State;\n    const loyaltyV1TierTiers_universal_d_State: typeof State;\n    type loyaltyV1TierTiers_universal_d_SiteCreated = SiteCreated;\n    type loyaltyV1TierTiers_universal_d_SiteCreatedContext = SiteCreatedContext;\n    const loyaltyV1TierTiers_universal_d_SiteCreatedContext: typeof SiteCreatedContext;\n    type loyaltyV1TierTiers_universal_d_Namespace = Namespace;\n    const loyaltyV1TierTiers_universal_d_Namespace: typeof Namespace;\n    type loyaltyV1TierTiers_universal_d_SiteTransferred = SiteTransferred;\n    type loyaltyV1TierTiers_universal_d_SiteDeleted = SiteDeleted;\n    type loyaltyV1TierTiers_universal_d_DeleteContext = DeleteContext;\n    type loyaltyV1TierTiers_universal_d_DeleteStatus = DeleteStatus;\n    const loyaltyV1TierTiers_universal_d_DeleteStatus: typeof DeleteStatus;\n    type loyaltyV1TierTiers_universal_d_SiteUndeleted = SiteUndeleted;\n    type loyaltyV1TierTiers_universal_d_SitePublished = SitePublished;\n    type loyaltyV1TierTiers_universal_d_SiteUnpublished = SiteUnpublished;\n    type loyaltyV1TierTiers_universal_d_SiteMarkedAsTemplate = SiteMarkedAsTemplate;\n    type loyaltyV1TierTiers_universal_d_SiteMarkedAsWixSite = SiteMarkedAsWixSite;\n    type loyaltyV1TierTiers_universal_d_ServiceProvisioned = ServiceProvisioned;\n    type loyaltyV1TierTiers_universal_d_ServiceRemoved = ServiceRemoved;\n    type loyaltyV1TierTiers_universal_d_SiteRenamed = SiteRenamed;\n    type loyaltyV1TierTiers_universal_d_SiteHardDeleted = SiteHardDeleted;\n    type loyaltyV1TierTiers_universal_d_NamespaceChanged = NamespaceChanged;\n    type loyaltyV1TierTiers_universal_d_StudioAssigned = StudioAssigned;\n    type loyaltyV1TierTiers_universal_d_StudioUnassigned = StudioUnassigned;\n    const loyaltyV1TierTiers_universal_d_createTier: typeof createTier;\n    const loyaltyV1TierTiers_universal_d_bulkCreateTiers: typeof bulkCreateTiers;\n    const loyaltyV1TierTiers_universal_d_getTier: typeof getTier;\n    const loyaltyV1TierTiers_universal_d_updateTier: typeof updateTier;\n    type loyaltyV1TierTiers_universal_d_UpdateTier = UpdateTier;\n    const loyaltyV1TierTiers_universal_d_deleteTier: typeof deleteTier;\n    const loyaltyV1TierTiers_universal_d_listTiers: typeof listTiers;\n    const loyaltyV1TierTiers_universal_d_createTiersProgramSettings: typeof createTiersProgramSettings;\n    const loyaltyV1TierTiers_universal_d_getTiersProgram: typeof getTiersProgram;\n    const loyaltyV1TierTiers_universal_d_getTiersProgramSettings: typeof getTiersProgramSettings;\n    const loyaltyV1TierTiers_universal_d_updateTiersProgramSettings: typeof updateTiersProgramSettings;\n    namespace loyaltyV1TierTiers_universal_d {\n        export { Tier$1 as Tier, TierDefinition$1 as TierDefinition, FocalPoint$1 as FocalPoint, TiersProgramSettingsChanged$1 as TiersProgramSettingsChanged, TiersProgramSettings$1 as TiersProgramSettings, TiersProgramSettingsPeriodOneOf$1 as TiersProgramSettingsPeriodOneOf, Status$2 as Status, RollingWindow$1 as RollingWindow, TiersRollingUpdate$1 as TiersRollingUpdate, loyaltyV1TierTiers_universal_d_CreateTierRequest as CreateTierRequest, loyaltyV1TierTiers_universal_d_CreateTierResponse as CreateTierResponse, loyaltyV1TierTiers_universal_d_BulkCreateTiersRequest as BulkCreateTiersRequest, loyaltyV1TierTiers_universal_d_BulkCreateTiersResponse as BulkCreateTiersResponse, loyaltyV1TierTiers_universal_d_BulkTierResult as BulkTierResult, ItemMetadata$2 as ItemMetadata, ApplicationError$2 as ApplicationError, BulkActionMetadata$2 as BulkActionMetadata, loyaltyV1TierTiers_universal_d_GetTierRequest as GetTierRequest, loyaltyV1TierTiers_universal_d_GetTierResponse as GetTierResponse, loyaltyV1TierTiers_universal_d_UpdateTierRequest as UpdateTierRequest, loyaltyV1TierTiers_universal_d_UpdateTierResponse as UpdateTierResponse, loyaltyV1TierTiers_universal_d_TierRequiredPointsChanged as TierRequiredPointsChanged, loyaltyV1TierTiers_universal_d_DeleteTierRequest as DeleteTierRequest, loyaltyV1TierTiers_universal_d_DeleteTierResponse as DeleteTierResponse, loyaltyV1TierTiers_universal_d_ListTiersRequest as ListTiersRequest, loyaltyV1TierTiers_universal_d_ListTiersResponse as ListTiersResponse, loyaltyV1TierTiers_universal_d_CreateTiersProgramSettingsRequest as CreateTiersProgramSettingsRequest, loyaltyV1TierTiers_universal_d_CreateTiersProgramSettingsResponse as CreateTiersProgramSettingsResponse, loyaltyV1TierTiers_universal_d_GetTiersProgramRequest as GetTiersProgramRequest, loyaltyV1TierTiers_universal_d_GetTiersProgramResponse as GetTiersProgramResponse, loyaltyV1TierTiers_universal_d_GetTiersProgramSettingsRequest as GetTiersProgramSettingsRequest, loyaltyV1TierTiers_universal_d_GetTiersProgramSettingsResponse as GetTiersProgramSettingsResponse, loyaltyV1TierTiers_universal_d_UpdateTiersProgramSettingsRequest as UpdateTiersProgramSettingsRequest, loyaltyV1TierTiers_universal_d_UpdateTiersProgramSettingsResponse as UpdateTiersProgramSettingsResponse, loyaltyV1TierTiers_universal_d_RecalculateAllTiersRequest as RecalculateAllTiersRequest, loyaltyV1TierTiers_universal_d_RecalculateAllTiersResponse as RecalculateAllTiersResponse, loyaltyV1TierTiers_universal_d_MetaSiteSpecialEvent as MetaSiteSpecialEvent, loyaltyV1TierTiers_universal_d_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf, loyaltyV1TierTiers_universal_d_Asset as Asset, loyaltyV1TierTiers_universal_d_State as State, loyaltyV1TierTiers_universal_d_SiteCreated as SiteCreated, loyaltyV1TierTiers_universal_d_SiteCreatedContext as SiteCreatedContext, loyaltyV1TierTiers_universal_d_Namespace as Namespace, loyaltyV1TierTiers_universal_d_SiteTransferred as SiteTransferred, loyaltyV1TierTiers_universal_d_SiteDeleted as SiteDeleted, loyaltyV1TierTiers_universal_d_DeleteContext as DeleteContext, loyaltyV1TierTiers_universal_d_DeleteStatus as DeleteStatus, loyaltyV1TierTiers_universal_d_SiteUndeleted as SiteUndeleted, loyaltyV1TierTiers_universal_d_SitePublished as SitePublished, loyaltyV1TierTiers_universal_d_SiteUnpublished as SiteUnpublished, loyaltyV1TierTiers_universal_d_SiteMarkedAsTemplate as SiteMarkedAsTemplate, loyaltyV1TierTiers_universal_d_SiteMarkedAsWixSite as SiteMarkedAsWixSite, loyaltyV1TierTiers_universal_d_ServiceProvisioned as ServiceProvisioned, loyaltyV1TierTiers_universal_d_ServiceRemoved as ServiceRemoved, loyaltyV1TierTiers_universal_d_SiteRenamed as SiteRenamed, loyaltyV1TierTiers_universal_d_SiteHardDeleted as SiteHardDeleted, loyaltyV1TierTiers_universal_d_NamespaceChanged as NamespaceChanged, loyaltyV1TierTiers_universal_d_StudioAssigned as StudioAssigned, loyaltyV1TierTiers_universal_d_StudioUnassigned as StudioUnassigned, Empty$3 as Empty, DomainEvent$3 as DomainEvent, DomainEventBodyOneOf$3 as DomainEventBodyOneOf, EntityCreatedEvent$3 as EntityCreatedEvent, RestoreInfo$3 as RestoreInfo, EntityUpdatedEvent$3 as EntityUpdatedEvent, EntityDeletedEvent$3 as EntityDeletedEvent, ActionEvent$3 as ActionEvent, MessageEnvelope$3 as MessageEnvelope, IdentificationData$3 as IdentificationData, IdentificationDataIdOneOf$3 as IdentificationDataIdOneOf, WebhookIdentityType$3 as WebhookIdentityType, loyaltyV1TierTiers_universal_d_createTier as createTier, loyaltyV1TierTiers_universal_d_bulkCreateTiers as bulkCreateTiers, loyaltyV1TierTiers_universal_d_getTier as getTier, loyaltyV1TierTiers_universal_d_updateTier as updateTier, loyaltyV1TierTiers_universal_d_UpdateTier as UpdateTier, loyaltyV1TierTiers_universal_d_deleteTier as deleteTier, loyaltyV1TierTiers_universal_d_listTiers as listTiers, loyaltyV1TierTiers_universal_d_createTiersProgramSettings as createTiersProgramSettings, loyaltyV1TierTiers_universal_d_getTiersProgram as getTiersProgram, loyaltyV1TierTiers_universal_d_getTiersProgramSettings as getTiersProgramSettings, loyaltyV1TierTiers_universal_d_updateTiersProgramSettings as updateTiersProgramSettings, };\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         *\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$1;\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         * @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;\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 {\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$1 {\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/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    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 GetCurrentMemberCouponsRequest {\n    }\n    interface GetCurrentMemberCouponsResponse {\n        /** Retrieved loyalty coupons. */\n        loyaltyCoupons?: LoyaltyCoupon[];\n    }\n    interface QueryLoyaltyCouponRequest {\n        /** Query options. */\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$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        /** 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$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$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$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 QueryLoyaltyCouponResponse {\n        /** Retrieved loyalty coupons. */\n        loyaltyCoupons?: LoyaltyCoupon[];\n        /** 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$2;\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 QueryCouponTemplateRequest {\n        /** Query options. */\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$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        /** 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    interface EntityDeletedEvent$2 {\n        /** Entity that was deleted */\n        deletedEntityAsJson?: 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     * 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     * @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     * @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     * @applicableIdentity MEMBER\n     */\n    function redeemCurrentMemberPointsForCoupon(rewardId: string): Promise<RedeemCurrentMemberPointsForCouponResponse>;\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     * @permissionScope Read Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.READ-LOYALTY\n     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Retrieved loyalty coupon.\n     */\n    function getLoyaltyCoupon(loyaltyCouponId: string): Promise<LoyaltyCoupon>;\n    /**\n     * Retrieves the loyalty coupons for the currently logged-in member.\n     * @public\n     * @permissionScope Read Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.READ-LOYALTY\n     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     */\n    function getCurrentMemberCoupons(): Promise<GetCurrentMemberCouponsResponse>;\n    /**\n     * Retrieves a list of loyalty coupons, given the provided paging, filtering, and sorting.\n     * @public\n     * @permissionScope Read Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.READ-LOYALTY\n     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function queryLoyaltyCoupons(): LoyaltyCouponsQueryBuilder;\n    interface QueryCursorResult$2 {\n        cursors: Cursors$2;\n        hasNext: () => boolean;\n        hasPrev: () => boolean;\n        length: number;\n        pageSize: number;\n    }\n    interface LoyaltyCouponsQueryResult extends QueryCursorResult$2 {\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     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function deleteLoyaltyCoupon(_id: string, revision: string): Promise<void>;\n    type loyaltyV1CouponCoupons_universal_d_LoyaltyCoupon = LoyaltyCoupon;\n    type loyaltyV1CouponCoupons_universal_d_CouponReference = CouponReference;\n    type loyaltyV1CouponCoupons_universal_d_Specification = Specification;\n    type loyaltyV1CouponCoupons_universal_d_SpecificationTypeDetailsOneOf = SpecificationTypeDetailsOneOf;\n    type loyaltyV1CouponCoupons_universal_d_SpecificationScopeOrMinSubtotalOneOf = SpecificationScopeOrMinSubtotalOneOf;\n    type loyaltyV1CouponCoupons_universal_d_Type = Type;\n    const loyaltyV1CouponCoupons_universal_d_Type: typeof Type;\n    type loyaltyV1CouponCoupons_universal_d_BuyXGetY = BuyXGetY;\n    type loyaltyV1CouponCoupons_universal_d_Scope = Scope;\n    type loyaltyV1CouponCoupons_universal_d_RedeemPointsForCouponRequest = RedeemPointsForCouponRequest;\n    type loyaltyV1CouponCoupons_universal_d_RedeemPointsForCouponResponse = RedeemPointsForCouponResponse;\n    type loyaltyV1CouponCoupons_universal_d_RedeemCurrentMemberPointsForCouponRequest = RedeemCurrentMemberPointsForCouponRequest;\n    type loyaltyV1CouponCoupons_universal_d_RedeemCurrentMemberPointsForCouponResponse = RedeemCurrentMemberPointsForCouponResponse;\n    type loyaltyV1CouponCoupons_universal_d_RedeemMemberPointsForDiscountAmountCouponRequest = RedeemMemberPointsForDiscountAmountCouponRequest;\n    type loyaltyV1CouponCoupons_universal_d_RedeemMemberPointsForDiscountAmountCouponResponse = RedeemMemberPointsForDiscountAmountCouponResponse;\n    type loyaltyV1CouponCoupons_universal_d_GetLoyaltyCouponRequest = GetLoyaltyCouponRequest;\n    type loyaltyV1CouponCoupons_universal_d_GetLoyaltyCouponResponse = GetLoyaltyCouponResponse;\n    type loyaltyV1CouponCoupons_universal_d_GetCurrentMemberCouponsRequest = GetCurrentMemberCouponsRequest;\n    type loyaltyV1CouponCoupons_universal_d_GetCurrentMemberCouponsResponse = GetCurrentMemberCouponsResponse;\n    type loyaltyV1CouponCoupons_universal_d_QueryLoyaltyCouponRequest = QueryLoyaltyCouponRequest;\n    type loyaltyV1CouponCoupons_universal_d_QueryLoyaltyCouponResponse = QueryLoyaltyCouponResponse;\n    type loyaltyV1CouponCoupons_universal_d_QueryCouponTemplateRequest = QueryCouponTemplateRequest;\n    type loyaltyV1CouponCoupons_universal_d_Query = Query;\n    type loyaltyV1CouponCoupons_universal_d_V2Paging = V2Paging;\n    type loyaltyV1CouponCoupons_universal_d_QueryCouponTemplateResponse = QueryCouponTemplateResponse;\n    type loyaltyV1CouponCoupons_universal_d_DeleteLoyaltyCouponRequest = DeleteLoyaltyCouponRequest;\n    type loyaltyV1CouponCoupons_universal_d_DeleteLoyaltyCouponResponse = DeleteLoyaltyCouponResponse;\n    const loyaltyV1CouponCoupons_universal_d_redeemPointsForCoupon: typeof redeemPointsForCoupon;\n    type loyaltyV1CouponCoupons_universal_d_RedeemPointsForCouponOptions = RedeemPointsForCouponOptions;\n    const loyaltyV1CouponCoupons_universal_d_redeemCurrentMemberPointsForCoupon: typeof redeemCurrentMemberPointsForCoupon;\n    type loyaltyV1CouponCoupons_universal_d_RedeemMemberPointsForDiscountAmountCouponOptions = RedeemMemberPointsForDiscountAmountCouponOptions;\n    const loyaltyV1CouponCoupons_universal_d_getLoyaltyCoupon: typeof getLoyaltyCoupon;\n    const loyaltyV1CouponCoupons_universal_d_getCurrentMemberCoupons: typeof getCurrentMemberCoupons;\n    const loyaltyV1CouponCoupons_universal_d_queryLoyaltyCoupons: typeof queryLoyaltyCoupons;\n    type loyaltyV1CouponCoupons_universal_d_LoyaltyCouponsQueryResult = LoyaltyCouponsQueryResult;\n    type loyaltyV1CouponCoupons_universal_d_LoyaltyCouponsQueryBuilder = LoyaltyCouponsQueryBuilder;\n    const loyaltyV1CouponCoupons_universal_d_deleteLoyaltyCoupon: typeof deleteLoyaltyCoupon;\n    namespace loyaltyV1CouponCoupons_universal_d {\n        export { loyaltyV1CouponCoupons_universal_d_LoyaltyCoupon as LoyaltyCoupon, loyaltyV1CouponCoupons_universal_d_CouponReference as CouponReference, loyaltyV1CouponCoupons_universal_d_Specification as Specification, loyaltyV1CouponCoupons_universal_d_SpecificationTypeDetailsOneOf as SpecificationTypeDetailsOneOf, loyaltyV1CouponCoupons_universal_d_SpecificationScopeOrMinSubtotalOneOf as SpecificationScopeOrMinSubtotalOneOf, loyaltyV1CouponCoupons_universal_d_Type as Type, loyaltyV1CouponCoupons_universal_d_BuyXGetY as BuyXGetY, loyaltyV1CouponCoupons_universal_d_Scope as Scope, Status$1 as Status, loyaltyV1CouponCoupons_universal_d_RedeemPointsForCouponRequest as RedeemPointsForCouponRequest, loyaltyV1CouponCoupons_universal_d_RedeemPointsForCouponResponse as RedeemPointsForCouponResponse, loyaltyV1CouponCoupons_universal_d_RedeemCurrentMemberPointsForCouponRequest as RedeemCurrentMemberPointsForCouponRequest, loyaltyV1CouponCoupons_universal_d_RedeemCurrentMemberPointsForCouponResponse as RedeemCurrentMemberPointsForCouponResponse, loyaltyV1CouponCoupons_universal_d_RedeemMemberPointsForDiscountAmountCouponRequest as RedeemMemberPointsForDiscountAmountCouponRequest, loyaltyV1CouponCoupons_universal_d_RedeemMemberPointsForDiscountAmountCouponResponse as RedeemMemberPointsForDiscountAmountCouponResponse, loyaltyV1CouponCoupons_universal_d_GetLoyaltyCouponRequest as GetLoyaltyCouponRequest, loyaltyV1CouponCoupons_universal_d_GetLoyaltyCouponResponse as GetLoyaltyCouponResponse, loyaltyV1CouponCoupons_universal_d_GetCurrentMemberCouponsRequest as GetCurrentMemberCouponsRequest, loyaltyV1CouponCoupons_universal_d_GetCurrentMemberCouponsResponse as GetCurrentMemberCouponsResponse, loyaltyV1CouponCoupons_universal_d_QueryLoyaltyCouponRequest as QueryLoyaltyCouponRequest, QueryV2$1 as QueryV2, QueryV2PagingMethodOneOf$1 as QueryV2PagingMethodOneOf, Sorting$2 as Sorting, SortOrder$2 as SortOrder, Paging$1 as Paging, CursorPaging$2 as CursorPaging, loyaltyV1CouponCoupons_universal_d_QueryLoyaltyCouponResponse as QueryLoyaltyCouponResponse, PagingMetadataV2$1 as PagingMetadataV2, Cursors$2 as Cursors, loyaltyV1CouponCoupons_universal_d_QueryCouponTemplateRequest as QueryCouponTemplateRequest, loyaltyV1CouponCoupons_universal_d_Query as Query, loyaltyV1CouponCoupons_universal_d_V2Paging as V2Paging, loyaltyV1CouponCoupons_universal_d_QueryCouponTemplateResponse as QueryCouponTemplateResponse, loyaltyV1CouponCoupons_universal_d_DeleteLoyaltyCouponRequest as DeleteLoyaltyCouponRequest, loyaltyV1CouponCoupons_universal_d_DeleteLoyaltyCouponResponse as DeleteLoyaltyCouponResponse, DomainEvent$2 as DomainEvent, DomainEventBodyOneOf$2 as DomainEventBodyOneOf, EntityCreatedEvent$2 as EntityCreatedEvent, RestoreInfo$2 as RestoreInfo, EntityUpdatedEvent$2 as EntityUpdatedEvent, EntityDeletedEvent$2 as EntityDeletedEvent, ActionEvent$2 as ActionEvent, Empty$2 as Empty, MessageEnvelope$2 as MessageEnvelope, IdentificationData$2 as IdentificationData, IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf, WebhookIdentityType$2 as WebhookIdentityType, loyaltyV1CouponCoupons_universal_d_redeemPointsForCoupon as redeemPointsForCoupon, loyaltyV1CouponCoupons_universal_d_RedeemPointsForCouponOptions as RedeemPointsForCouponOptions, loyaltyV1CouponCoupons_universal_d_redeemCurrentMemberPointsForCoupon as redeemCurrentMemberPointsForCoupon, loyaltyV1CouponCoupons_universal_d_RedeemMemberPointsForDiscountAmountCouponOptions as RedeemMemberPointsForDiscountAmountCouponOptions, loyaltyV1CouponCoupons_universal_d_getLoyaltyCoupon as getLoyaltyCoupon, loyaltyV1CouponCoupons_universal_d_getCurrentMemberCoupons as getCurrentMemberCoupons, loyaltyV1CouponCoupons_universal_d_queryLoyaltyCoupons as queryLoyaltyCoupons, loyaltyV1CouponCoupons_universal_d_LoyaltyCouponsQueryResult as LoyaltyCouponsQueryResult, loyaltyV1CouponCoupons_universal_d_LoyaltyCouponsQueryBuilder as LoyaltyCouponsQueryBuilder, loyaltyV1CouponCoupons_universal_d_deleteLoyaltyCoupon as deleteLoyaltyCoupon, };\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;\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        /**\n         * Transaction types.\n         *\n         * + `EARN`: 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         * + `REDEEM`: The number of points redeemed by the customer for a reward.\n         * + `ADJUST`: The 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         * + `REFUND`: The number of points refunded for a previously redeemed reward.\n         * + `EXPIRE`: The number of points that expired due to customer inactivity for a configured period.\n         */\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 = \"UNKNOWN\",\n        EARN = \"EARN\",\n        REDEEM = \"REDEEM\",\n        ADJUST = \"ADJUST\",\n        REFUND = \"REFUND\",\n        EXPIRE = \"EXPIRE\"\n    }\n    interface EarnInfo {\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    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$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 BulkLoyaltyTransactionResult {\n        /** Individual loyalty transaction metadata. */\n        itemMetadata?: ItemMetadata$1;\n        /** Only exists if `returnEntity` was set to true in the request. */\n        item?: LoyaltyTransaction;\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 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$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    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 QueryLoyaltyTransactionsResponse {\n        /** List of loyalty transactions. */\n        loyaltyTransactions?: LoyaltyTransaction[];\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    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;\n        /**\n         * Whether the event was triggered as a result of a privacy regulation application\n         * (for example, GDPR).\n         */\n        triggeredByAnonymizeRequest?: boolean | null;\n        /** If present, indicates the action that triggered the event. */\n        originatedFrom?: string | null;\n        /**\n         * A sequence number defining the order of updates to the underlying entity.\n         * For example, given that some entity was updated at 16:00 and than again at 16:01,\n         * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n         * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n         * To do so, you will need to persist this number on your end, and compare the sequence number from the\n         * message against the one you have 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        /** 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    interface EntityDeletedEvent$1 {\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    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     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @permissionScope Read Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.READ-LOYALTY\n     * @applicableIdentity APP\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     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @permissionScope Read Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.READ-LOYALTY\n     * @permissionId LOYALTY.READ_TRANSACTIONS\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function queryLoyaltyTransactions(): LoyaltyTransactionsQueryBuilder;\n    interface QueryCursorResult$1 {\n        cursors: Cursors$1;\n        hasNext: () => boolean;\n        hasPrev: () => boolean;\n        length: number;\n        pageSize: number;\n    }\n    interface LoyaltyTransactionsQueryResult extends QueryCursorResult$1 {\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    type loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_LoyaltyTransaction = LoyaltyTransaction;\n    type loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_LoyaltyTransactionTransactionTypeInfoOneOf = LoyaltyTransactionTransactionTypeInfoOneOf;\n    type loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_TransactionType = TransactionType;\n    const loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_TransactionType: typeof TransactionType;\n    type loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_EarnInfo = EarnInfo;\n    type loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_RedeemInfo = RedeemInfo;\n    type loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_AdjustInfo = AdjustInfo;\n    type loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_RefundInfo = RefundInfo;\n    type loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_ExpireInfo = ExpireInfo;\n    type loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_CreateLoyaltyTransactionRequest = CreateLoyaltyTransactionRequest;\n    type loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_CreateLoyaltyTransactionResponse = CreateLoyaltyTransactionResponse;\n    type loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_BulkCreateLoyaltyTransactionsRequest = BulkCreateLoyaltyTransactionsRequest;\n    type loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_BulkCreateLoyaltyTransactionsResponse = BulkCreateLoyaltyTransactionsResponse;\n    type loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_BulkLoyaltyTransactionResult = BulkLoyaltyTransactionResult;\n    type loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_GetLoyaltyTransactionRequest = GetLoyaltyTransactionRequest;\n    type loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_GetLoyaltyTransactionResponse = GetLoyaltyTransactionResponse;\n    type loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_QueryLoyaltyTransactionsRequest = QueryLoyaltyTransactionsRequest;\n    type loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_QueryLoyaltyTransactionsResponse = QueryLoyaltyTransactionsResponse;\n    type loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_BulkCreateLoyaltyTransactionsOptions = BulkCreateLoyaltyTransactionsOptions;\n    const loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_getLoyaltyTransaction: typeof getLoyaltyTransaction;\n    const loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_queryLoyaltyTransactions: typeof queryLoyaltyTransactions;\n    type loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_LoyaltyTransactionsQueryResult = LoyaltyTransactionsQueryResult;\n    type loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_LoyaltyTransactionsQueryBuilder = LoyaltyTransactionsQueryBuilder;\n    namespace loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d {\n        export { loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_LoyaltyTransaction as LoyaltyTransaction, loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_LoyaltyTransactionTransactionTypeInfoOneOf as LoyaltyTransactionTransactionTypeInfoOneOf, loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_TransactionType as TransactionType, loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_EarnInfo as EarnInfo, loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_RedeemInfo as RedeemInfo, loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_AdjustInfo as AdjustInfo, loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_RefundInfo as RefundInfo, loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_ExpireInfo as ExpireInfo, loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_CreateLoyaltyTransactionRequest as CreateLoyaltyTransactionRequest, loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_CreateLoyaltyTransactionResponse as CreateLoyaltyTransactionResponse, loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_BulkCreateLoyaltyTransactionsRequest as BulkCreateLoyaltyTransactionsRequest, loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_BulkCreateLoyaltyTransactionsResponse as BulkCreateLoyaltyTransactionsResponse, ItemMetadata$1 as ItemMetadata, ApplicationError$1 as ApplicationError, loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_BulkLoyaltyTransactionResult as BulkLoyaltyTransactionResult, BulkActionMetadata$1 as BulkActionMetadata, loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_GetLoyaltyTransactionRequest as GetLoyaltyTransactionRequest, loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_GetLoyaltyTransactionResponse as GetLoyaltyTransactionResponse, loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_QueryLoyaltyTransactionsRequest as QueryLoyaltyTransactionsRequest, CursorQuery$1 as CursorQuery, CursorQueryPagingMethodOneOf$1 as CursorQueryPagingMethodOneOf, Sorting$1 as Sorting, SortOrder$1 as SortOrder, CursorPaging$1 as CursorPaging, loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_QueryLoyaltyTransactionsResponse as QueryLoyaltyTransactionsResponse, CursorPagingMetadata$1 as CursorPagingMetadata, Cursors$1 as Cursors, DomainEvent$1 as DomainEvent, DomainEventBodyOneOf$1 as DomainEventBodyOneOf, EntityCreatedEvent$1 as EntityCreatedEvent, RestoreInfo$1 as RestoreInfo, EntityUpdatedEvent$1 as EntityUpdatedEvent, EntityDeletedEvent$1 as EntityDeletedEvent, ActionEvent$1 as ActionEvent, Empty$1 as Empty, MessageEnvelope$1 as MessageEnvelope, IdentificationData$1 as IdentificationData, IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf, WebhookIdentityType$1 as WebhookIdentityType, loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_BulkCreateLoyaltyTransactionsOptions as BulkCreateLoyaltyTransactionsOptions, loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_getLoyaltyTransaction as getLoyaltyTransaction, loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_queryLoyaltyTransactions as queryLoyaltyTransactions, loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_LoyaltyTransactionsQueryResult as LoyaltyTransactionsQueryResult, loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d_LoyaltyTransactionsQueryBuilder as LoyaltyTransactionsQueryBuilder, };\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;\n        /**\n         * Contact information.\n         * @readonly\n         */\n        contact?: Contact;\n        /**\n         * Points expiration information\n         * @readonly\n         */\n        pointsExpiration?: PointsExpiration;\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 {\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         * 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 {\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        /** 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    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;\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    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 QueryLoyaltyAccountsResponse {\n        /** Loyalty accounts. */\n        loyaltyAccounts?: LoyaltyAccount[];\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    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 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;\n    }\n    interface ListAccountsResponse {\n        /** Retrieved loyalty accounts. */\n        accounts?: LoyaltyAccount[];\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    /** 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;\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[];\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;\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;\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 ExportAccountsRequest {\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 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 ExportAccountsResponse {\n        accounts?: LoyaltyAccount[];\n        pagingMetadata?: CursorPagingMetadata;\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 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        /** 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    interface EntityDeletedEvent {\n        /** Entity that was deleted */\n        deletedEntityAsJson?: string | null;\n    }\n    interface ActionEvent {\n        bodyAsJson?: string;\n    }\n    interface Empty {\n    }\n    interface TiersRollingUpdate {\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    /** 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    /**\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 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;\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;\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 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 {\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 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     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\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     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\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     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\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         * 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    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    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     * 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     * @permissionScope Read Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.READ-LOYALTY\n     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\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     * @permissionScope Read Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.READ-LOYALTY\n     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @permissionId LOYALTY.READ_ACCOUNTS\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function queryLoyaltyAccounts(): LoyaltyAccountsQueryBuilder;\n    interface QueryCursorResult {\n        cursors: Cursors;\n        hasNext: () => boolean;\n        hasPrev: () => boolean;\n        length: number;\n        pageSize: number;\n    }\n    interface LoyaltyAccountsQueryResult extends QueryCursorResult {\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    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     * @permissionScope Read Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.READ-LOYALTY\n     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\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     * @permissionScope Read Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.READ-LOYALTY\n     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     */\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 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     * @permissionScope Read Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.READ-LOYALTY\n     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\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     * @permissionScope Read Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.READ-LOYALTY\n     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\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;\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     * @permissionScope Read Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.READ-LOYALTY\n     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\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    interface ExportAccountsOptions {\n        query?: QueryV2;\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     * @permissionScope Read Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.READ-LOYALTY\n     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\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     * @permissionScope Manage Loyalty\n     * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n     * @applicableIdentity APP\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    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    type loyaltyV1AccountAccounts_universal_d_LoyaltyAccount = LoyaltyAccount;\n    type loyaltyV1AccountAccounts_universal_d_Points = Points;\n    type loyaltyV1AccountAccounts_universal_d_Tier = Tier;\n    type loyaltyV1AccountAccounts_universal_d_Contact = Contact;\n    type loyaltyV1AccountAccounts_universal_d_Image = Image;\n    type loyaltyV1AccountAccounts_universal_d_PointsExpiration = PointsExpiration;\n    type loyaltyV1AccountAccounts_universal_d_RewardAvailabilityUpdated = RewardAvailabilityUpdated;\n    type loyaltyV1AccountAccounts_universal_d_UpdateTrigger = UpdateTrigger;\n    const loyaltyV1AccountAccounts_universal_d_UpdateTrigger: typeof UpdateTrigger;\n    type loyaltyV1AccountAccounts_universal_d_CreateAccountRequest = CreateAccountRequest;\n    type loyaltyV1AccountAccounts_universal_d_CreateAccountResponse = CreateAccountResponse;\n    type loyaltyV1AccountAccounts_universal_d_EarnPointsRequest = EarnPointsRequest;\n    type loyaltyV1AccountAccounts_universal_d_EarnPointsRequestActivityDetailsOneOf = EarnPointsRequestActivityDetailsOneOf;\n    type loyaltyV1AccountAccounts_universal_d_FollowedSocialMedia = FollowedSocialMedia;\n    type loyaltyV1AccountAccounts_universal_d_EarnPointsResponse = EarnPointsResponse;\n    type loyaltyV1AccountAccounts_universal_d_PointsUpdated = PointsUpdated;\n    type loyaltyV1AccountAccounts_universal_d_FirstTransaction = FirstTransaction;\n    type loyaltyV1AccountAccounts_universal_d_AdjustPointsRequest = AdjustPointsRequest;\n    type loyaltyV1AccountAccounts_universal_d_AdjustPointsRequestTypeOneOf = AdjustPointsRequestTypeOneOf;\n    type loyaltyV1AccountAccounts_universal_d_AdjustPointsResponse = AdjustPointsResponse;\n    type loyaltyV1AccountAccounts_universal_d_RedeemPointsRequest = RedeemPointsRequest;\n    type loyaltyV1AccountAccounts_universal_d_RedeemPointsResponse = RedeemPointsResponse;\n    type loyaltyV1AccountAccounts_universal_d_RedeemDeterminedAmountOfPointsRequest = RedeemDeterminedAmountOfPointsRequest;\n    type loyaltyV1AccountAccounts_universal_d_RedeemDeterminedAmountOfPointsResponse = RedeemDeterminedAmountOfPointsResponse;\n    type loyaltyV1AccountAccounts_universal_d_RefundTransactionRequest = RefundTransactionRequest;\n    type loyaltyV1AccountAccounts_universal_d_RefundTransactionResponse = RefundTransactionResponse;\n    type loyaltyV1AccountAccounts_universal_d_GetAccountRequest = GetAccountRequest;\n    type loyaltyV1AccountAccounts_universal_d_GetAccountResponse = GetAccountResponse;\n    type loyaltyV1AccountAccounts_universal_d_QueryLoyaltyAccountsRequest = QueryLoyaltyAccountsRequest;\n    type loyaltyV1AccountAccounts_universal_d_CursorQuery = CursorQuery;\n    type loyaltyV1AccountAccounts_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n    type loyaltyV1AccountAccounts_universal_d_Sorting = Sorting;\n    type loyaltyV1AccountAccounts_universal_d_SortOrder = SortOrder;\n    const loyaltyV1AccountAccounts_universal_d_SortOrder: typeof SortOrder;\n    type loyaltyV1AccountAccounts_universal_d_CursorPaging = CursorPaging;\n    type loyaltyV1AccountAccounts_universal_d_QueryLoyaltyAccountsResponse = QueryLoyaltyAccountsResponse;\n    type loyaltyV1AccountAccounts_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n    type loyaltyV1AccountAccounts_universal_d_Cursors = Cursors;\n    type loyaltyV1AccountAccounts_universal_d_ListUserAccountsRequest = ListUserAccountsRequest;\n    type loyaltyV1AccountAccounts_universal_d_ListUserAccountsResponse = ListUserAccountsResponse;\n    type loyaltyV1AccountAccounts_universal_d_LoyaltyAccountForMetaSite = LoyaltyAccountForMetaSite;\n    type loyaltyV1AccountAccounts_universal_d_GetProgramTotalsRequest = GetProgramTotalsRequest;\n    type loyaltyV1AccountAccounts_universal_d_GetProgramTotalsResponse = GetProgramTotalsResponse;\n    type loyaltyV1AccountAccounts_universal_d_TierTotal = TierTotal;\n    type loyaltyV1AccountAccounts_universal_d_GetCurrentMemberAccountRequest = GetCurrentMemberAccountRequest;\n    type loyaltyV1AccountAccounts_universal_d_GetCurrentMemberAccountResponse = GetCurrentMemberAccountResponse;\n    type loyaltyV1AccountAccounts_universal_d_GetMyAccountRequest = GetMyAccountRequest;\n    type loyaltyV1AccountAccounts_universal_d_GetMyAccountResponse = GetMyAccountResponse;\n    type loyaltyV1AccountAccounts_universal_d_GetAccountBySecondaryIdRequest = GetAccountBySecondaryIdRequest;\n    type loyaltyV1AccountAccounts_universal_d_GetAccountBySecondaryIdRequestIdOneOf = GetAccountBySecondaryIdRequestIdOneOf;\n    type loyaltyV1AccountAccounts_universal_d_GetAccountBySecondaryIdResponse = GetAccountBySecondaryIdResponse;\n    type loyaltyV1AccountAccounts_universal_d_ListAccountsRequest = ListAccountsRequest;\n    type loyaltyV1AccountAccounts_universal_d_ListAccountsResponse = ListAccountsResponse;\n    type loyaltyV1AccountAccounts_universal_d_PagingMetadataV2 = PagingMetadataV2;\n    type loyaltyV1AccountAccounts_universal_d_SearchAccountsRequest = SearchAccountsRequest;\n    type loyaltyV1AccountAccounts_universal_d_CursorSearch = CursorSearch;\n    type loyaltyV1AccountAccounts_universal_d_CursorSearchPagingMethodOneOf = CursorSearchPagingMethodOneOf;\n    type loyaltyV1AccountAccounts_universal_d_Aggregation = Aggregation;\n    type loyaltyV1AccountAccounts_universal_d_AggregationKindOneOf = AggregationKindOneOf;\n    type loyaltyV1AccountAccounts_universal_d_RangeBucket = RangeBucket;\n    type loyaltyV1AccountAccounts_universal_d_SortType = SortType;\n    const loyaltyV1AccountAccounts_universal_d_SortType: typeof SortType;\n    type loyaltyV1AccountAccounts_universal_d_SortDirection = SortDirection;\n    const loyaltyV1AccountAccounts_universal_d_SortDirection: typeof SortDirection;\n    type loyaltyV1AccountAccounts_universal_d_MissingValues = MissingValues;\n    const loyaltyV1AccountAccounts_universal_d_MissingValues: typeof MissingValues;\n    type loyaltyV1AccountAccounts_universal_d_IncludeMissingValuesOptions = IncludeMissingValuesOptions;\n    type loyaltyV1AccountAccounts_universal_d_ScalarType = ScalarType;\n    const loyaltyV1AccountAccounts_universal_d_ScalarType: typeof ScalarType;\n    type loyaltyV1AccountAccounts_universal_d_ValueAggregation = ValueAggregation;\n    type loyaltyV1AccountAccounts_universal_d_ValueAggregationOptionsOneOf = ValueAggregationOptionsOneOf;\n    type loyaltyV1AccountAccounts_universal_d_NestedAggregationType = NestedAggregationType;\n    const loyaltyV1AccountAccounts_universal_d_NestedAggregationType: typeof NestedAggregationType;\n    type loyaltyV1AccountAccounts_universal_d_RangeAggregation = RangeAggregation;\n    type loyaltyV1AccountAccounts_universal_d_ScalarAggregation = ScalarAggregation;\n    type loyaltyV1AccountAccounts_universal_d_DateHistogramAggregation = DateHistogramAggregation;\n    type loyaltyV1AccountAccounts_universal_d_DateHistogramAggregationInterval = DateHistogramAggregationInterval;\n    const loyaltyV1AccountAccounts_universal_d_DateHistogramAggregationInterval: typeof DateHistogramAggregationInterval;\n    type loyaltyV1AccountAccounts_universal_d_NestedAggregationItem = NestedAggregationItem;\n    type loyaltyV1AccountAccounts_universal_d_NestedAggregationItemKindOneOf = NestedAggregationItemKindOneOf;\n    type loyaltyV1AccountAccounts_universal_d_AggregationType = AggregationType;\n    const loyaltyV1AccountAccounts_universal_d_AggregationType: typeof AggregationType;\n    type loyaltyV1AccountAccounts_universal_d_NestedAggregation = NestedAggregation;\n    type loyaltyV1AccountAccounts_universal_d_GroupByAggregation = GroupByAggregation;\n    type loyaltyV1AccountAccounts_universal_d_GroupByAggregationKindOneOf = GroupByAggregationKindOneOf;\n    type loyaltyV1AccountAccounts_universal_d_SearchDetails = SearchDetails;\n    type loyaltyV1AccountAccounts_universal_d_Mode = Mode;\n    const loyaltyV1AccountAccounts_universal_d_Mode: typeof Mode;\n    type loyaltyV1AccountAccounts_universal_d_SearchAccountsResponse = SearchAccountsResponse;\n    type loyaltyV1AccountAccounts_universal_d_AggregationData = AggregationData;\n    type loyaltyV1AccountAccounts_universal_d_ValueAggregationResult = ValueAggregationResult;\n    type loyaltyV1AccountAccounts_universal_d_RangeAggregationResult = RangeAggregationResult;\n    type loyaltyV1AccountAccounts_universal_d_NestedAggregationResults = NestedAggregationResults;\n    type loyaltyV1AccountAccounts_universal_d_NestedAggregationResultsResultOneOf = NestedAggregationResultsResultOneOf;\n    type loyaltyV1AccountAccounts_universal_d_ValueResults = ValueResults;\n    type loyaltyV1AccountAccounts_universal_d_RangeResults = RangeResults;\n    type loyaltyV1AccountAccounts_universal_d_AggregationResultsScalarResult = AggregationResultsScalarResult;\n    type loyaltyV1AccountAccounts_universal_d_NestedValueAggregationResult = NestedValueAggregationResult;\n    type loyaltyV1AccountAccounts_universal_d_ValueResult = ValueResult;\n    type loyaltyV1AccountAccounts_universal_d_RangeResult = RangeResult;\n    type loyaltyV1AccountAccounts_universal_d_ScalarResult = ScalarResult;\n    type loyaltyV1AccountAccounts_universal_d_NestedResultValue = NestedResultValue;\n    type loyaltyV1AccountAccounts_universal_d_NestedResultValueResultOneOf = NestedResultValueResultOneOf;\n    type loyaltyV1AccountAccounts_universal_d_Results = Results;\n    type loyaltyV1AccountAccounts_universal_d_DateHistogramResult = DateHistogramResult;\n    type loyaltyV1AccountAccounts_universal_d_GroupByValueResults = GroupByValueResults;\n    type loyaltyV1AccountAccounts_universal_d_DateHistogramResults = DateHistogramResults;\n    type loyaltyV1AccountAccounts_universal_d_NestedResults = NestedResults;\n    type loyaltyV1AccountAccounts_universal_d_AggregationResults = AggregationResults;\n    type loyaltyV1AccountAccounts_universal_d_AggregationResultsResultOneOf = AggregationResultsResultOneOf;\n    type loyaltyV1AccountAccounts_universal_d_ExportAccountsRequest = ExportAccountsRequest;\n    type loyaltyV1AccountAccounts_universal_d_QueryV2 = QueryV2;\n    type loyaltyV1AccountAccounts_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n    type loyaltyV1AccountAccounts_universal_d_Paging = Paging;\n    type loyaltyV1AccountAccounts_universal_d_ExportAccountsResponse = ExportAccountsResponse;\n    type loyaltyV1AccountAccounts_universal_d_CountAccountsRequest = CountAccountsRequest;\n    type loyaltyV1AccountAccounts_universal_d_CountAccountsResponse = CountAccountsResponse;\n    type loyaltyV1AccountAccounts_universal_d_BulkAdjustPointsRequest = BulkAdjustPointsRequest;\n    type loyaltyV1AccountAccounts_universal_d_BulkAdjustPointsRequestTypeOneOf = BulkAdjustPointsRequestTypeOneOf;\n    type loyaltyV1AccountAccounts_universal_d_BulkAdjustPointsResponse = BulkAdjustPointsResponse;\n    type loyaltyV1AccountAccounts_universal_d_DomainEvent = DomainEvent;\n    type loyaltyV1AccountAccounts_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n    type loyaltyV1AccountAccounts_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n    type loyaltyV1AccountAccounts_universal_d_RestoreInfo = RestoreInfo;\n    type loyaltyV1AccountAccounts_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n    type loyaltyV1AccountAccounts_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n    type loyaltyV1AccountAccounts_universal_d_ActionEvent = ActionEvent;\n    type loyaltyV1AccountAccounts_universal_d_Empty = Empty;\n    type loyaltyV1AccountAccounts_universal_d_TiersRollingUpdate = TiersRollingUpdate;\n    type loyaltyV1AccountAccounts_universal_d_TiersProgramSettingsChanged = TiersProgramSettingsChanged;\n    type loyaltyV1AccountAccounts_universal_d_TiersProgramSettings = TiersProgramSettings;\n    type loyaltyV1AccountAccounts_universal_d_TiersProgramSettingsPeriodOneOf = TiersProgramSettingsPeriodOneOf;\n    type loyaltyV1AccountAccounts_universal_d_Status = Status;\n    const loyaltyV1AccountAccounts_universal_d_Status: typeof Status;\n    type loyaltyV1AccountAccounts_universal_d_TierDefinition = TierDefinition;\n    type loyaltyV1AccountAccounts_universal_d_FocalPoint = FocalPoint;\n    type loyaltyV1AccountAccounts_universal_d_RollingWindow = RollingWindow;\n    type loyaltyV1AccountAccounts_universal_d_SubscriptionEvent = SubscriptionEvent;\n    type loyaltyV1AccountAccounts_universal_d_SubscriptionEventEventOneOf = SubscriptionEventEventOneOf;\n    type loyaltyV1AccountAccounts_universal_d_SubscriptionCreated = SubscriptionCreated;\n    type loyaltyV1AccountAccounts_universal_d_Subscription = Subscription;\n    type loyaltyV1AccountAccounts_universal_d_BillingReference = BillingReference;\n    type loyaltyV1AccountAccounts_universal_d_ProviderName = ProviderName;\n    const loyaltyV1AccountAccounts_universal_d_ProviderName: typeof ProviderName;\n    type loyaltyV1AccountAccounts_universal_d_Cycle = Cycle;\n    type loyaltyV1AccountAccounts_universal_d_CycleCycleSelectorOneOf = CycleCycleSelectorOneOf;\n    type loyaltyV1AccountAccounts_universal_d_Interval = Interval;\n    type loyaltyV1AccountAccounts_universal_d_IntervalUnit = IntervalUnit;\n    const loyaltyV1AccountAccounts_universal_d_IntervalUnit: typeof IntervalUnit;\n    type loyaltyV1AccountAccounts_universal_d_OneTime = OneTime;\n    type loyaltyV1AccountAccounts_universal_d_SubscriptionStatus = SubscriptionStatus;\n    const loyaltyV1AccountAccounts_universal_d_SubscriptionStatus: typeof SubscriptionStatus;\n    type loyaltyV1AccountAccounts_universal_d_ReactivationData = ReactivationData;\n    type loyaltyV1AccountAccounts_universal_d_ReactivationReasonEnum = ReactivationReasonEnum;\n    const loyaltyV1AccountAccounts_universal_d_ReactivationReasonEnum: typeof ReactivationReasonEnum;\n    type loyaltyV1AccountAccounts_universal_d_SubscriptionAssigned = SubscriptionAssigned;\n    type loyaltyV1AccountAccounts_universal_d_SubscriptionCancelled = SubscriptionCancelled;\n    type loyaltyV1AccountAccounts_universal_d_CancellationDetails = CancellationDetails;\n    type loyaltyV1AccountAccounts_universal_d_Initiator = Initiator;\n    const loyaltyV1AccountAccounts_universal_d_Initiator: typeof Initiator;\n    type loyaltyV1AccountAccounts_universal_d_SubscriptionAutoRenewTurnedOn = SubscriptionAutoRenewTurnedOn;\n    type loyaltyV1AccountAccounts_universal_d_SubscriptionAutoRenewTurnedOff = SubscriptionAutoRenewTurnedOff;\n    type loyaltyV1AccountAccounts_universal_d_SubscriptionUnassigned = SubscriptionUnassigned;\n    type loyaltyV1AccountAccounts_universal_d_UnassignReason = UnassignReason;\n    const loyaltyV1AccountAccounts_universal_d_UnassignReason: typeof UnassignReason;\n    type loyaltyV1AccountAccounts_universal_d_SubscriptionTransferred = SubscriptionTransferred;\n    type loyaltyV1AccountAccounts_universal_d_RecurringChargeSucceeded = RecurringChargeSucceeded;\n    type loyaltyV1AccountAccounts_universal_d_ContractSwitched = ContractSwitched;\n    type loyaltyV1AccountAccounts_universal_d_ContractSwitchType = ContractSwitchType;\n    const loyaltyV1AccountAccounts_universal_d_ContractSwitchType: typeof ContractSwitchType;\n    type loyaltyV1AccountAccounts_universal_d_ContractSwitchReason = ContractSwitchReason;\n    const loyaltyV1AccountAccounts_universal_d_ContractSwitchReason: typeof ContractSwitchReason;\n    type loyaltyV1AccountAccounts_universal_d_ProductPriceIncreaseData = ProductPriceIncreaseData;\n    type loyaltyV1AccountAccounts_universal_d_PriceIncreaseTrigger = PriceIncreaseTrigger;\n    const loyaltyV1AccountAccounts_universal_d_PriceIncreaseTrigger: typeof PriceIncreaseTrigger;\n    type loyaltyV1AccountAccounts_universal_d_ProductAdjustment = ProductAdjustment;\n    const loyaltyV1AccountAccounts_universal_d_ProductAdjustment: typeof ProductAdjustment;\n    type loyaltyV1AccountAccounts_universal_d_SubscriptionNearEndOfPeriod = SubscriptionNearEndOfPeriod;\n    type loyaltyV1AccountAccounts_universal_d_SubscriptionPendingChange = SubscriptionPendingChange;\n    type loyaltyV1AccountAccounts_universal_d_ContactSyncRequest = ContactSyncRequest;\n    type loyaltyV1AccountAccounts_universal_d_BulkUpsertAccountsRequest = BulkUpsertAccountsRequest;\n    type loyaltyV1AccountAccounts_universal_d_AccountToUpsert = AccountToUpsert;\n    type loyaltyV1AccountAccounts_universal_d_BulkUpsertAccountsResponse = BulkUpsertAccountsResponse;\n    type loyaltyV1AccountAccounts_universal_d_BulkAccountResult = BulkAccountResult;\n    type loyaltyV1AccountAccounts_universal_d_ItemMetadata = ItemMetadata;\n    type loyaltyV1AccountAccounts_universal_d_ApplicationError = ApplicationError;\n    type loyaltyV1AccountAccounts_universal_d_BulkActionMetadata = BulkActionMetadata;\n    type loyaltyV1AccountAccounts_universal_d_SetMissingMemberIdRequest = SetMissingMemberIdRequest;\n    type loyaltyV1AccountAccounts_universal_d_SetMissingMemberIdResponse = SetMissingMemberIdResponse;\n    type loyaltyV1AccountAccounts_universal_d_MessageEnvelope = MessageEnvelope;\n    type loyaltyV1AccountAccounts_universal_d_IdentificationData = IdentificationData;\n    type loyaltyV1AccountAccounts_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n    type loyaltyV1AccountAccounts_universal_d_WebhookIdentityType = WebhookIdentityType;\n    const loyaltyV1AccountAccounts_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n    const loyaltyV1AccountAccounts_universal_d_createAccount: typeof createAccount;\n    const loyaltyV1AccountAccounts_universal_d_earnPoints: typeof earnPoints;\n    type loyaltyV1AccountAccounts_universal_d_EarnPointsOptions = EarnPointsOptions;\n    const loyaltyV1AccountAccounts_universal_d_adjustPoints: typeof adjustPoints;\n    type loyaltyV1AccountAccounts_universal_d_AdjustPointsOptions = AdjustPointsOptions;\n    type loyaltyV1AccountAccounts_universal_d_RedeemPointsOptions = RedeemPointsOptions;\n    type loyaltyV1AccountAccounts_universal_d_RedeemDeterminedAmountOfPointsOptions = RedeemDeterminedAmountOfPointsOptions;\n    const loyaltyV1AccountAccounts_universal_d_getAccount: typeof getAccount;\n    const loyaltyV1AccountAccounts_universal_d_queryLoyaltyAccounts: typeof queryLoyaltyAccounts;\n    type loyaltyV1AccountAccounts_universal_d_LoyaltyAccountsQueryResult = LoyaltyAccountsQueryResult;\n    type loyaltyV1AccountAccounts_universal_d_LoyaltyAccountsQueryBuilder = LoyaltyAccountsQueryBuilder;\n    type loyaltyV1AccountAccounts_universal_d_ListUserAccountsOptions = ListUserAccountsOptions;\n    const loyaltyV1AccountAccounts_universal_d_getProgramTotals: typeof getProgramTotals;\n    const loyaltyV1AccountAccounts_universal_d_getCurrentMemberAccount: typeof getCurrentMemberAccount;\n    const loyaltyV1AccountAccounts_universal_d_getAccountBySecondaryId: typeof getAccountBySecondaryId;\n    type loyaltyV1AccountAccounts_universal_d_GetAccountBySecondaryIdOptions = GetAccountBySecondaryIdOptions;\n    const loyaltyV1AccountAccounts_universal_d_listAccounts: typeof listAccounts;\n    type loyaltyV1AccountAccounts_universal_d_ListAccountsOptions = ListAccountsOptions;\n    const loyaltyV1AccountAccounts_universal_d_searchAccounts: typeof searchAccounts;\n    type loyaltyV1AccountAccounts_universal_d_SearchAccountsOptions = SearchAccountsOptions;\n    type loyaltyV1AccountAccounts_universal_d_ExportAccountsOptions = ExportAccountsOptions;\n    const loyaltyV1AccountAccounts_universal_d_countAccounts: typeof countAccounts;\n    type loyaltyV1AccountAccounts_universal_d_CountAccountsOptions = CountAccountsOptions;\n    const loyaltyV1AccountAccounts_universal_d_bulkAdjustPoints: typeof bulkAdjustPoints;\n    type loyaltyV1AccountAccounts_universal_d_BulkAdjustPointsOptions = BulkAdjustPointsOptions;\n    type loyaltyV1AccountAccounts_universal_d_BulkUpsertAccountsOptions = BulkUpsertAccountsOptions;\n    namespace loyaltyV1AccountAccounts_universal_d {\n        export { loyaltyV1AccountAccounts_universal_d_LoyaltyAccount as LoyaltyAccount, loyaltyV1AccountAccounts_universal_d_Points as Points, loyaltyV1AccountAccounts_universal_d_Tier as Tier, loyaltyV1AccountAccounts_universal_d_Contact as Contact, loyaltyV1AccountAccounts_universal_d_Image as Image, loyaltyV1AccountAccounts_universal_d_PointsExpiration as PointsExpiration, loyaltyV1AccountAccounts_universal_d_RewardAvailabilityUpdated as RewardAvailabilityUpdated, loyaltyV1AccountAccounts_universal_d_UpdateTrigger as UpdateTrigger, loyaltyV1AccountAccounts_universal_d_CreateAccountRequest as CreateAccountRequest, loyaltyV1AccountAccounts_universal_d_CreateAccountResponse as CreateAccountResponse, loyaltyV1AccountAccounts_universal_d_EarnPointsRequest as EarnPointsRequest, loyaltyV1AccountAccounts_universal_d_EarnPointsRequestActivityDetailsOneOf as EarnPointsRequestActivityDetailsOneOf, loyaltyV1AccountAccounts_universal_d_FollowedSocialMedia as FollowedSocialMedia, loyaltyV1AccountAccounts_universal_d_EarnPointsResponse as EarnPointsResponse, loyaltyV1AccountAccounts_universal_d_PointsUpdated as PointsUpdated, loyaltyV1AccountAccounts_universal_d_FirstTransaction as FirstTransaction, loyaltyV1AccountAccounts_universal_d_AdjustPointsRequest as AdjustPointsRequest, loyaltyV1AccountAccounts_universal_d_AdjustPointsRequestTypeOneOf as AdjustPointsRequestTypeOneOf, loyaltyV1AccountAccounts_universal_d_AdjustPointsResponse as AdjustPointsResponse, loyaltyV1AccountAccounts_universal_d_RedeemPointsRequest as RedeemPointsRequest, loyaltyV1AccountAccounts_universal_d_RedeemPointsResponse as RedeemPointsResponse, loyaltyV1AccountAccounts_universal_d_RedeemDeterminedAmountOfPointsRequest as RedeemDeterminedAmountOfPointsRequest, loyaltyV1AccountAccounts_universal_d_RedeemDeterminedAmountOfPointsResponse as RedeemDeterminedAmountOfPointsResponse, loyaltyV1AccountAccounts_universal_d_RefundTransactionRequest as RefundTransactionRequest, loyaltyV1AccountAccounts_universal_d_RefundTransactionResponse as RefundTransactionResponse, loyaltyV1AccountAccounts_universal_d_GetAccountRequest as GetAccountRequest, loyaltyV1AccountAccounts_universal_d_GetAccountResponse as GetAccountResponse, loyaltyV1AccountAccounts_universal_d_QueryLoyaltyAccountsRequest as QueryLoyaltyAccountsRequest, loyaltyV1AccountAccounts_universal_d_CursorQuery as CursorQuery, loyaltyV1AccountAccounts_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf, loyaltyV1AccountAccounts_universal_d_Sorting as Sorting, loyaltyV1AccountAccounts_universal_d_SortOrder as SortOrder, loyaltyV1AccountAccounts_universal_d_CursorPaging as CursorPaging, loyaltyV1AccountAccounts_universal_d_QueryLoyaltyAccountsResponse as QueryLoyaltyAccountsResponse, loyaltyV1AccountAccounts_universal_d_CursorPagingMetadata as CursorPagingMetadata, loyaltyV1AccountAccounts_universal_d_Cursors as Cursors, loyaltyV1AccountAccounts_universal_d_ListUserAccountsRequest as ListUserAccountsRequest, loyaltyV1AccountAccounts_universal_d_ListUserAccountsResponse as ListUserAccountsResponse, loyaltyV1AccountAccounts_universal_d_LoyaltyAccountForMetaSite as LoyaltyAccountForMetaSite, loyaltyV1AccountAccounts_universal_d_GetProgramTotalsRequest as GetProgramTotalsRequest, loyaltyV1AccountAccounts_universal_d_GetProgramTotalsResponse as GetProgramTotalsResponse, loyaltyV1AccountAccounts_universal_d_TierTotal as TierTotal, loyaltyV1AccountAccounts_universal_d_GetCurrentMemberAccountRequest as GetCurrentMemberAccountRequest, loyaltyV1AccountAccounts_universal_d_GetCurrentMemberAccountResponse as GetCurrentMemberAccountResponse, loyaltyV1AccountAccounts_universal_d_GetMyAccountRequest as GetMyAccountRequest, loyaltyV1AccountAccounts_universal_d_GetMyAccountResponse as GetMyAccountResponse, loyaltyV1AccountAccounts_universal_d_GetAccountBySecondaryIdRequest as GetAccountBySecondaryIdRequest, loyaltyV1AccountAccounts_universal_d_GetAccountBySecondaryIdRequestIdOneOf as GetAccountBySecondaryIdRequestIdOneOf, loyaltyV1AccountAccounts_universal_d_GetAccountBySecondaryIdResponse as GetAccountBySecondaryIdResponse, loyaltyV1AccountAccounts_universal_d_ListAccountsRequest as ListAccountsRequest, loyaltyV1AccountAccounts_universal_d_ListAccountsResponse as ListAccountsResponse, loyaltyV1AccountAccounts_universal_d_PagingMetadataV2 as PagingMetadataV2, loyaltyV1AccountAccounts_universal_d_SearchAccountsRequest as SearchAccountsRequest, loyaltyV1AccountAccounts_universal_d_CursorSearch as CursorSearch, loyaltyV1AccountAccounts_universal_d_CursorSearchPagingMethodOneOf as CursorSearchPagingMethodOneOf, loyaltyV1AccountAccounts_universal_d_Aggregation as Aggregation, loyaltyV1AccountAccounts_universal_d_AggregationKindOneOf as AggregationKindOneOf, loyaltyV1AccountAccounts_universal_d_RangeBucket as RangeBucket, loyaltyV1AccountAccounts_universal_d_SortType as SortType, loyaltyV1AccountAccounts_universal_d_SortDirection as SortDirection, loyaltyV1AccountAccounts_universal_d_MissingValues as MissingValues, loyaltyV1AccountAccounts_universal_d_IncludeMissingValuesOptions as IncludeMissingValuesOptions, loyaltyV1AccountAccounts_universal_d_ScalarType as ScalarType, loyaltyV1AccountAccounts_universal_d_ValueAggregation as ValueAggregation, loyaltyV1AccountAccounts_universal_d_ValueAggregationOptionsOneOf as ValueAggregationOptionsOneOf, loyaltyV1AccountAccounts_universal_d_NestedAggregationType as NestedAggregationType, loyaltyV1AccountAccounts_universal_d_RangeAggregation as RangeAggregation, loyaltyV1AccountAccounts_universal_d_ScalarAggregation as ScalarAggregation, loyaltyV1AccountAccounts_universal_d_DateHistogramAggregation as DateHistogramAggregation, loyaltyV1AccountAccounts_universal_d_DateHistogramAggregationInterval as DateHistogramAggregationInterval, loyaltyV1AccountAccounts_universal_d_NestedAggregationItem as NestedAggregationItem, loyaltyV1AccountAccounts_universal_d_NestedAggregationItemKindOneOf as NestedAggregationItemKindOneOf, loyaltyV1AccountAccounts_universal_d_AggregationType as AggregationType, loyaltyV1AccountAccounts_universal_d_NestedAggregation as NestedAggregation, loyaltyV1AccountAccounts_universal_d_GroupByAggregation as GroupByAggregation, loyaltyV1AccountAccounts_universal_d_GroupByAggregationKindOneOf as GroupByAggregationKindOneOf, loyaltyV1AccountAccounts_universal_d_SearchDetails as SearchDetails, loyaltyV1AccountAccounts_universal_d_Mode as Mode, loyaltyV1AccountAccounts_universal_d_SearchAccountsResponse as SearchAccountsResponse, loyaltyV1AccountAccounts_universal_d_AggregationData as AggregationData, loyaltyV1AccountAccounts_universal_d_ValueAggregationResult as ValueAggregationResult, loyaltyV1AccountAccounts_universal_d_RangeAggregationResult as RangeAggregationResult, loyaltyV1AccountAccounts_universal_d_NestedAggregationResults as NestedAggregationResults, loyaltyV1AccountAccounts_universal_d_NestedAggregationResultsResultOneOf as NestedAggregationResultsResultOneOf, loyaltyV1AccountAccounts_universal_d_ValueResults as ValueResults, loyaltyV1AccountAccounts_universal_d_RangeResults as RangeResults, loyaltyV1AccountAccounts_universal_d_AggregationResultsScalarResult as AggregationResultsScalarResult, loyaltyV1AccountAccounts_universal_d_NestedValueAggregationResult as NestedValueAggregationResult, loyaltyV1AccountAccounts_universal_d_ValueResult as ValueResult, loyaltyV1AccountAccounts_universal_d_RangeResult as RangeResult, loyaltyV1AccountAccounts_universal_d_ScalarResult as ScalarResult, loyaltyV1AccountAccounts_universal_d_NestedResultValue as NestedResultValue, loyaltyV1AccountAccounts_universal_d_NestedResultValueResultOneOf as NestedResultValueResultOneOf, loyaltyV1AccountAccounts_universal_d_Results as Results, loyaltyV1AccountAccounts_universal_d_DateHistogramResult as DateHistogramResult, loyaltyV1AccountAccounts_universal_d_GroupByValueResults as GroupByValueResults, loyaltyV1AccountAccounts_universal_d_DateHistogramResults as DateHistogramResults, loyaltyV1AccountAccounts_universal_d_NestedResults as NestedResults, loyaltyV1AccountAccounts_universal_d_AggregationResults as AggregationResults, loyaltyV1AccountAccounts_universal_d_AggregationResultsResultOneOf as AggregationResultsResultOneOf, loyaltyV1AccountAccounts_universal_d_ExportAccountsRequest as ExportAccountsRequest, loyaltyV1AccountAccounts_universal_d_QueryV2 as QueryV2, loyaltyV1AccountAccounts_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf, loyaltyV1AccountAccounts_universal_d_Paging as Paging, loyaltyV1AccountAccounts_universal_d_ExportAccountsResponse as ExportAccountsResponse, loyaltyV1AccountAccounts_universal_d_CountAccountsRequest as CountAccountsRequest, loyaltyV1AccountAccounts_universal_d_CountAccountsResponse as CountAccountsResponse, loyaltyV1AccountAccounts_universal_d_BulkAdjustPointsRequest as BulkAdjustPointsRequest, loyaltyV1AccountAccounts_universal_d_BulkAdjustPointsRequestTypeOneOf as BulkAdjustPointsRequestTypeOneOf, loyaltyV1AccountAccounts_universal_d_BulkAdjustPointsResponse as BulkAdjustPointsResponse, loyaltyV1AccountAccounts_universal_d_DomainEvent as DomainEvent, loyaltyV1AccountAccounts_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf, loyaltyV1AccountAccounts_universal_d_EntityCreatedEvent as EntityCreatedEvent, loyaltyV1AccountAccounts_universal_d_RestoreInfo as RestoreInfo, loyaltyV1AccountAccounts_universal_d_EntityUpdatedEvent as EntityUpdatedEvent, loyaltyV1AccountAccounts_universal_d_EntityDeletedEvent as EntityDeletedEvent, loyaltyV1AccountAccounts_universal_d_ActionEvent as ActionEvent, loyaltyV1AccountAccounts_universal_d_Empty as Empty, loyaltyV1AccountAccounts_universal_d_TiersRollingUpdate as TiersRollingUpdate, loyaltyV1AccountAccounts_universal_d_TiersProgramSettingsChanged as TiersProgramSettingsChanged, loyaltyV1AccountAccounts_universal_d_TiersProgramSettings as TiersProgramSettings, loyaltyV1AccountAccounts_universal_d_TiersProgramSettingsPeriodOneOf as TiersProgramSettingsPeriodOneOf, loyaltyV1AccountAccounts_universal_d_Status as Status, loyaltyV1AccountAccounts_universal_d_TierDefinition as TierDefinition, loyaltyV1AccountAccounts_universal_d_FocalPoint as FocalPoint, loyaltyV1AccountAccounts_universal_d_RollingWindow as RollingWindow, loyaltyV1AccountAccounts_universal_d_SubscriptionEvent as SubscriptionEvent, loyaltyV1AccountAccounts_universal_d_SubscriptionEventEventOneOf as SubscriptionEventEventOneOf, loyaltyV1AccountAccounts_universal_d_SubscriptionCreated as SubscriptionCreated, loyaltyV1AccountAccounts_universal_d_Subscription as Subscription, loyaltyV1AccountAccounts_universal_d_BillingReference as BillingReference, loyaltyV1AccountAccounts_universal_d_ProviderName as ProviderName, loyaltyV1AccountAccounts_universal_d_Cycle as Cycle, loyaltyV1AccountAccounts_universal_d_CycleCycleSelectorOneOf as CycleCycleSelectorOneOf, loyaltyV1AccountAccounts_universal_d_Interval as Interval, loyaltyV1AccountAccounts_universal_d_IntervalUnit as IntervalUnit, loyaltyV1AccountAccounts_universal_d_OneTime as OneTime, loyaltyV1AccountAccounts_universal_d_SubscriptionStatus as SubscriptionStatus, loyaltyV1AccountAccounts_universal_d_ReactivationData as ReactivationData, loyaltyV1AccountAccounts_universal_d_ReactivationReasonEnum as ReactivationReasonEnum, loyaltyV1AccountAccounts_universal_d_SubscriptionAssigned as SubscriptionAssigned, loyaltyV1AccountAccounts_universal_d_SubscriptionCancelled as SubscriptionCancelled, loyaltyV1AccountAccounts_universal_d_CancellationDetails as CancellationDetails, loyaltyV1AccountAccounts_universal_d_Initiator as Initiator, loyaltyV1AccountAccounts_universal_d_SubscriptionAutoRenewTurnedOn as SubscriptionAutoRenewTurnedOn, loyaltyV1AccountAccounts_universal_d_SubscriptionAutoRenewTurnedOff as SubscriptionAutoRenewTurnedOff, loyaltyV1AccountAccounts_universal_d_SubscriptionUnassigned as SubscriptionUnassigned, loyaltyV1AccountAccounts_universal_d_UnassignReason as UnassignReason, loyaltyV1AccountAccounts_universal_d_SubscriptionTransferred as SubscriptionTransferred, loyaltyV1AccountAccounts_universal_d_RecurringChargeSucceeded as RecurringChargeSucceeded, loyaltyV1AccountAccounts_universal_d_ContractSwitched as ContractSwitched, loyaltyV1AccountAccounts_universal_d_ContractSwitchType as ContractSwitchType, loyaltyV1AccountAccounts_universal_d_ContractSwitchReason as ContractSwitchReason, loyaltyV1AccountAccounts_universal_d_ProductPriceIncreaseData as ProductPriceIncreaseData, loyaltyV1AccountAccounts_universal_d_PriceIncreaseTrigger as PriceIncreaseTrigger, loyaltyV1AccountAccounts_universal_d_ProductAdjustment as ProductAdjustment, loyaltyV1AccountAccounts_universal_d_SubscriptionNearEndOfPeriod as SubscriptionNearEndOfPeriod, loyaltyV1AccountAccounts_universal_d_SubscriptionPendingChange as SubscriptionPendingChange, loyaltyV1AccountAccounts_universal_d_ContactSyncRequest as ContactSyncRequest, loyaltyV1AccountAccounts_universal_d_BulkUpsertAccountsRequest as BulkUpsertAccountsRequest, loyaltyV1AccountAccounts_universal_d_AccountToUpsert as AccountToUpsert, loyaltyV1AccountAccounts_universal_d_BulkUpsertAccountsResponse as BulkUpsertAccountsResponse, loyaltyV1AccountAccounts_universal_d_BulkAccountResult as BulkAccountResult, loyaltyV1AccountAccounts_universal_d_ItemMetadata as ItemMetadata, loyaltyV1AccountAccounts_universal_d_ApplicationError as ApplicationError, loyaltyV1AccountAccounts_universal_d_BulkActionMetadata as BulkActionMetadata, loyaltyV1AccountAccounts_universal_d_SetMissingMemberIdRequest as SetMissingMemberIdRequest, loyaltyV1AccountAccounts_universal_d_SetMissingMemberIdResponse as SetMissingMemberIdResponse, loyaltyV1AccountAccounts_universal_d_MessageEnvelope as MessageEnvelope, loyaltyV1AccountAccounts_universal_d_IdentificationData as IdentificationData, loyaltyV1AccountAccounts_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf, loyaltyV1AccountAccounts_universal_d_WebhookIdentityType as WebhookIdentityType, loyaltyV1AccountAccounts_universal_d_createAccount as createAccount, loyaltyV1AccountAccounts_universal_d_earnPoints as earnPoints, loyaltyV1AccountAccounts_universal_d_EarnPointsOptions as EarnPointsOptions, loyaltyV1AccountAccounts_universal_d_adjustPoints as adjustPoints, loyaltyV1AccountAccounts_universal_d_AdjustPointsOptions as AdjustPointsOptions, loyaltyV1AccountAccounts_universal_d_RedeemPointsOptions as RedeemPointsOptions, loyaltyV1AccountAccounts_universal_d_RedeemDeterminedAmountOfPointsOptions as RedeemDeterminedAmountOfPointsOptions, loyaltyV1AccountAccounts_universal_d_getAccount as getAccount, loyaltyV1AccountAccounts_universal_d_queryLoyaltyAccounts as queryLoyaltyAccounts, loyaltyV1AccountAccounts_universal_d_LoyaltyAccountsQueryResult as LoyaltyAccountsQueryResult, loyaltyV1AccountAccounts_universal_d_LoyaltyAccountsQueryBuilder as LoyaltyAccountsQueryBuilder, loyaltyV1AccountAccounts_universal_d_ListUserAccountsOptions as ListUserAccountsOptions, loyaltyV1AccountAccounts_universal_d_getProgramTotals as getProgramTotals, loyaltyV1AccountAccounts_universal_d_getCurrentMemberAccount as getCurrentMemberAccount, loyaltyV1AccountAccounts_universal_d_getAccountBySecondaryId as getAccountBySecondaryId, loyaltyV1AccountAccounts_universal_d_GetAccountBySecondaryIdOptions as GetAccountBySecondaryIdOptions, loyaltyV1AccountAccounts_universal_d_listAccounts as listAccounts, loyaltyV1AccountAccounts_universal_d_ListAccountsOptions as ListAccountsOptions, loyaltyV1AccountAccounts_universal_d_searchAccounts as searchAccounts, loyaltyV1AccountAccounts_universal_d_SearchAccountsOptions as SearchAccountsOptions, loyaltyV1AccountAccounts_universal_d_ExportAccountsOptions as ExportAccountsOptions, loyaltyV1AccountAccounts_universal_d_countAccounts as countAccounts, loyaltyV1AccountAccounts_universal_d_CountAccountsOptions as CountAccountsOptions, loyaltyV1AccountAccounts_universal_d_bulkAdjustPoints as bulkAdjustPoints, loyaltyV1AccountAccounts_universal_d_BulkAdjustPointsOptions as BulkAdjustPointsOptions, loyaltyV1AccountAccounts_universal_d_BulkUpsertAccountsOptions as BulkUpsertAccountsOptions, };\n    }\n    export { loyaltyV1AccountAccounts_universal_d as accounts, loyaltyV1CouponCoupons_universal_d as coupons, loyaltyV1ProgramPrograms_universal_d as programs, loyaltyV1RewardRewards_universal_d as rewards, loyaltyV1TierTiers_universal_d as tiers, loyaltyTransactionV1LoyaltyTransactionTransactions_universal_d as transactions };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/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    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 AddTypeToLocationRequest {\n        /** ID of the location where the type will be added. */\n        _id: string;\n        /** Location type to add. */\n        locationType: LocationType;\n    }\n    interface AddTypeToLocationResponse {\n        /** Updated location. */\n        location?: Location;\n    }\n    interface RemoveTypeFromLocationRequest {\n        /** ID of the location where the type will be removed. */\n        _id: string;\n        /** Location type to remove. */\n        locationType: LocationType;\n    }\n    interface RemoveTypeFromLocationResponse {\n        /** Updated location. */\n        location?: Location;\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        /** 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    interface EntityDeletedEvent {\n        /** Entity that was deleted */\n        deletedEntityAsJson?: 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     * @permissionScope Manage Locations\n     * @permissionScopeId SCOPE.DC-MULTILOCATION.MANAGE-LOCATIONS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Created location.\n     * @fqn com.wixpress.locations.LocationsService.CreateLocation\n     */\n    function createLocation(location: Location): Promise<Location>;\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Calendars\n     * @permissionScopeId SCOPE.DC-CALENDAR.MANAGE\n     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Read Bookings - Including Participants\n     * @permissionScopeId SCOPE.DC-BOOKINGS.READ-BOOKINGS-SENSITIVE\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Read Bookings - all read permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.READ-BOOKINGS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @permissionScope Manage Locations\n     * @permissionScopeId SCOPE.DC-MULTILOCATION.MANAGE-LOCATIONS\n     * @permissionScope Read bookings calendar - including participants\n     * @permissionScopeId SCOPE.DC-BOOKINGS.READ-CALENDAR-WITH-PARTICIPANTS\n     * @permissionScope Read Locations\n     * @permissionScopeId SCOPE.DC-MULTILOCATION.READ-LOCATIONS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @adminMethod\n     * @returns Retrieved location.\n     * @fqn com.wixpress.locations.LocationsService.GetLocation\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Calendars\n     * @permissionScopeId SCOPE.DC-CALENDAR.MANAGE\n     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Read Bookings - Including Participants\n     * @permissionScopeId SCOPE.DC-BOOKINGS.READ-BOOKINGS-SENSITIVE\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Read Bookings - all read permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.READ-BOOKINGS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @permissionScope Manage Locations\n     * @permissionScopeId SCOPE.DC-MULTILOCATION.MANAGE-LOCATIONS\n     * @permissionScope Read bookings calendar - including participants\n     * @permissionScopeId SCOPE.DC-BOOKINGS.READ-CALENDAR-WITH-PARTICIPANTS\n     * @permissionScope Read Locations\n     * @permissionScopeId SCOPE.DC-MULTILOCATION.READ-LOCATIONS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @adminMethod\n     * @fqn com.wixpress.locations.LocationsService.ListLocations\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     * @permissionScope Manage Locations\n     * @permissionScopeId SCOPE.DC-MULTILOCATION.MANAGE-LOCATIONS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Updated location.\n     * @fqn com.wixpress.locations.LocationsService.UpdateLocation\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     * 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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Calendars\n     * @permissionScopeId SCOPE.DC-CALENDAR.MANAGE\n     * @permissionScope Manage Bookings\n     * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS\n     * @permissionScope Read Bookings - Including Participants\n     * @permissionScopeId SCOPE.DC-BOOKINGS.READ-BOOKINGS-SENSITIVE\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Read Bookings - all read permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.READ-BOOKINGS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage Bookings - all permissions\n     * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS\n     * @permissionScope Manage Locations\n     * @permissionScopeId SCOPE.DC-MULTILOCATION.MANAGE-LOCATIONS\n     * @permissionScope Read bookings calendar - including participants\n     * @permissionScopeId SCOPE.DC-BOOKINGS.READ-CALENDAR-WITH-PARTICIPANTS\n     * @permissionScope Read Locations\n     * @permissionScopeId SCOPE.DC-MULTILOCATION.READ-LOCATIONS\n     * @permissionId LOCATIONS.READ\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @adminMethod\n     * @fqn com.wixpress.locations.LocationsService.QueryLocations\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     * @permissionScope Manage Locations\n     * @permissionScopeId SCOPE.DC-MULTILOCATION.MANAGE-LOCATIONS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.locations.LocationsService.SetDefaultLocation\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     * @permissionScope Manage Locations\n     * @permissionScopeId SCOPE.DC-MULTILOCATION.MANAGE-LOCATIONS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.locations.LocationsService.ArchiveLocation\n     */\n    function archiveLocation(_id: string): Promise<ArchiveLocationResponse>;\n    /**\n     * Adds a location type to the specified location.\n     * @param _id - ID of the location where the type will be added.\n     * @param locationType - Location type to add.\n     * @public\n     * @documentationMaturity preview\n     * @requiredField _id\n     * @requiredField locationType\n     * @permissionId LOCATIONS.MANAGE\n     * @permissionScope Manage Locations\n     * @permissionScopeId SCOPE.DC-MULTILOCATION.MANAGE-LOCATIONS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.locations.LocationsService.AddTypeToLocation\n     */\n    function addTypeToLocation(_id: string, locationType: LocationType): Promise<AddTypeToLocationResponse>;\n    /**\n     * Removes a location type from the specified location.\n     * @param _id - ID of the location where the type will be removed.\n     * @param locationType - Location type to remove.\n     * @public\n     * @documentationMaturity preview\n     * @requiredField _id\n     * @requiredField locationType\n     * @permissionId LOCATIONS.MANAGE\n     * @permissionScope Manage Locations\n     * @permissionScopeId SCOPE.DC-MULTILOCATION.MANAGE-LOCATIONS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.locations.LocationsService.RemoveTypeFromLocation\n     */\n    function removeTypeFromLocation(_id: string, locationType: LocationType): Promise<RemoveTypeFromLocationResponse>;\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     * > + This EP is deprecated - Please use AddTypeFromLocation instead.\n     * @param _id - Location id to add type\n     * @public\n     * @documentationMaturity preview\n     * @requiredField _id\n     * @requiredField locationType\n     * @permissionId LOCATIONS.MANAGE\n     * @permissionScope Manage Locations\n     * @permissionScopeId SCOPE.DC-MULTILOCATION.MANAGE-LOCATIONS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.locations.LocationsService.AddLocationType\n     * @deprecated\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     * > + This EP is deprecated - Please use RemoveTypeFromLocation instead.\n     * @param _id - Location id to add type\n     * @public\n     * @documentationMaturity preview\n     * @requiredField _id\n     * @requiredField locationType\n     * @permissionId LOCATIONS.MANAGE\n     * @permissionScope Manage Locations\n     * @permissionScopeId SCOPE.DC-MULTILOCATION.MANAGE-LOCATIONS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.locations.LocationsService.RemoveLocationType\n     * @deprecated\n     */\n    function removeLocationType(_id: string, locationType: LocationType): Promise<RemoveLocationTypeResponse>;\n    type locationsV1LocationLocations_universal_d_Location = Location;\n    type locationsV1LocationLocations_universal_d_LocationStatus = LocationStatus;\n    const locationsV1LocationLocations_universal_d_LocationStatus: typeof LocationStatus;\n    type locationsV1LocationLocations_universal_d_LocationType = LocationType;\n    const locationsV1LocationLocations_universal_d_LocationType: typeof LocationType;\n    type locationsV1LocationLocations_universal_d_StreetAddress = StreetAddress;\n    type locationsV1LocationLocations_universal_d_AddressLocation = AddressLocation;\n    type locationsV1LocationLocations_universal_d_CreateLocationRequest = CreateLocationRequest;\n    type locationsV1LocationLocations_universal_d_CreateLocationResponse = CreateLocationResponse;\n    type locationsV1LocationLocations_universal_d_BulkCreateLocationRequest = BulkCreateLocationRequest;\n    type locationsV1LocationLocations_universal_d_BulkCreateLocationResponse = BulkCreateLocationResponse;\n    type locationsV1LocationLocations_universal_d_FailedCreateLocation = FailedCreateLocation;\n    type locationsV1LocationLocations_universal_d_GetLocationRequest = GetLocationRequest;\n    type locationsV1LocationLocations_universal_d_GetLocationResponse = GetLocationResponse;\n    type locationsV1LocationLocations_universal_d_ListLocationsRequest = ListLocationsRequest;\n    type locationsV1LocationLocations_universal_d_Sorting = Sorting;\n    type locationsV1LocationLocations_universal_d_SortOrder = SortOrder;\n    const locationsV1LocationLocations_universal_d_SortOrder: typeof SortOrder;\n    type locationsV1LocationLocations_universal_d_Paging = Paging;\n    type locationsV1LocationLocations_universal_d_ListLocationsResponse = ListLocationsResponse;\n    type locationsV1LocationLocations_universal_d_PagingMetadata = PagingMetadata;\n    type locationsV1LocationLocations_universal_d_UpdateLocationRequest = UpdateLocationRequest;\n    type locationsV1LocationLocations_universal_d_UpdateLocationResponse = UpdateLocationResponse;\n    type locationsV1LocationLocations_universal_d_BulkUpdateLocationRequest = BulkUpdateLocationRequest;\n    type locationsV1LocationLocations_universal_d_BulkUpdateLocationResponse = BulkUpdateLocationResponse;\n    type locationsV1LocationLocations_universal_d_FailedUpdateLocation = FailedUpdateLocation;\n    type locationsV1LocationLocations_universal_d_QueryLocationsRequest = QueryLocationsRequest;\n    type locationsV1LocationLocations_universal_d_Query = Query;\n    type locationsV1LocationLocations_universal_d_QueryLocationsResponse = QueryLocationsResponse;\n    type locationsV1LocationLocations_universal_d_SetDefaultLocationRequest = SetDefaultLocationRequest;\n    type locationsV1LocationLocations_universal_d_SetDefaultLocationResponse = SetDefaultLocationResponse;\n    type locationsV1LocationLocations_universal_d_SetDefaultLocation = SetDefaultLocation;\n    type locationsV1LocationLocations_universal_d_ArchiveLocationRequest = ArchiveLocationRequest;\n    type locationsV1LocationLocations_universal_d_ArchiveLocationResponse = ArchiveLocationResponse;\n    type locationsV1LocationLocations_universal_d_ArchiveLocation = ArchiveLocation;\n    type locationsV1LocationLocations_universal_d_AddTypeToLocationRequest = AddTypeToLocationRequest;\n    type locationsV1LocationLocations_universal_d_AddTypeToLocationResponse = AddTypeToLocationResponse;\n    type locationsV1LocationLocations_universal_d_RemoveTypeFromLocationRequest = RemoveTypeFromLocationRequest;\n    type locationsV1LocationLocations_universal_d_RemoveTypeFromLocationResponse = RemoveTypeFromLocationResponse;\n    type locationsV1LocationLocations_universal_d_AddLocationTypeRequest = AddLocationTypeRequest;\n    type locationsV1LocationLocations_universal_d_AddLocationTypeResponse = AddLocationTypeResponse;\n    type locationsV1LocationLocations_universal_d_RemoveLocationTypeRequest = RemoveLocationTypeRequest;\n    type locationsV1LocationLocations_universal_d_RemoveLocationTypeResponse = RemoveLocationTypeResponse;\n    type locationsV1LocationLocations_universal_d_DomainEvent = DomainEvent;\n    type locationsV1LocationLocations_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n    type locationsV1LocationLocations_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n    type locationsV1LocationLocations_universal_d_RestoreInfo = RestoreInfo;\n    type locationsV1LocationLocations_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n    type locationsV1LocationLocations_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n    type locationsV1LocationLocations_universal_d_ActionEvent = ActionEvent;\n    const locationsV1LocationLocations_universal_d_createLocation: typeof createLocation;\n    const locationsV1LocationLocations_universal_d_getLocation: typeof getLocation;\n    const locationsV1LocationLocations_universal_d_listLocations: typeof listLocations;\n    type locationsV1LocationLocations_universal_d_ListLocationsOptions = ListLocationsOptions;\n    const locationsV1LocationLocations_universal_d_updateLocation: typeof updateLocation;\n    type locationsV1LocationLocations_universal_d_UpdateLocation = UpdateLocation;\n    const locationsV1LocationLocations_universal_d_queryLocations: typeof queryLocations;\n    type locationsV1LocationLocations_universal_d_LocationsQueryResult = LocationsQueryResult;\n    type locationsV1LocationLocations_universal_d_LocationsQueryBuilder = LocationsQueryBuilder;\n    const locationsV1LocationLocations_universal_d_setDefaultLocation: typeof setDefaultLocation;\n    const locationsV1LocationLocations_universal_d_archiveLocation: typeof archiveLocation;\n    const locationsV1LocationLocations_universal_d_addTypeToLocation: typeof addTypeToLocation;\n    const locationsV1LocationLocations_universal_d_removeTypeFromLocation: typeof removeTypeFromLocation;\n    const locationsV1LocationLocations_universal_d_addLocationType: typeof addLocationType;\n    const locationsV1LocationLocations_universal_d_removeLocationType: typeof removeLocationType;\n    namespace locationsV1LocationLocations_universal_d {\n        export { locationsV1LocationLocations_universal_d_Location as Location, locationsV1LocationLocations_universal_d_LocationStatus as LocationStatus, locationsV1LocationLocations_universal_d_LocationType as LocationType, Address$1 as Address, locationsV1LocationLocations_universal_d_StreetAddress as StreetAddress, locationsV1LocationLocations_universal_d_AddressLocation as AddressLocation, BusinessSchedule$1 as BusinessSchedule, TimePeriod$1 as TimePeriod, DayOfWeek$1 as DayOfWeek, SpecialHourPeriod$1 as SpecialHourPeriod, locationsV1LocationLocations_universal_d_CreateLocationRequest as CreateLocationRequest, locationsV1LocationLocations_universal_d_CreateLocationResponse as CreateLocationResponse, locationsV1LocationLocations_universal_d_BulkCreateLocationRequest as BulkCreateLocationRequest, locationsV1LocationLocations_universal_d_BulkCreateLocationResponse as BulkCreateLocationResponse, locationsV1LocationLocations_universal_d_FailedCreateLocation as FailedCreateLocation, locationsV1LocationLocations_universal_d_GetLocationRequest as GetLocationRequest, locationsV1LocationLocations_universal_d_GetLocationResponse as GetLocationResponse, locationsV1LocationLocations_universal_d_ListLocationsRequest as ListLocationsRequest, locationsV1LocationLocations_universal_d_Sorting as Sorting, locationsV1LocationLocations_universal_d_SortOrder as SortOrder, locationsV1LocationLocations_universal_d_Paging as Paging, locationsV1LocationLocations_universal_d_ListLocationsResponse as ListLocationsResponse, locationsV1LocationLocations_universal_d_PagingMetadata as PagingMetadata, locationsV1LocationLocations_universal_d_UpdateLocationRequest as UpdateLocationRequest, locationsV1LocationLocations_universal_d_UpdateLocationResponse as UpdateLocationResponse, locationsV1LocationLocations_universal_d_BulkUpdateLocationRequest as BulkUpdateLocationRequest, locationsV1LocationLocations_universal_d_BulkUpdateLocationResponse as BulkUpdateLocationResponse, locationsV1LocationLocations_universal_d_FailedUpdateLocation as FailedUpdateLocation, locationsV1LocationLocations_universal_d_QueryLocationsRequest as QueryLocationsRequest, locationsV1LocationLocations_universal_d_Query as Query, locationsV1LocationLocations_universal_d_QueryLocationsResponse as QueryLocationsResponse, locationsV1LocationLocations_universal_d_SetDefaultLocationRequest as SetDefaultLocationRequest, locationsV1LocationLocations_universal_d_SetDefaultLocationResponse as SetDefaultLocationResponse, locationsV1LocationLocations_universal_d_SetDefaultLocation as SetDefaultLocation, locationsV1LocationLocations_universal_d_ArchiveLocationRequest as ArchiveLocationRequest, locationsV1LocationLocations_universal_d_ArchiveLocationResponse as ArchiveLocationResponse, locationsV1LocationLocations_universal_d_ArchiveLocation as ArchiveLocation, locationsV1LocationLocations_universal_d_AddTypeToLocationRequest as AddTypeToLocationRequest, locationsV1LocationLocations_universal_d_AddTypeToLocationResponse as AddTypeToLocationResponse, locationsV1LocationLocations_universal_d_RemoveTypeFromLocationRequest as RemoveTypeFromLocationRequest, locationsV1LocationLocations_universal_d_RemoveTypeFromLocationResponse as RemoveTypeFromLocationResponse, locationsV1LocationLocations_universal_d_AddLocationTypeRequest as AddLocationTypeRequest, locationsV1LocationLocations_universal_d_AddLocationTypeResponse as AddLocationTypeResponse, locationsV1LocationLocations_universal_d_RemoveLocationTypeRequest as RemoveLocationTypeRequest, locationsV1LocationLocations_universal_d_RemoveLocationTypeResponse as RemoveLocationTypeResponse, locationsV1LocationLocations_universal_d_DomainEvent as DomainEvent, locationsV1LocationLocations_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf, locationsV1LocationLocations_universal_d_EntityCreatedEvent as EntityCreatedEvent, locationsV1LocationLocations_universal_d_RestoreInfo as RestoreInfo, locationsV1LocationLocations_universal_d_EntityUpdatedEvent as EntityUpdatedEvent, locationsV1LocationLocations_universal_d_EntityDeletedEvent as EntityDeletedEvent, locationsV1LocationLocations_universal_d_ActionEvent as ActionEvent, MessageEnvelope$1 as MessageEnvelope, IdentificationData$1 as IdentificationData, IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf, WebhookIdentityType$1 as WebhookIdentityType, locationsV1LocationLocations_universal_d_createLocation as createLocation, locationsV1LocationLocations_universal_d_getLocation as getLocation, locationsV1LocationLocations_universal_d_listLocations as listLocations, locationsV1LocationLocations_universal_d_ListLocationsOptions as ListLocationsOptions, locationsV1LocationLocations_universal_d_updateLocation as updateLocation, locationsV1LocationLocations_universal_d_UpdateLocation as UpdateLocation, locationsV1LocationLocations_universal_d_queryLocations as queryLocations, locationsV1LocationLocations_universal_d_LocationsQueryResult as LocationsQueryResult, locationsV1LocationLocations_universal_d_LocationsQueryBuilder as LocationsQueryBuilder, locationsV1LocationLocations_universal_d_setDefaultLocation as setDefaultLocation, locationsV1LocationLocations_universal_d_archiveLocation as archiveLocation, locationsV1LocationLocations_universal_d_addTypeToLocation as addTypeToLocation, locationsV1LocationLocations_universal_d_removeTypeFromLocation as removeTypeFromLocation, locationsV1LocationLocations_universal_d_addLocationType as addLocationType, locationsV1LocationLocations_universal_d_removeLocationType as removeLocationType, };\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 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 {\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    /** The parameters of a site properties read request. */\n    interface PropertiesReadRequest {\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 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        /** 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    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    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 site's default consent policy */\n    interface UpdateConsentPolicyRequest {\n        /** Default consent policy defined by the site owner. Can be further limited by site visitors. */\n        consentPolicy?: ConsentPolicy;\n    }\n    interface UpdateConsentPolicyResponse {\n    }\n    interface BulkPropertiesReadRequest {\n        /** Sites 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 site properties\n     *\n     *\n     * The `getSiteProperties()` function returns a promise that resolves to the site properties.\n     * @public\n     * @documentationMaturity preview\n     * @param options - Field options.\n     * @permissionScope Manage Your App\n     * @permissionScopeId SCOPE.DC.MANAGE-YOUR-APP\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns The resulting properties for the requested site.\n     */\n    function getSiteProperties(options?: GetSitePropertiesOptions): Promise<PropertiesReadResponse>;\n    interface GetSitePropertiesOptions {\n    }\n    interface UpdateOptions {\n        properties?: Properties;\n    }\n    /**\n     * Updates a site's business profile information.\n     *\n     *\n     * The `updateBusinessProfile()` function returns a Promise that resolves when the site's business profile information is updated.\n     *\n     * **Note:**\n     * > + Only the fields included in the `fields` parameter are updated, even if they are included in the `businessProfile` parameter.\n     * @param businessProfile - The site's business profile.\n     * @public\n     * @documentationMaturity preview\n     * @requiredField businessProfile\n     * @permissionScope Manage Business Profile\n     * @permissionScopeId SCOPE.DC-SITEPROP.MANAGE-BUSINESS-PROFILE\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function updateBusinessProfile(businessProfile: BusinessProfileData, options?: UpdateBusinessProfileOptions): Promise<void>;\n    interface UpdateBusinessProfileOptions {\n    }\n    /**\n     * Updates a site's business contact information.\n     *\n     *\n     * The `updateBusinessContact()` function returns a Promise that resolves when the site's contact information is updated.\n     *\n     * **Note:**\n     * > + Only the fields included in the `fields` parameter will be updated, even if they are included in the `businessContact` parameter.\n     * @param businessContact - The site's business contact information.\n     * @public\n     * @documentationMaturity preview\n     * @requiredField businessContact\n     * @permissionScope Manage Business Contact\n     * @permissionScopeId SCOPE.DC-SITEPROP.MANAGE-BUSINESS-CONTACT\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function updateBusinessContact(businessContact: BusinessContactData, options?: UpdateBusinessContactOptions): Promise<void>;\n    interface UpdateBusinessContactOptions {\n    }\n    /**\n     * Updates the default location's business schedule.\n     *\n     *\n     * The `updateBusinessSchedule()` function returns a Promise that resolves when the site's business schedule is updated.\n     *\n     * **Note:**\n     * > + The `updateBusinessSchedule()` function 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 pass it in the function call.\n     * @param businessSchedule - The site's business schedule in the site time zone.\n     * @public\n     * @documentationMaturity preview\n     * @requiredField businessSchedule\n     * @permissionScope Manage Business Schedule\n     * @permissionScopeId SCOPE.DC-SITEPROP.MANAGE-BUSINESS-SCHEDULE\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function updateBusinessSchedule(businessSchedule: BusinessSchedule): Promise<void>;\n    /**\n     * Updates a site's consent policy.\n     *\n     *\n     * The `updateConsentPolicy()` function returns a Promise that resolves when the site's consent policy is updated.\n     * @param consentPolicy - Default consent policy defined by the site owner. Can be further limited by site visitors.\n     * @public\n     * @documentationMaturity preview\n     * @requiredField consentPolicy\n     * @permissionScope Manage Consent Policy\n     * @permissionScopeId SCOPE.DC-SITEPROP.MANAGE-PROPERTIES\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function updateConsentPolicy(consentPolicy: ConsentPolicy): Promise<void>;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_Properties = Properties;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_Categories = Categories;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_Locale = Locale;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_Address = Address;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_AddressHint = AddressHint;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_PlacementType = PlacementType;\n    const sitepropertiesV4PropertiesSiteProperties_universal_d_PlacementType: typeof PlacementType;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_GeoCoordinates = GeoCoordinates;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_BusinessSchedule = BusinessSchedule;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_TimePeriod = TimePeriod;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_DayOfWeek = DayOfWeek;\n    const sitepropertiesV4PropertiesSiteProperties_universal_d_DayOfWeek: typeof DayOfWeek;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_SpecialHourPeriod = SpecialHourPeriod;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_Multilingual = Multilingual;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_SupportedLanguage = SupportedLanguage;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_ResolutionMethod = ResolutionMethod;\n    const sitepropertiesV4PropertiesSiteProperties_universal_d_ResolutionMethod: typeof ResolutionMethod;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_ConsentPolicy = ConsentPolicy;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_PropertiesReadRequest = PropertiesReadRequest;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_PropertiesReadResponse = PropertiesReadResponse;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_PropertiesUpdateRequest = PropertiesUpdateRequest;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_PropertiesUpdateResponse = PropertiesUpdateResponse;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_SitePropertiesNotification = SitePropertiesNotification;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_SitePropertiesEvent = SitePropertiesEvent;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_Translation = Translation;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_ChangeContext = ChangeContext;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_ChangeContextPayloadOneOf = ChangeContextPayloadOneOf;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_PropertiesChange = PropertiesChange;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_SiteCreated = SiteCreated;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_SiteCloned = SiteCloned;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_SitePropertiesUpdated = SitePropertiesUpdated;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_SitePropertiesFullNotification = SitePropertiesFullNotification;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_UpdateBusinessProfileRequest = UpdateBusinessProfileRequest;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_BusinessProfileData = BusinessProfileData;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_UpdateBusinessProfileResponse = UpdateBusinessProfileResponse;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_UpdateBusinessContactRequest = UpdateBusinessContactRequest;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_BusinessContactData = BusinessContactData;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_UpdateBusinessContactResponse = UpdateBusinessContactResponse;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_UpdateBusinessScheduleRequest = UpdateBusinessScheduleRequest;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_UpdateBusinessScheduleResponse = UpdateBusinessScheduleResponse;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_UpdateConsentPolicyRequest = UpdateConsentPolicyRequest;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_UpdateConsentPolicyResponse = UpdateConsentPolicyResponse;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_BulkPropertiesReadRequest = BulkPropertiesReadRequest;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_BulkPropertiesReadResponse = BulkPropertiesReadResponse;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_MessageEnvelope = MessageEnvelope;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_IdentificationData = IdentificationData;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_WebhookIdentityType = WebhookIdentityType;\n    const sitepropertiesV4PropertiesSiteProperties_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n    const sitepropertiesV4PropertiesSiteProperties_universal_d_getSiteProperties: typeof getSiteProperties;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_GetSitePropertiesOptions = GetSitePropertiesOptions;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_UpdateOptions = UpdateOptions;\n    const sitepropertiesV4PropertiesSiteProperties_universal_d_updateBusinessProfile: typeof updateBusinessProfile;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_UpdateBusinessProfileOptions = UpdateBusinessProfileOptions;\n    const sitepropertiesV4PropertiesSiteProperties_universal_d_updateBusinessContact: typeof updateBusinessContact;\n    type sitepropertiesV4PropertiesSiteProperties_universal_d_UpdateBusinessContactOptions = UpdateBusinessContactOptions;\n    const sitepropertiesV4PropertiesSiteProperties_universal_d_updateBusinessSchedule: typeof updateBusinessSchedule;\n    const sitepropertiesV4PropertiesSiteProperties_universal_d_updateConsentPolicy: typeof updateConsentPolicy;\n    namespace sitepropertiesV4PropertiesSiteProperties_universal_d {\n        export { sitepropertiesV4PropertiesSiteProperties_universal_d_Properties as Properties, sitepropertiesV4PropertiesSiteProperties_universal_d_Categories as Categories, sitepropertiesV4PropertiesSiteProperties_universal_d_Locale as Locale, sitepropertiesV4PropertiesSiteProperties_universal_d_Address as Address, sitepropertiesV4PropertiesSiteProperties_universal_d_AddressHint as AddressHint, sitepropertiesV4PropertiesSiteProperties_universal_d_PlacementType as PlacementType, sitepropertiesV4PropertiesSiteProperties_universal_d_GeoCoordinates as GeoCoordinates, sitepropertiesV4PropertiesSiteProperties_universal_d_BusinessSchedule as BusinessSchedule, sitepropertiesV4PropertiesSiteProperties_universal_d_TimePeriod as TimePeriod, sitepropertiesV4PropertiesSiteProperties_universal_d_DayOfWeek as DayOfWeek, sitepropertiesV4PropertiesSiteProperties_universal_d_SpecialHourPeriod as SpecialHourPeriod, sitepropertiesV4PropertiesSiteProperties_universal_d_Multilingual as Multilingual, sitepropertiesV4PropertiesSiteProperties_universal_d_SupportedLanguage as SupportedLanguage, sitepropertiesV4PropertiesSiteProperties_universal_d_ResolutionMethod as ResolutionMethod, sitepropertiesV4PropertiesSiteProperties_universal_d_ConsentPolicy as ConsentPolicy, sitepropertiesV4PropertiesSiteProperties_universal_d_PropertiesReadRequest as PropertiesReadRequest, sitepropertiesV4PropertiesSiteProperties_universal_d_PropertiesReadResponse as PropertiesReadResponse, sitepropertiesV4PropertiesSiteProperties_universal_d_PropertiesUpdateRequest as PropertiesUpdateRequest, sitepropertiesV4PropertiesSiteProperties_universal_d_PropertiesUpdateResponse as PropertiesUpdateResponse, sitepropertiesV4PropertiesSiteProperties_universal_d_SitePropertiesNotification as SitePropertiesNotification, sitepropertiesV4PropertiesSiteProperties_universal_d_SitePropertiesEvent as SitePropertiesEvent, sitepropertiesV4PropertiesSiteProperties_universal_d_Translation as Translation, sitepropertiesV4PropertiesSiteProperties_universal_d_ChangeContext as ChangeContext, sitepropertiesV4PropertiesSiteProperties_universal_d_ChangeContextPayloadOneOf as ChangeContextPayloadOneOf, sitepropertiesV4PropertiesSiteProperties_universal_d_PropertiesChange as PropertiesChange, sitepropertiesV4PropertiesSiteProperties_universal_d_SiteCreated as SiteCreated, sitepropertiesV4PropertiesSiteProperties_universal_d_SiteCloned as SiteCloned, sitepropertiesV4PropertiesSiteProperties_universal_d_SitePropertiesUpdated as SitePropertiesUpdated, sitepropertiesV4PropertiesSiteProperties_universal_d_SitePropertiesFullNotification as SitePropertiesFullNotification, sitepropertiesV4PropertiesSiteProperties_universal_d_UpdateBusinessProfileRequest as UpdateBusinessProfileRequest, sitepropertiesV4PropertiesSiteProperties_universal_d_BusinessProfileData as BusinessProfileData, sitepropertiesV4PropertiesSiteProperties_universal_d_UpdateBusinessProfileResponse as UpdateBusinessProfileResponse, sitepropertiesV4PropertiesSiteProperties_universal_d_UpdateBusinessContactRequest as UpdateBusinessContactRequest, sitepropertiesV4PropertiesSiteProperties_universal_d_BusinessContactData as BusinessContactData, sitepropertiesV4PropertiesSiteProperties_universal_d_UpdateBusinessContactResponse as UpdateBusinessContactResponse, sitepropertiesV4PropertiesSiteProperties_universal_d_UpdateBusinessScheduleRequest as UpdateBusinessScheduleRequest, sitepropertiesV4PropertiesSiteProperties_universal_d_UpdateBusinessScheduleResponse as UpdateBusinessScheduleResponse, sitepropertiesV4PropertiesSiteProperties_universal_d_UpdateConsentPolicyRequest as UpdateConsentPolicyRequest, sitepropertiesV4PropertiesSiteProperties_universal_d_UpdateConsentPolicyResponse as UpdateConsentPolicyResponse, sitepropertiesV4PropertiesSiteProperties_universal_d_BulkPropertiesReadRequest as BulkPropertiesReadRequest, sitepropertiesV4PropertiesSiteProperties_universal_d_BulkPropertiesReadResponse as BulkPropertiesReadResponse, sitepropertiesV4PropertiesSiteProperties_universal_d_MessageEnvelope as MessageEnvelope, sitepropertiesV4PropertiesSiteProperties_universal_d_IdentificationData as IdentificationData, sitepropertiesV4PropertiesSiteProperties_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf, sitepropertiesV4PropertiesSiteProperties_universal_d_WebhookIdentityType as WebhookIdentityType, sitepropertiesV4PropertiesSiteProperties_universal_d_getSiteProperties as getSiteProperties, sitepropertiesV4PropertiesSiteProperties_universal_d_GetSitePropertiesOptions as GetSitePropertiesOptions, sitepropertiesV4PropertiesSiteProperties_universal_d_UpdateOptions as UpdateOptions, sitepropertiesV4PropertiesSiteProperties_universal_d_updateBusinessProfile as updateBusinessProfile, sitepropertiesV4PropertiesSiteProperties_universal_d_UpdateBusinessProfileOptions as UpdateBusinessProfileOptions, sitepropertiesV4PropertiesSiteProperties_universal_d_updateBusinessContact as updateBusinessContact, sitepropertiesV4PropertiesSiteProperties_universal_d_UpdateBusinessContactOptions as UpdateBusinessContactOptions, sitepropertiesV4PropertiesSiteProperties_universal_d_updateBusinessSchedule as updateBusinessSchedule, sitepropertiesV4PropertiesSiteProperties_universal_d_updateConsentPolicy as updateConsentPolicy, };\n    }\n    export { locationsV1LocationLocations_universal_d as locations, sitepropertiesV4PropertiesSiteProperties_universal_d as siteProperties };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/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        /** 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    interface EntityDeletedEvent {\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 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     * @permissionScope Manage Marketing Tags\n     * @permissionScopeId SCOPE.DC-MARKETING.MANAGE-TAGS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.marketing.tags.api.v1.MarketingTagsService.UpsertMarketingTag\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     * @permissionScope Manage Marketing Tags\n     * @permissionScopeId SCOPE.DC-MARKETING.MANAGE-TAGS\n     * @permissionScope Read Marketing Tags\n     * @permissionScopeId SCOPE.DC-MARKETING.READ-TAGS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.marketing.tags.api.v1.MarketingTagsService.ListMarketingTags\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     * @permissionScope Manage Marketing Tags\n     * @permissionScopeId SCOPE.DC-MARKETING.MANAGE-TAGS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.marketing.tags.api.v1.MarketingTagsService.DeleteMarketingTag\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    interface DeleteMarketingTagV2Options {\n        /** Marketing tag to delete. */\n        tagType?: Type;\n    }\n    type marketingV1TagMarketingTags_universal_d_MarketingTag = MarketingTag;\n    type marketingV1TagMarketingTags_universal_d_MarketingTagParamsOneOf = MarketingTagParamsOneOf;\n    type marketingV1TagMarketingTags_universal_d_Type = Type;\n    const marketingV1TagMarketingTags_universal_d_Type: typeof Type;\n    type marketingV1TagMarketingTags_universal_d_GoogleAds = GoogleAds;\n    type marketingV1TagMarketingTags_universal_d_GoogleAnalytics = GoogleAnalytics;\n    type marketingV1TagMarketingTags_universal_d_YandexMetrica = YandexMetrica;\n    type marketingV1TagMarketingTags_universal_d_FacebookPixel = FacebookPixel;\n    type marketingV1TagMarketingTags_universal_d_GoogleTagManager = GoogleTagManager;\n    type marketingV1TagMarketingTags_universal_d_TikTokPixel = TikTokPixel;\n    type marketingV1TagMarketingTags_universal_d_GoogleTagManagerConsentMode = GoogleTagManagerConsentMode;\n    type marketingV1TagMarketingTags_universal_d_GoogleAnalyticsConsentMode = GoogleAnalyticsConsentMode;\n    type marketingV1TagMarketingTags_universal_d_HtmlEmbedUpdateMessage = HtmlEmbedUpdateMessage;\n    type marketingV1TagMarketingTags_universal_d_UpsertMarketingTagRequest = UpsertMarketingTagRequest;\n    type marketingV1TagMarketingTags_universal_d_UpsertMarketingTagResponse = UpsertMarketingTagResponse;\n    type marketingV1TagMarketingTags_universal_d_ListMarketingTagsRequest = ListMarketingTagsRequest;\n    type marketingV1TagMarketingTags_universal_d_Filter = Filter;\n    type marketingV1TagMarketingTags_universal_d_ListMarketingTagsResponse = ListMarketingTagsResponse;\n    type marketingV1TagMarketingTags_universal_d_DeleteMarketingTagRequest = DeleteMarketingTagRequest;\n    type marketingV1TagMarketingTags_universal_d_DeleteMarketingTagResponse = DeleteMarketingTagResponse;\n    type marketingV1TagMarketingTags_universal_d_DeleteMarketingTagV2Request = DeleteMarketingTagV2Request;\n    type marketingV1TagMarketingTags_universal_d_DeleteMarketingTagV2Response = DeleteMarketingTagV2Response;\n    type marketingV1TagMarketingTags_universal_d_DomainEvent = DomainEvent;\n    type marketingV1TagMarketingTags_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n    type marketingV1TagMarketingTags_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n    type marketingV1TagMarketingTags_universal_d_RestoreInfo = RestoreInfo;\n    type marketingV1TagMarketingTags_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n    type marketingV1TagMarketingTags_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n    type marketingV1TagMarketingTags_universal_d_ActionEvent = ActionEvent;\n    type marketingV1TagMarketingTags_universal_d_MessageEnvelope = MessageEnvelope;\n    type marketingV1TagMarketingTags_universal_d_IdentificationData = IdentificationData;\n    type marketingV1TagMarketingTags_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n    type marketingV1TagMarketingTags_universal_d_WebhookIdentityType = WebhookIdentityType;\n    const marketingV1TagMarketingTags_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n    const marketingV1TagMarketingTags_universal_d_upsertMarketingTag: typeof upsertMarketingTag;\n    const marketingV1TagMarketingTags_universal_d_listMarketingTags: typeof listMarketingTags;\n    type marketingV1TagMarketingTags_universal_d_ListMarketingTagsOptions = ListMarketingTagsOptions;\n    const marketingV1TagMarketingTags_universal_d_deleteMarketingTag: typeof deleteMarketingTag;\n    type marketingV1TagMarketingTags_universal_d_DeleteMarketingTagOptions = DeleteMarketingTagOptions;\n    type marketingV1TagMarketingTags_universal_d_DeleteMarketingTagV2Options = DeleteMarketingTagV2Options;\n    namespace marketingV1TagMarketingTags_universal_d {\n        export { marketingV1TagMarketingTags_universal_d_MarketingTag as MarketingTag, marketingV1TagMarketingTags_universal_d_MarketingTagParamsOneOf as MarketingTagParamsOneOf, marketingV1TagMarketingTags_universal_d_Type as Type, marketingV1TagMarketingTags_universal_d_GoogleAds as GoogleAds, marketingV1TagMarketingTags_universal_d_GoogleAnalytics as GoogleAnalytics, marketingV1TagMarketingTags_universal_d_YandexMetrica as YandexMetrica, marketingV1TagMarketingTags_universal_d_FacebookPixel as FacebookPixel, marketingV1TagMarketingTags_universal_d_GoogleTagManager as GoogleTagManager, marketingV1TagMarketingTags_universal_d_TikTokPixel as TikTokPixel, marketingV1TagMarketingTags_universal_d_GoogleTagManagerConsentMode as GoogleTagManagerConsentMode, marketingV1TagMarketingTags_universal_d_GoogleAnalyticsConsentMode as GoogleAnalyticsConsentMode, marketingV1TagMarketingTags_universal_d_HtmlEmbedUpdateMessage as HtmlEmbedUpdateMessage, marketingV1TagMarketingTags_universal_d_UpsertMarketingTagRequest as UpsertMarketingTagRequest, marketingV1TagMarketingTags_universal_d_UpsertMarketingTagResponse as UpsertMarketingTagResponse, marketingV1TagMarketingTags_universal_d_ListMarketingTagsRequest as ListMarketingTagsRequest, marketingV1TagMarketingTags_universal_d_Filter as Filter, marketingV1TagMarketingTags_universal_d_ListMarketingTagsResponse as ListMarketingTagsResponse, marketingV1TagMarketingTags_universal_d_DeleteMarketingTagRequest as DeleteMarketingTagRequest, marketingV1TagMarketingTags_universal_d_DeleteMarketingTagResponse as DeleteMarketingTagResponse, marketingV1TagMarketingTags_universal_d_DeleteMarketingTagV2Request as DeleteMarketingTagV2Request, marketingV1TagMarketingTags_universal_d_DeleteMarketingTagV2Response as DeleteMarketingTagV2Response, marketingV1TagMarketingTags_universal_d_DomainEvent as DomainEvent, marketingV1TagMarketingTags_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf, marketingV1TagMarketingTags_universal_d_EntityCreatedEvent as EntityCreatedEvent, marketingV1TagMarketingTags_universal_d_RestoreInfo as RestoreInfo, marketingV1TagMarketingTags_universal_d_EntityUpdatedEvent as EntityUpdatedEvent, marketingV1TagMarketingTags_universal_d_EntityDeletedEvent as EntityDeletedEvent, marketingV1TagMarketingTags_universal_d_ActionEvent as ActionEvent, marketingV1TagMarketingTags_universal_d_MessageEnvelope as MessageEnvelope, marketingV1TagMarketingTags_universal_d_IdentificationData as IdentificationData, marketingV1TagMarketingTags_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf, marketingV1TagMarketingTags_universal_d_WebhookIdentityType as WebhookIdentityType, marketingV1TagMarketingTags_universal_d_upsertMarketingTag as upsertMarketingTag, marketingV1TagMarketingTags_universal_d_listMarketingTags as listMarketingTags, marketingV1TagMarketingTags_universal_d_ListMarketingTagsOptions as ListMarketingTagsOptions, marketingV1TagMarketingTags_universal_d_deleteMarketingTag as deleteMarketingTag, marketingV1TagMarketingTags_universal_d_DeleteMarketingTagOptions as DeleteMarketingTagOptions, marketingV1TagMarketingTags_universal_d_DeleteMarketingTagV2Options as DeleteMarketingTagV2Options, };\n    }\n    export { marketingV1TagMarketingTags_universal_d as marketingTags };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-stores.v2.d.ts",
      "content": "declare module \"wix-stores.v2\" {\n    interface InventoryItemV2 {\n        /** Inventory item ID. */\n        _id?: 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        /** Product ID. */\n        productId?: string;\n        /** Whether inventory is being tracked. */\n        trackInventory?: boolean;\n        /** Preorder information. */\n        preorderInfo?: PreorderInfo$1;\n        /** Field mask of updated fields. */\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        /** Product ID. */\n        productId?: string;\n        /** Information about changed variants. */\n        variants?: ChangedInventoryVariant[];\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        /** 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        /** 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$1;\n    }\n    interface Query$1 {\n        /** Paging options to limit and skip the number of items. */\n        paging?: Paging$1;\n        /** Filter string */\n        filter?: string | null;\n        /** Sort string */\n        sort?: string | null;\n    }\n    interface Paging$1 {\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$1;\n        /** Number of total results. */\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 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 UpdateInventoryVariantsRequest {\n        /** Inventory item. */\n        inventoryItem: InventoryItemV2;\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    }\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    }\n    interface DecrementData extends DecrementDataIdOneOf {\n        /** Inventory item ID. */\n        inventoryId?: 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        /** Product ID. */\n        productId?: string;\n    }\n    interface DecrementInventoryResponse {\n    }\n    interface IncrementInventoryRequest {\n        /** Item or product to increment. */\n        incrementData?: IncrementData[];\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @permissionScope Read Stores - all read permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n     * @permissionScope Read Products\n     * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @fqn wix.inventory.api.v1.InventoryReadApi.GetInventoryVariants\n     */\n    function getInventoryVariants(inventoryId: string, options?: GetInventoryVariantsOptions): Promise<GetInventoryVariantsResponse>;\n    interface GetInventoryVariantsOptions extends GetInventoryVariantsRequestIdOneOf {\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     * @permissionId WIX_STORES.READ_INVENTORY\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @permissionScope Read Stores - all read permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n     * @permissionScope Read Products\n     * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @fqn wix.inventory.api.v1.InventoryReadApi.QueryInventory\n     */\n    function queryInventory(options?: QueryInventoryOptions): Promise<QueryInventoryResponse>;\n    interface QueryInventoryOptions {\n        /** Information about paging, filters, sorting. */\n        query?: Query$1;\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn wix.inventory.api.v1.InventoryWriteApi.UpdateInventoryVariants\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        /** 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    }\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    }\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     * @documentationMaturity preview\n     * @requiredField decrementData\n     * @permissionId WIX_STORES.MODIFY_INVENTORY\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn wix.inventory.api.v1.InventoryWriteApi.DecrementInventory\n     */\n    function decrementInventory(decrementData: DecrementData[], options?: DecrementInventoryOptions): Promise<void>;\n    interface DecrementInventoryOptions {\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     * @documentationMaturity preview\n     * @requiredField incrementData\n     * @permissionId WIX_STORES.MODIFY_INVENTORY\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn wix.inventory.api.v1.InventoryWriteApi.IncrementInventory\n     */\n    function incrementInventory(incrementData: IncrementData[], options?: IncrementInventoryOptions): Promise<void>;\n    interface IncrementInventoryOptions {\n    }\n    type storesV2InventoryInventory_universal_d_InventoryItemV2 = InventoryItemV2;\n    type storesV2InventoryInventory_universal_d_InventoryVariantV2 = InventoryVariantV2;\n    type storesV2InventoryInventory_universal_d_InventoryItemChanged = InventoryItemChanged;\n    type storesV2InventoryInventory_universal_d_InventoryVariantsChanged = InventoryVariantsChanged;\n    type storesV2InventoryInventory_universal_d_ChangedInventoryVariant = ChangedInventoryVariant;\n    type storesV2InventoryInventory_universal_d_ChangedInventoryVariantData = ChangedInventoryVariantData;\n    type storesV2InventoryInventory_universal_d_ReasonType = ReasonType;\n    const storesV2InventoryInventory_universal_d_ReasonType: typeof ReasonType;\n    type storesV2InventoryInventory_universal_d_GetInventoryVariantsRequest = GetInventoryVariantsRequest;\n    type storesV2InventoryInventory_universal_d_GetInventoryVariantsRequestIdOneOf = GetInventoryVariantsRequestIdOneOf;\n    type storesV2InventoryInventory_universal_d_GetInventoryVariantsResponse = GetInventoryVariantsResponse;\n    type storesV2InventoryInventory_universal_d_GetInventoryItemsRequest = GetInventoryItemsRequest;\n    type storesV2InventoryInventory_universal_d_GetInventoryItemsResponse = GetInventoryItemsResponse;\n    type storesV2InventoryInventory_universal_d_QueryInventoryRequest = QueryInventoryRequest;\n    type storesV2InventoryInventory_universal_d_QueryInventoryResponse = QueryInventoryResponse;\n    type storesV2InventoryInventory_universal_d_UpdateInventoryVariantsRequest = UpdateInventoryVariantsRequest;\n    type storesV2InventoryInventory_universal_d_UpdateInventoryVariantsResponse = UpdateInventoryVariantsResponse;\n    type storesV2InventoryInventory_universal_d_BulkUpdateInventoryVariantsRequest = BulkUpdateInventoryVariantsRequest;\n    type storesV2InventoryInventory_universal_d_BulkUpdateInventoryVariantsRequestActionOneOf = BulkUpdateInventoryVariantsRequestActionOneOf;\n    type storesV2InventoryInventory_universal_d_BulkUpdateInventoryVariantsResponse = BulkUpdateInventoryVariantsResponse;\n    type storesV2InventoryInventory_universal_d_BulkUpdateInventoryItemsRequest = BulkUpdateInventoryItemsRequest;\n    type storesV2InventoryInventory_universal_d_BulkUpdateInventoryItemsResponse = BulkUpdateInventoryItemsResponse;\n    type storesV2InventoryInventory_universal_d_DecrementInventoryRequest = DecrementInventoryRequest;\n    type storesV2InventoryInventory_universal_d_DecrementData = DecrementData;\n    type storesV2InventoryInventory_universal_d_DecrementDataIdOneOf = DecrementDataIdOneOf;\n    type storesV2InventoryInventory_universal_d_DecrementInventoryResponse = DecrementInventoryResponse;\n    type storesV2InventoryInventory_universal_d_IncrementInventoryRequest = IncrementInventoryRequest;\n    type storesV2InventoryInventory_universal_d_IncrementData = IncrementData;\n    type storesV2InventoryInventory_universal_d_IncrementDataIdOneOf = IncrementDataIdOneOf;\n    type storesV2InventoryInventory_universal_d_IncrementInventoryResponse = IncrementInventoryResponse;\n    const storesV2InventoryInventory_universal_d_getInventoryVariants: typeof getInventoryVariants;\n    type storesV2InventoryInventory_universal_d_GetInventoryVariantsOptions = GetInventoryVariantsOptions;\n    const storesV2InventoryInventory_universal_d_queryInventory: typeof queryInventory;\n    type storesV2InventoryInventory_universal_d_QueryInventoryOptions = QueryInventoryOptions;\n    const storesV2InventoryInventory_universal_d_updateInventoryVariants: typeof updateInventoryVariants;\n    type storesV2InventoryInventory_universal_d_UpdateInventoryVariantsInventoryItem = UpdateInventoryVariantsInventoryItem;\n    type storesV2InventoryInventory_universal_d_UpdateInventoryVariantsOptions = UpdateInventoryVariantsOptions;\n    type storesV2InventoryInventory_universal_d_BulkUpdateInventoryVariantsOptions = BulkUpdateInventoryVariantsOptions;\n    type storesV2InventoryInventory_universal_d_BulkUpdateInventoryItemsOptions = BulkUpdateInventoryItemsOptions;\n    const storesV2InventoryInventory_universal_d_decrementInventory: typeof decrementInventory;\n    type storesV2InventoryInventory_universal_d_DecrementInventoryOptions = DecrementInventoryOptions;\n    const storesV2InventoryInventory_universal_d_incrementInventory: typeof incrementInventory;\n    type storesV2InventoryInventory_universal_d_IncrementInventoryOptions = IncrementInventoryOptions;\n    namespace storesV2InventoryInventory_universal_d {\n        export { storesV2InventoryInventory_universal_d_InventoryItemV2 as InventoryItemV2, storesV2InventoryInventory_universal_d_InventoryVariantV2 as InventoryVariantV2, PreorderInfo$1 as PreorderInfo, storesV2InventoryInventory_universal_d_InventoryItemChanged as InventoryItemChanged, storesV2InventoryInventory_universal_d_InventoryVariantsChanged as InventoryVariantsChanged, storesV2InventoryInventory_universal_d_ChangedInventoryVariant as ChangedInventoryVariant, storesV2InventoryInventory_universal_d_ChangedInventoryVariantData as ChangedInventoryVariantData, storesV2InventoryInventory_universal_d_ReasonType as ReasonType, storesV2InventoryInventory_universal_d_GetInventoryVariantsRequest as GetInventoryVariantsRequest, storesV2InventoryInventory_universal_d_GetInventoryVariantsRequestIdOneOf as GetInventoryVariantsRequestIdOneOf, storesV2InventoryInventory_universal_d_GetInventoryVariantsResponse as GetInventoryVariantsResponse, storesV2InventoryInventory_universal_d_GetInventoryItemsRequest as GetInventoryItemsRequest, storesV2InventoryInventory_universal_d_GetInventoryItemsResponse as GetInventoryItemsResponse, storesV2InventoryInventory_universal_d_QueryInventoryRequest as QueryInventoryRequest, Query$1 as Query, Paging$1 as Paging, storesV2InventoryInventory_universal_d_QueryInventoryResponse as QueryInventoryResponse, PagingMetadata$1 as PagingMetadata, MessageEnvelope$1 as MessageEnvelope, IdentificationData$1 as IdentificationData, IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf, WebhookIdentityType$1 as WebhookIdentityType, storesV2InventoryInventory_universal_d_UpdateInventoryVariantsRequest as UpdateInventoryVariantsRequest, storesV2InventoryInventory_universal_d_UpdateInventoryVariantsResponse as UpdateInventoryVariantsResponse, storesV2InventoryInventory_universal_d_BulkUpdateInventoryVariantsRequest as BulkUpdateInventoryVariantsRequest, storesV2InventoryInventory_universal_d_BulkUpdateInventoryVariantsRequestActionOneOf as BulkUpdateInventoryVariantsRequestActionOneOf, storesV2InventoryInventory_universal_d_BulkUpdateInventoryVariantsResponse as BulkUpdateInventoryVariantsResponse, storesV2InventoryInventory_universal_d_BulkUpdateInventoryItemsRequest as BulkUpdateInventoryItemsRequest, storesV2InventoryInventory_universal_d_BulkUpdateInventoryItemsResponse as BulkUpdateInventoryItemsResponse, storesV2InventoryInventory_universal_d_DecrementInventoryRequest as DecrementInventoryRequest, storesV2InventoryInventory_universal_d_DecrementData as DecrementData, storesV2InventoryInventory_universal_d_DecrementDataIdOneOf as DecrementDataIdOneOf, storesV2InventoryInventory_universal_d_DecrementInventoryResponse as DecrementInventoryResponse, storesV2InventoryInventory_universal_d_IncrementInventoryRequest as IncrementInventoryRequest, storesV2InventoryInventory_universal_d_IncrementData as IncrementData, storesV2InventoryInventory_universal_d_IncrementDataIdOneOf as IncrementDataIdOneOf, storesV2InventoryInventory_universal_d_IncrementInventoryResponse as IncrementInventoryResponse, storesV2InventoryInventory_universal_d_getInventoryVariants as getInventoryVariants, storesV2InventoryInventory_universal_d_GetInventoryVariantsOptions as GetInventoryVariantsOptions, storesV2InventoryInventory_universal_d_queryInventory as queryInventory, storesV2InventoryInventory_universal_d_QueryInventoryOptions as QueryInventoryOptions, storesV2InventoryInventory_universal_d_updateInventoryVariants as updateInventoryVariants, storesV2InventoryInventory_universal_d_UpdateInventoryVariantsInventoryItem as UpdateInventoryVariantsInventoryItem, storesV2InventoryInventory_universal_d_UpdateInventoryVariantsOptions as UpdateInventoryVariantsOptions, storesV2InventoryInventory_universal_d_BulkUpdateInventoryVariantsOptions as BulkUpdateInventoryVariantsOptions, storesV2InventoryInventory_universal_d_BulkUpdateInventoryItemsOptions as BulkUpdateInventoryItemsOptions, storesV2InventoryInventory_universal_d_decrementInventory as decrementInventory, storesV2InventoryInventory_universal_d_DecrementInventoryOptions as DecrementInventoryOptions, storesV2InventoryInventory_universal_d_incrementInventory as incrementInventory, storesV2InventoryInventory_universal_d_IncrementInventoryOptions as IncrementInventoryOptions, };\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;\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    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    /**\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    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        /** 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;\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 {\n        paging?: Paging;\n        /** Filter string */\n        filter?: string | null;\n        /** Sort string */\n        sort?: string | null;\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 QueryProductsResponse {\n        products?: Product[];\n        metadata?: PagingMetadata;\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 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    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;\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    interface QueryCollectionsResponse {\n        /** List of collections. */\n        collections?: Collection[];\n        /** Details on the paged set of results returned. */\n        metadata?: PagingMetadata;\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    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    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;\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;\n        totalResults?: number;\n    }\n    interface QueryStoreVariantsRequest {\n        /** Query options. */\n        query?: PlatformQuery;\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        /** 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        /** Video format for example, mp4, hls. */\n        format?: string;\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    /**\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;\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;\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 {\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 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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn wix.catalog.api.v1.CatalogWriteApi.CreateProduct\n     */\n    function createProduct(product: Product): Promise<CreateProductResponse>;\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn wix.catalog.api.v1.CatalogWriteApi.UpdateProduct\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;\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    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;\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    /**\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn wix.catalog.api.v1.CatalogWriteApi.DeleteProduct\n     */\n    function deleteProduct(_id: 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     * @requiredField _id\n     * @requiredField variants\n     * @permissionId WIX_STORES.MODIFY_PRODUCTS\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn wix.catalog.api.v1.CatalogWriteApi.UpdateVariants\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     * @requiredField _id\n     * @permissionId WIX_STORES.MODIFY_PRODUCTS\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn wix.catalog.api.v1.CatalogWriteApi.ResetAllVariantData\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn wix.catalog.api.v1.CatalogWriteApi.AddProductsToCollection\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     * @documentationMaturity preview\n     * @requiredField _id\n     * @requiredField productIds\n     * @permissionId WIX_STORES.MODIFY_PRODUCTS\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn wix.catalog.api.v1.CatalogWriteApi.RemoveProductsFromCollection\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn wix.catalog.api.v1.CatalogWriteApi.AddProductMedia\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn wix.catalog.api.v1.CatalogWriteApi.RemoveProductMedia\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     * @documentationMaturity preview\n     * @requiredField _id\n     * @requiredField media\n     * @requiredField media.choice\n     * @requiredField media.option\n     * @permissionId WIX_STORES.MODIFY_PRODUCTS\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn wix.catalog.api.v1.CatalogWriteApi.AddProductMediaToChoices\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     * @documentationMaturity preview\n     * @requiredField _id\n     * @requiredField media\n     * @permissionId WIX_STORES.MODIFY_PRODUCTS\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn wix.catalog.api.v1.CatalogWriteApi.RemoveProductMediaFromChoices\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     * @documentationMaturity preview\n     * @requiredField _id\n     * @permissionId WIX_STORES.MODIFY_PRODUCTS\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn wix.catalog.api.v1.CatalogWriteApi.DeleteProductOptions\n     */\n    function deleteProductOptions(_id: string): 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    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     * @requiredField _id\n     * @permissionId WIX_STORES.MODIFY_PRODUCTS\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn wix.catalog.api.v1.CatalogWriteApi.RemoveBrand\n     */\n    function removeBrand(_id: string): 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    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     * @requiredField collection\n     * @requiredField collection.name\n     * @permissionId WIX_STORES.MODIFY_PRODUCTS\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn wix.catalog.api.v1.CatalogWriteApi.CreateCollection\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     * @documentationMaturity preview\n     * @requiredField _id\n     * @requiredField collection\n     * @param collection - Collection info to update.\n     * @permissionId WIX_STORES.MODIFY_PRODUCTS\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn wix.catalog.api.v1.CatalogWriteApi.UpdateCollection\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    /**\n     * Deletes a collection.\n     * @public\n     * @documentationMaturity preview\n     * @requiredField _id\n     * @param _id - ID of the collection to delete.\n     * @permissionId WIX_STORES.MODIFY_PRODUCTS\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn wix.catalog.api.v1.CatalogWriteApi.DeleteCollection\n     */\n    function deleteCollection(_id: string): Promise<void>;\n    /**\n     * Deletes a product's ribbon.\n     * @param _id - Product ID.\n     * @public\n     * @requiredField _id\n     * @permissionId WIX_STORES.MODIFY_PRODUCTS\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn wix.catalog.api.v1.CatalogWriteApi.RemoveRibbon\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn wix.catalog.api.v1.CatalogWriteApi.BulkUpdateProducts\n     */\n    function bulkUpdateProductsProperty(ids: string[], set: SetValue): Promise<BulkUpdateProductsResponse>;\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn wix.catalog.api.v1.CatalogWriteApi.BulkAdjustProductProperties\n     */\n    function bulkAdjustProductProperty(adjust: AdjustValue, ids: string[]): Promise<BulkAdjustProductPropertiesResponse>;\n    interface BulkAdjustProductPropertiesByFilterSyncOptions {\n        /** Numerical property to adjust. */\n        adjust?: AdjustValue;\n    }\n    interface ReCloneStoreOptions {\n        originalMetasiteId?: string | null;\n    }\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;\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    interface QueryProductsNonPlatformizedOptions {\n        query?: Query;\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @permissionScope Read Stores - all read permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n     * @permissionScope Read Products\n     * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @permissionId WIX_STORES.READ_PRODUCTS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @fqn wix.catalog.api.v1.CatalogReadApi.QueryProductsPlatformized\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         */\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         */\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         */\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         */\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         */\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         */\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         */\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         */\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         */\n        hasAll: (propertyName: \"collectionIds\", value: any[]) => ProductsQueryBuilder;\n        in: (propertyName: \"_id\" | \"name\" | \"slug\" | \"productType\" | \"description\" | \"sku\" | \"price\" | \"priceData.price\" | \"numericId\" | \"collectionIds\" | \"lastUpdated\" | \"_createdDate\", value: any) => ProductsQueryBuilder;\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        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        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        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    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     * @requiredField _id\n     * @permissionId WIX_STORES.READ_PRODUCTS\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @permissionScope Read Stores - all read permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n     * @permissionScope Read Products\n     * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @fqn wix.catalog.api.v1.CatalogReadApi.GetProduct\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    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    interface QueryCollectionsOptions {\n        /** Query options. */\n        query?: Query;\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    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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @permissionScope Read Stores - all read permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n     * @permissionScope Read Products\n     * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @fqn wix.catalog.api.v1.CatalogReadApi.GetCollectionBySlug\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @permissionScope Read Stores - all read permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n     * @permissionScope Read Products\n     * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @fqn wix.catalog.api.v1.CatalogReadApi.ProductOptionsAvailability\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     * @requiredField _id\n     * @permissionId WIX_STORES.READ_PRODUCTS\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @permissionScope Read Stores - all read permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n     * @permissionScope Read Products\n     * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @fqn wix.catalog.api.v1.CatalogReadApi.QueryProductVariants\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;\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     * @requiredField query\n     * @permissionId WIX_STORES.READ_PRODUCTS\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @permissionScope Read Stores - all read permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n     * @permissionScope Read Products\n     * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @fqn wix.catalog.api.v1.CatalogReadApi.QueryStoreVariants\n     */\n    function queryStoreVariants(query: PlatformQuery, options?: QueryStoreVariantsOptions): Promise<QueryStoreVariantsResponse>;\n    interface QueryStoreVariantsOptions {\n    }\n    interface QueryStoreVariantsWithBigLimitOptions {\n        /** Query options. */\n        query?: UnlimitedPlatformQuery;\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     * @requiredField _id\n     * @permissionId WIX_STORES.READ_PRODUCTS\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Products\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n     * @permissionScope Read Stores - all read permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n     * @permissionScope Read Products\n     * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @fqn wix.catalog.api.v1.CatalogReadApi.GetStoreVariant\n     */\n    function getStoreVariant(_id: string): Promise<GetStoreVariantResponse>;\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    type storesCatalogV1ProductProducts_universal_d_Product = Product;\n    type storesCatalogV1ProductProducts_universal_d_ProductType = ProductType;\n    const storesCatalogV1ProductProducts_universal_d_ProductType: typeof ProductType;\n    type storesCatalogV1ProductProducts_universal_d_NumericPropertyRange = NumericPropertyRange;\n    type storesCatalogV1ProductProducts_universal_d_Stock = Stock;\n    type storesCatalogV1ProductProducts_universal_d_InventoryStatus = InventoryStatus;\n    const storesCatalogV1ProductProducts_universal_d_InventoryStatus: typeof InventoryStatus;\n    type storesCatalogV1ProductProducts_universal_d_PriceData = PriceData;\n    type storesCatalogV1ProductProducts_universal_d_FormattedPrice = FormattedPrice;\n    type storesCatalogV1ProductProducts_universal_d_CostAndProfitData = CostAndProfitData;\n    type storesCatalogV1ProductProducts_universal_d_PricePerUnitData = PricePerUnitData;\n    type storesCatalogV1ProductProducts_universal_d_MeasurementUnit = MeasurementUnit;\n    const storesCatalogV1ProductProducts_universal_d_MeasurementUnit: typeof MeasurementUnit;\n    type storesCatalogV1ProductProducts_universal_d_AdditionalInfoSection = AdditionalInfoSection;\n    type storesCatalogV1ProductProducts_universal_d_Ribbon = Ribbon;\n    type storesCatalogV1ProductProducts_universal_d_Media = Media;\n    type storesCatalogV1ProductProducts_universal_d_MediaItem = MediaItem;\n    type storesCatalogV1ProductProducts_universal_d_MediaItemItemOneOf = MediaItemItemOneOf;\n    type storesCatalogV1ProductProducts_universal_d_MediaItemUrlAndSize = MediaItemUrlAndSize;\n    type storesCatalogV1ProductProducts_universal_d_MediaItemType = MediaItemType;\n    const storesCatalogV1ProductProducts_universal_d_MediaItemType: typeof MediaItemType;\n    type storesCatalogV1ProductProducts_universal_d_MediaItemVideo = MediaItemVideo;\n    type storesCatalogV1ProductProducts_universal_d_CustomTextField = CustomTextField;\n    type storesCatalogV1ProductProducts_universal_d_ProductOption = ProductOption;\n    type storesCatalogV1ProductProducts_universal_d_OptionType = OptionType;\n    const storesCatalogV1ProductProducts_universal_d_OptionType: typeof OptionType;\n    type storesCatalogV1ProductProducts_universal_d_Choice = Choice;\n    type storesCatalogV1ProductProducts_universal_d_PageUrl = PageUrl;\n    type storesCatalogV1ProductProducts_universal_d_Discount = Discount;\n    type storesCatalogV1ProductProducts_universal_d_DiscountType = DiscountType;\n    const storesCatalogV1ProductProducts_universal_d_DiscountType: typeof DiscountType;\n    type storesCatalogV1ProductProducts_universal_d_Variant = Variant;\n    type storesCatalogV1ProductProducts_universal_d_VariantDataWithNoStock = VariantDataWithNoStock;\n    type storesCatalogV1ProductProducts_universal_d_VariantStock = VariantStock;\n    type storesCatalogV1ProductProducts_universal_d_SeoSchema = SeoSchema;\n    type storesCatalogV1ProductProducts_universal_d_Keyword = Keyword;\n    type storesCatalogV1ProductProducts_universal_d_Tag = Tag;\n    type storesCatalogV1ProductProducts_universal_d_Settings = Settings;\n    type storesCatalogV1ProductProducts_universal_d_SecuredMedia = SecuredMedia;\n    type storesCatalogV1ProductProducts_universal_d_FileType = FileType;\n    const storesCatalogV1ProductProducts_universal_d_FileType: typeof FileType;\n    type storesCatalogV1ProductProducts_universal_d_CreateProductRequest = CreateProductRequest;\n    type storesCatalogV1ProductProducts_universal_d_CreateProductResponse = CreateProductResponse;\n    type storesCatalogV1ProductProducts_universal_d_CreateProductPlatformizedRequest = CreateProductPlatformizedRequest;\n    type storesCatalogV1ProductProducts_universal_d_CreateProductPlatformizedResponse = CreateProductPlatformizedResponse;\n    type storesCatalogV1ProductProducts_universal_d_CreateDigitalProductRequest = CreateDigitalProductRequest;\n    type storesCatalogV1ProductProducts_universal_d_CreateDigitalProductResponse = CreateDigitalProductResponse;\n    type storesCatalogV1ProductProducts_universal_d_UpdateProductRequest = UpdateProductRequest;\n    type storesCatalogV1ProductProducts_universal_d_UpdateProductResponse = UpdateProductResponse;\n    type storesCatalogV1ProductProducts_universal_d_UpdateProductPlatformizedRequest = UpdateProductPlatformizedRequest;\n    type storesCatalogV1ProductProducts_universal_d_UpdateProductPlatformizedResponse = UpdateProductPlatformizedResponse;\n    type storesCatalogV1ProductProducts_universal_d_DeleteProductRequest = DeleteProductRequest;\n    type storesCatalogV1ProductProducts_universal_d_DeleteProductResponse = DeleteProductResponse;\n    type storesCatalogV1ProductProducts_universal_d_DeleteProductPlatformizedRequest = DeleteProductPlatformizedRequest;\n    type storesCatalogV1ProductProducts_universal_d_DeleteProductPlatformizedResponse = DeleteProductPlatformizedResponse;\n    type storesCatalogV1ProductProducts_universal_d_BulkDeleteProductsRequest = BulkDeleteProductsRequest;\n    type storesCatalogV1ProductProducts_universal_d_BulkDeleteProductsResponse = BulkDeleteProductsResponse;\n    type storesCatalogV1ProductProducts_universal_d_UpdateVariantsRequest = UpdateVariantsRequest;\n    type storesCatalogV1ProductProducts_universal_d_VariantOverride = VariantOverride;\n    type storesCatalogV1ProductProducts_universal_d_UpdateVariantsResponse = UpdateVariantsResponse;\n    type storesCatalogV1ProductProducts_universal_d_ResetAllVariantDataRequest = ResetAllVariantDataRequest;\n    type storesCatalogV1ProductProducts_universal_d_ResetAllVariantDataResponse = ResetAllVariantDataResponse;\n    type storesCatalogV1ProductProducts_universal_d_AddProductsToCollectionRequest = AddProductsToCollectionRequest;\n    type storesCatalogV1ProductProducts_universal_d_AddProductsToCollectionResponse = AddProductsToCollectionResponse;\n    type storesCatalogV1ProductProducts_universal_d_RemoveProductsFromCollectionRequest = RemoveProductsFromCollectionRequest;\n    type storesCatalogV1ProductProducts_universal_d_RemoveProductsFromCollectionResponse = RemoveProductsFromCollectionResponse;\n    type storesCatalogV1ProductProducts_universal_d_AddProductMediaRequest = AddProductMediaRequest;\n    type storesCatalogV1ProductProducts_universal_d_MediaDataForWrite = MediaDataForWrite;\n    type storesCatalogV1ProductProducts_universal_d_MediaDataForWriteMediaSourceOneOf = MediaDataForWriteMediaSourceOneOf;\n    type storesCatalogV1ProductProducts_universal_d_OptionAndChoice = OptionAndChoice;\n    type storesCatalogV1ProductProducts_universal_d_AddProductMediaResponse = AddProductMediaResponse;\n    type storesCatalogV1ProductProducts_universal_d_RemoveProductMediaRequest = RemoveProductMediaRequest;\n    type storesCatalogV1ProductProducts_universal_d_RemoveProductMediaResponse = RemoveProductMediaResponse;\n    type storesCatalogV1ProductProducts_universal_d_AddProductMediaToChoicesRequest = AddProductMediaToChoicesRequest;\n    type storesCatalogV1ProductProducts_universal_d_MediaAssignmentToChoice = MediaAssignmentToChoice;\n    type storesCatalogV1ProductProducts_universal_d_AddProductMediaToChoicesResponse = AddProductMediaToChoicesResponse;\n    type storesCatalogV1ProductProducts_universal_d_RemoveProductMediaFromChoicesRequest = RemoveProductMediaFromChoicesRequest;\n    type storesCatalogV1ProductProducts_universal_d_RemoveProductMediaFromChoicesResponse = RemoveProductMediaFromChoicesResponse;\n    type storesCatalogV1ProductProducts_universal_d_DeleteProductOptionsRequest = DeleteProductOptionsRequest;\n    type storesCatalogV1ProductProducts_universal_d_DeleteProductOptionsResponse = DeleteProductOptionsResponse;\n    type storesCatalogV1ProductProducts_universal_d_SetCustomFieldsRequest = SetCustomFieldsRequest;\n    type storesCatalogV1ProductProducts_universal_d_SetCustomFieldsResponse = SetCustomFieldsResponse;\n    type storesCatalogV1ProductProducts_universal_d_RemoveCustomFieldsRequest = RemoveCustomFieldsRequest;\n    type storesCatalogV1ProductProducts_universal_d_RemoveCustomFieldsResponse = RemoveCustomFieldsResponse;\n    type storesCatalogV1ProductProducts_universal_d_RemoveProductBrandRequest = RemoveProductBrandRequest;\n    type storesCatalogV1ProductProducts_universal_d_RemoveProductBrandResponse = RemoveProductBrandResponse;\n    type storesCatalogV1ProductProducts_universal_d_BulkSetCustomFieldsRequest = BulkSetCustomFieldsRequest;\n    type storesCatalogV1ProductProducts_universal_d_BulkSetCustomFieldsResponse = BulkSetCustomFieldsResponse;\n    type storesCatalogV1ProductProducts_universal_d_BulkRemoveCustomFieldsRequest = BulkRemoveCustomFieldsRequest;\n    type storesCatalogV1ProductProducts_universal_d_BulkRemoveCustomFieldsResponse = BulkRemoveCustomFieldsResponse;\n    type storesCatalogV1ProductProducts_universal_d_CreateCollectionRequest = CreateCollectionRequest;\n    type storesCatalogV1ProductProducts_universal_d_Collection = Collection;\n    type storesCatalogV1ProductProducts_universal_d_CreateCollectionResponse = CreateCollectionResponse;\n    type storesCatalogV1ProductProducts_universal_d_UpdateCollectionRequest = UpdateCollectionRequest;\n    type storesCatalogV1ProductProducts_universal_d_UpdateCollectionResponse = UpdateCollectionResponse;\n    type storesCatalogV1ProductProducts_universal_d_DeleteCollectionRequest = DeleteCollectionRequest;\n    type storesCatalogV1ProductProducts_universal_d_DeleteCollectionResponse = DeleteCollectionResponse;\n    type storesCatalogV1ProductProducts_universal_d_RemoveProductRibbonRequest = RemoveProductRibbonRequest;\n    type storesCatalogV1ProductProducts_universal_d_RemoveProductRibbonResponse = RemoveProductRibbonResponse;\n    type storesCatalogV1ProductProducts_universal_d_BulkUpdateProductsRequest = BulkUpdateProductsRequest;\n    type storesCatalogV1ProductProducts_universal_d_SetValue = SetValue;\n    type storesCatalogV1ProductProducts_universal_d_SetValueValueOneOf = SetValueValueOneOf;\n    type storesCatalogV1ProductProducts_universal_d_BulkUpdateProductsResponse = BulkUpdateProductsResponse;\n    type storesCatalogV1ProductProducts_universal_d_BulkProductResult = BulkProductResult;\n    type storesCatalogV1ProductProducts_universal_d_ItemMetadata = ItemMetadata;\n    type storesCatalogV1ProductProducts_universal_d_ApplicationError = ApplicationError;\n    type storesCatalogV1ProductProducts_universal_d_BulkActionMetadata = BulkActionMetadata;\n    type storesCatalogV1ProductProducts_universal_d_BulkUpdateProductsByFilterSyncRequest = BulkUpdateProductsByFilterSyncRequest;\n    type storesCatalogV1ProductProducts_universal_d_BulkUpdateProductsByFilterSyncResponse = BulkUpdateProductsByFilterSyncResponse;\n    type storesCatalogV1ProductProducts_universal_d_AllowedProductsCountLimitExceededErrorData = AllowedProductsCountLimitExceededErrorData;\n    type storesCatalogV1ProductProducts_universal_d_BulkAdjustProductPropertiesRequest = BulkAdjustProductPropertiesRequest;\n    type storesCatalogV1ProductProducts_universal_d_AdjustValue = AdjustValue;\n    type storesCatalogV1ProductProducts_universal_d_AdjustValueValueOneOf = AdjustValueValueOneOf;\n    type storesCatalogV1ProductProducts_universal_d_PropertyAdjustmentData = PropertyAdjustmentData;\n    type storesCatalogV1ProductProducts_universal_d_PropertyAdjustmentDataByOneOf = PropertyAdjustmentDataByOneOf;\n    type storesCatalogV1ProductProducts_universal_d_PercentageData = PercentageData;\n    type storesCatalogV1ProductProducts_universal_d_BulkAdjustProductPropertiesResponse = BulkAdjustProductPropertiesResponse;\n    type storesCatalogV1ProductProducts_universal_d_BulkAdjustProductPropertiesByFilterSyncRequest = BulkAdjustProductPropertiesByFilterSyncRequest;\n    type storesCatalogV1ProductProducts_universal_d_BulkAdjustProductPropertiesByFilterSyncResponse = BulkAdjustProductPropertiesByFilterSyncResponse;\n    type storesCatalogV1ProductProducts_universal_d_ReCloneStoreRequest = ReCloneStoreRequest;\n    type storesCatalogV1ProductProducts_universal_d_ReCloneStoreResponse = ReCloneStoreResponse;\n    type storesCatalogV1ProductProducts_universal_d_V1CreateProductPlatformizedRequest = V1CreateProductPlatformizedRequest;\n    type storesCatalogV1ProductProducts_universal_d_V1CreateProductPlatformizedResponse = V1CreateProductPlatformizedResponse;\n    type storesCatalogV1ProductProducts_universal_d_V1UpdateProductPlatformizedRequest = V1UpdateProductPlatformizedRequest;\n    type storesCatalogV1ProductProducts_universal_d_V1UpdateProductPlatformizedResponse = V1UpdateProductPlatformizedResponse;\n    type storesCatalogV1ProductProducts_universal_d_V1DeleteProductPlatformizedRequest = V1DeleteProductPlatformizedRequest;\n    type storesCatalogV1ProductProducts_universal_d_V1DeleteProductPlatformizedResponse = V1DeleteProductPlatformizedResponse;\n    type storesCatalogV1ProductProducts_universal_d_ProductCreated = ProductCreated;\n    type storesCatalogV1ProductProducts_universal_d_Version = Version;\n    const storesCatalogV1ProductProducts_universal_d_Version: typeof Version;\n    type storesCatalogV1ProductProducts_universal_d_ProductChanged = ProductChanged;\n    type storesCatalogV1ProductProducts_universal_d_ProductDeleted = ProductDeleted;\n    type storesCatalogV1ProductProducts_universal_d_CollectionCreated = CollectionCreated;\n    type storesCatalogV1ProductProducts_universal_d_CollectionChanged = CollectionChanged;\n    type storesCatalogV1ProductProducts_universal_d_CollectionDeleted = CollectionDeleted;\n    type storesCatalogV1ProductProducts_universal_d_VariantsChanged = VariantsChanged;\n    type storesCatalogV1ProductProducts_universal_d_VariantChanged = VariantChanged;\n    type storesCatalogV1ProductProducts_universal_d_QueryProductsRequest = QueryProductsRequest;\n    type storesCatalogV1ProductProducts_universal_d_Query = Query;\n    type storesCatalogV1ProductProducts_universal_d_Paging = Paging;\n    type storesCatalogV1ProductProducts_universal_d_QueryProductsResponse = QueryProductsResponse;\n    type storesCatalogV1ProductProducts_universal_d_PagingMetadata = PagingMetadata;\n    type storesCatalogV1ProductProducts_universal_d_QueryProductsPlatformizedRequest = QueryProductsPlatformizedRequest;\n    type storesCatalogV1ProductProducts_universal_d_PlatformQuery = PlatformQuery;\n    type storesCatalogV1ProductProducts_universal_d_PlatformQueryPagingMethodOneOf = PlatformQueryPagingMethodOneOf;\n    type storesCatalogV1ProductProducts_universal_d_Sorting = Sorting;\n    type storesCatalogV1ProductProducts_universal_d_SortOrder = SortOrder;\n    const storesCatalogV1ProductProducts_universal_d_SortOrder: typeof SortOrder;\n    type storesCatalogV1ProductProducts_universal_d_PlatformPaging = PlatformPaging;\n    type storesCatalogV1ProductProducts_universal_d_CursorPaging = CursorPaging;\n    type storesCatalogV1ProductProducts_universal_d_QueryProductsPlatformizedResponse = QueryProductsPlatformizedResponse;\n    type storesCatalogV1ProductProducts_universal_d_PlatformPagingMetadata = PlatformPagingMetadata;\n    type storesCatalogV1ProductProducts_universal_d_Cursors = Cursors;\n    type storesCatalogV1ProductProducts_universal_d_QueryProductsWithBigPageLimitRequest = QueryProductsWithBigPageLimitRequest;\n    type storesCatalogV1ProductProducts_universal_d_QueryWithBigPageLimit = QueryWithBigPageLimit;\n    type storesCatalogV1ProductProducts_universal_d_PagingWithBigLimit = PagingWithBigLimit;\n    type storesCatalogV1ProductProducts_universal_d_GetProductsRequest = GetProductsRequest;\n    type storesCatalogV1ProductProducts_universal_d_GetProductsResponse = GetProductsResponse;\n    type storesCatalogV1ProductProducts_universal_d_GetProductRequest = GetProductRequest;\n    type storesCatalogV1ProductProducts_universal_d_GetProductResponse = GetProductResponse;\n    type storesCatalogV1ProductProducts_universal_d_GetProductPlatformizedRequest = GetProductPlatformizedRequest;\n    type storesCatalogV1ProductProducts_universal_d_GetProductPlatformizedResponse = GetProductPlatformizedResponse;\n    type storesCatalogV1ProductProducts_universal_d_QueryCollectionsRequest = QueryCollectionsRequest;\n    type storesCatalogV1ProductProducts_universal_d_QueryCollectionsResponse = QueryCollectionsResponse;\n    type storesCatalogV1ProductProducts_universal_d_QueryCollectionsPlatformizedRequest = QueryCollectionsPlatformizedRequest;\n    type storesCatalogV1ProductProducts_universal_d_QueryCollectionsPlatformizedResponse = QueryCollectionsPlatformizedResponse;\n    type storesCatalogV1ProductProducts_universal_d_GetCollectionRequest = GetCollectionRequest;\n    type storesCatalogV1ProductProducts_universal_d_GetCollectionResponse = GetCollectionResponse;\n    type storesCatalogV1ProductProducts_universal_d_GetCollectionBySlugRequest = GetCollectionBySlugRequest;\n    type storesCatalogV1ProductProducts_universal_d_GetCollectionBySlugResponse = GetCollectionBySlugResponse;\n    type storesCatalogV1ProductProducts_universal_d_ProductOptionsAvailabilityRequest = ProductOptionsAvailabilityRequest;\n    type storesCatalogV1ProductProducts_universal_d_ProductOptionsAvailabilityResponse = ProductOptionsAvailabilityResponse;\n    type storesCatalogV1ProductProducts_universal_d_VariantData = VariantData;\n    type storesCatalogV1ProductProducts_universal_d_QueryProductVariantsRequest = QueryProductVariantsRequest;\n    type storesCatalogV1ProductProducts_universal_d_QueryProductVariantsResponse = QueryProductVariantsResponse;\n    type storesCatalogV1ProductProducts_universal_d_QueryStoreVariantsRequest = QueryStoreVariantsRequest;\n    type storesCatalogV1ProductProducts_universal_d_QueryStoreVariantsResponse = QueryStoreVariantsResponse;\n    type storesCatalogV1ProductProducts_universal_d_StoreVariant = StoreVariant;\n    type storesCatalogV1ProductProducts_universal_d_PlatformMedia = PlatformMedia;\n    type storesCatalogV1ProductProducts_universal_d_PlatformMediaMediaOneOf = PlatformMediaMediaOneOf;\n    type storesCatalogV1ProductProducts_universal_d_FocalPoint = FocalPoint;\n    type storesCatalogV1ProductProducts_universal_d_VideoResolution = VideoResolution;\n    type storesCatalogV1ProductProducts_universal_d_PreorderInfo = PreorderInfo;\n    type storesCatalogV1ProductProducts_universal_d_QueryStoreVariantsWithBigLimitRequest = QueryStoreVariantsWithBigLimitRequest;\n    type storesCatalogV1ProductProducts_universal_d_UnlimitedPlatformQuery = UnlimitedPlatformQuery;\n    type storesCatalogV1ProductProducts_universal_d_UnlimitedPlatformQueryPagingMethodOneOf = UnlimitedPlatformQueryPagingMethodOneOf;\n    type storesCatalogV1ProductProducts_universal_d_UnlimitedPlatformPaging = UnlimitedPlatformPaging;\n    type storesCatalogV1ProductProducts_universal_d_UnlimitedPlatformCursorPaging = UnlimitedPlatformCursorPaging;\n    type storesCatalogV1ProductProducts_universal_d_GetStoreVariantRequest = GetStoreVariantRequest;\n    type storesCatalogV1ProductProducts_universal_d_GetStoreVariantResponse = GetStoreVariantResponse;\n    type storesCatalogV1ProductProducts_universal_d_QueryCustomFieldsRequest = QueryCustomFieldsRequest;\n    type storesCatalogV1ProductProducts_universal_d_QueryCustomFieldsResponse = QueryCustomFieldsResponse;\n    type storesCatalogV1ProductProducts_universal_d_BulkQueryCustomFieldsRequest = BulkQueryCustomFieldsRequest;\n    type storesCatalogV1ProductProducts_universal_d_BulkQueryCustomFieldsResponse = BulkQueryCustomFieldsResponse;\n    type storesCatalogV1ProductProducts_universal_d_CustomFieldsContainer = CustomFieldsContainer;\n    type storesCatalogV1ProductProducts_universal_d_AggregateProductsRequest = AggregateProductsRequest;\n    type storesCatalogV1ProductProducts_universal_d_AggregateProductsResponse = AggregateProductsResponse;\n    type storesCatalogV1ProductProducts_universal_d_MessageEnvelope = MessageEnvelope;\n    type storesCatalogV1ProductProducts_universal_d_IdentificationData = IdentificationData;\n    type storesCatalogV1ProductProducts_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n    type storesCatalogV1ProductProducts_universal_d_WebhookIdentityType = WebhookIdentityType;\n    const storesCatalogV1ProductProducts_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n    const storesCatalogV1ProductProducts_universal_d_createProduct: typeof createProduct;\n    type storesCatalogV1ProductProducts_universal_d_CreateDigitalProductOptions = CreateDigitalProductOptions;\n    const storesCatalogV1ProductProducts_universal_d_updateProduct: typeof updateProduct;\n    type storesCatalogV1ProductProducts_universal_d_UpdateProduct = UpdateProduct;\n    type storesCatalogV1ProductProducts_universal_d_UpdateProductPlatformizedProduct = UpdateProductPlatformizedProduct;\n    const storesCatalogV1ProductProducts_universal_d_deleteProduct: typeof deleteProduct;\n    const storesCatalogV1ProductProducts_universal_d_updateProductVariants: typeof updateProductVariants;\n    const storesCatalogV1ProductProducts_universal_d_resetAllProductVariantData: typeof resetAllProductVariantData;\n    const storesCatalogV1ProductProducts_universal_d_addProductsToCollection: typeof addProductsToCollection;\n    const storesCatalogV1ProductProducts_universal_d_removeProductsFromCollection: typeof removeProductsFromCollection;\n    const storesCatalogV1ProductProducts_universal_d_addProductMedia: typeof addProductMedia;\n    const storesCatalogV1ProductProducts_universal_d_removeProductMedia: typeof removeProductMedia;\n    const storesCatalogV1ProductProducts_universal_d_addProductMediaToChoices: typeof addProductMediaToChoices;\n    const storesCatalogV1ProductProducts_universal_d_removeProductMediaFromChoices: typeof removeProductMediaFromChoices;\n    const storesCatalogV1ProductProducts_universal_d_deleteProductOptions: typeof deleteProductOptions;\n    type storesCatalogV1ProductProducts_universal_d_SetCustomFieldsOptions = SetCustomFieldsOptions;\n    type storesCatalogV1ProductProducts_universal_d_RemoveCustomFieldsOptions = RemoveCustomFieldsOptions;\n    const storesCatalogV1ProductProducts_universal_d_removeBrand: typeof removeBrand;\n    type storesCatalogV1ProductProducts_universal_d_BulkSetCustomFieldsOptions = BulkSetCustomFieldsOptions;\n    type storesCatalogV1ProductProducts_universal_d_BulkRemoveCustomFieldsOptions = BulkRemoveCustomFieldsOptions;\n    const storesCatalogV1ProductProducts_universal_d_createCollection: typeof createCollection;\n    const storesCatalogV1ProductProducts_universal_d_updateCollection: typeof updateCollection;\n    type storesCatalogV1ProductProducts_universal_d_UpdateCollection = UpdateCollection;\n    const storesCatalogV1ProductProducts_universal_d_deleteCollection: typeof deleteCollection;\n    const storesCatalogV1ProductProducts_universal_d_removeRibbon: typeof removeRibbon;\n    const storesCatalogV1ProductProducts_universal_d_bulkUpdateProductsProperty: typeof bulkUpdateProductsProperty;\n    type storesCatalogV1ProductProducts_universal_d_BulkUpdateProductsByFilterSyncOptions = BulkUpdateProductsByFilterSyncOptions;\n    const storesCatalogV1ProductProducts_universal_d_bulkAdjustProductProperty: typeof bulkAdjustProductProperty;\n    type storesCatalogV1ProductProducts_universal_d_BulkAdjustProductPropertiesByFilterSyncOptions = BulkAdjustProductPropertiesByFilterSyncOptions;\n    type storesCatalogV1ProductProducts_universal_d_ReCloneStoreOptions = ReCloneStoreOptions;\n    type storesCatalogV1ProductProducts_universal_d_WriteProxyUpdateProductPlatformizedProduct = WriteProxyUpdateProductPlatformizedProduct;\n    type storesCatalogV1ProductProducts_universal_d_QueryProductsNonPlatformizedOptions = QueryProductsNonPlatformizedOptions;\n    const storesCatalogV1ProductProducts_universal_d_queryProducts: typeof queryProducts;\n    type storesCatalogV1ProductProducts_universal_d_ProductsQueryResult = ProductsQueryResult;\n    type storesCatalogV1ProductProducts_universal_d_ProductsQueryBuilder = ProductsQueryBuilder;\n    type storesCatalogV1ProductProducts_universal_d_QueryProductsWithBigPageLimitOptions = QueryProductsWithBigPageLimitOptions;\n    const storesCatalogV1ProductProducts_universal_d_getProduct: typeof getProduct;\n    type storesCatalogV1ProductProducts_universal_d_GetProductOptions = GetProductOptions;\n    type storesCatalogV1ProductProducts_universal_d_GetProductPlatformizedOptions = GetProductPlatformizedOptions;\n    type storesCatalogV1ProductProducts_universal_d_QueryCollectionsOptions = QueryCollectionsOptions;\n    type storesCatalogV1ProductProducts_universal_d_GetCollectionOptions = GetCollectionOptions;\n    const storesCatalogV1ProductProducts_universal_d_getCollectionBySlug: typeof getCollectionBySlug;\n    const storesCatalogV1ProductProducts_universal_d_getProductOptionsAvailability: typeof getProductOptionsAvailability;\n    const storesCatalogV1ProductProducts_universal_d_queryProductVariants: typeof queryProductVariants;\n    type storesCatalogV1ProductProducts_universal_d_QueryProductVariantsOptions = QueryProductVariantsOptions;\n    const storesCatalogV1ProductProducts_universal_d_queryStoreVariants: typeof queryStoreVariants;\n    type storesCatalogV1ProductProducts_universal_d_QueryStoreVariantsOptions = QueryStoreVariantsOptions;\n    type storesCatalogV1ProductProducts_universal_d_QueryStoreVariantsWithBigLimitOptions = QueryStoreVariantsWithBigLimitOptions;\n    const storesCatalogV1ProductProducts_universal_d_getStoreVariant: typeof getStoreVariant;\n    type storesCatalogV1ProductProducts_universal_d_AggregateProductsOptions = AggregateProductsOptions;\n    namespace storesCatalogV1ProductProducts_universal_d {\n        export { storesCatalogV1ProductProducts_universal_d_Product as Product, storesCatalogV1ProductProducts_universal_d_ProductType as ProductType, storesCatalogV1ProductProducts_universal_d_NumericPropertyRange as NumericPropertyRange, storesCatalogV1ProductProducts_universal_d_Stock as Stock, storesCatalogV1ProductProducts_universal_d_InventoryStatus as InventoryStatus, storesCatalogV1ProductProducts_universal_d_PriceData as PriceData, storesCatalogV1ProductProducts_universal_d_FormattedPrice as FormattedPrice, storesCatalogV1ProductProducts_universal_d_CostAndProfitData as CostAndProfitData, storesCatalogV1ProductProducts_universal_d_PricePerUnitData as PricePerUnitData, storesCatalogV1ProductProducts_universal_d_MeasurementUnit as MeasurementUnit, storesCatalogV1ProductProducts_universal_d_AdditionalInfoSection as AdditionalInfoSection, storesCatalogV1ProductProducts_universal_d_Ribbon as Ribbon, storesCatalogV1ProductProducts_universal_d_Media as Media, storesCatalogV1ProductProducts_universal_d_MediaItem as MediaItem, storesCatalogV1ProductProducts_universal_d_MediaItemItemOneOf as MediaItemItemOneOf, storesCatalogV1ProductProducts_universal_d_MediaItemUrlAndSize as MediaItemUrlAndSize, storesCatalogV1ProductProducts_universal_d_MediaItemType as MediaItemType, storesCatalogV1ProductProducts_universal_d_MediaItemVideo as MediaItemVideo, storesCatalogV1ProductProducts_universal_d_CustomTextField as CustomTextField, storesCatalogV1ProductProducts_universal_d_ProductOption as ProductOption, storesCatalogV1ProductProducts_universal_d_OptionType as OptionType, storesCatalogV1ProductProducts_universal_d_Choice as Choice, storesCatalogV1ProductProducts_universal_d_PageUrl as PageUrl, storesCatalogV1ProductProducts_universal_d_Discount as Discount, storesCatalogV1ProductProducts_universal_d_DiscountType as DiscountType, storesCatalogV1ProductProducts_universal_d_Variant as Variant, storesCatalogV1ProductProducts_universal_d_VariantDataWithNoStock as VariantDataWithNoStock, storesCatalogV1ProductProducts_universal_d_VariantStock as VariantStock, storesCatalogV1ProductProducts_universal_d_SeoSchema as SeoSchema, storesCatalogV1ProductProducts_universal_d_Keyword as Keyword, storesCatalogV1ProductProducts_universal_d_Tag as Tag, storesCatalogV1ProductProducts_universal_d_Settings as Settings, storesCatalogV1ProductProducts_universal_d_SecuredMedia as SecuredMedia, storesCatalogV1ProductProducts_universal_d_FileType as FileType, storesCatalogV1ProductProducts_universal_d_CreateProductRequest as CreateProductRequest, storesCatalogV1ProductProducts_universal_d_CreateProductResponse as CreateProductResponse, storesCatalogV1ProductProducts_universal_d_CreateProductPlatformizedRequest as CreateProductPlatformizedRequest, storesCatalogV1ProductProducts_universal_d_CreateProductPlatformizedResponse as CreateProductPlatformizedResponse, storesCatalogV1ProductProducts_universal_d_CreateDigitalProductRequest as CreateDigitalProductRequest, storesCatalogV1ProductProducts_universal_d_CreateDigitalProductResponse as CreateDigitalProductResponse, storesCatalogV1ProductProducts_universal_d_UpdateProductRequest as UpdateProductRequest, storesCatalogV1ProductProducts_universal_d_UpdateProductResponse as UpdateProductResponse, storesCatalogV1ProductProducts_universal_d_UpdateProductPlatformizedRequest as UpdateProductPlatformizedRequest, storesCatalogV1ProductProducts_universal_d_UpdateProductPlatformizedResponse as UpdateProductPlatformizedResponse, storesCatalogV1ProductProducts_universal_d_DeleteProductRequest as DeleteProductRequest, storesCatalogV1ProductProducts_universal_d_DeleteProductResponse as DeleteProductResponse, storesCatalogV1ProductProducts_universal_d_DeleteProductPlatformizedRequest as DeleteProductPlatformizedRequest, storesCatalogV1ProductProducts_universal_d_DeleteProductPlatformizedResponse as DeleteProductPlatformizedResponse, storesCatalogV1ProductProducts_universal_d_BulkDeleteProductsRequest as BulkDeleteProductsRequest, storesCatalogV1ProductProducts_universal_d_BulkDeleteProductsResponse as BulkDeleteProductsResponse, storesCatalogV1ProductProducts_universal_d_UpdateVariantsRequest as UpdateVariantsRequest, storesCatalogV1ProductProducts_universal_d_VariantOverride as VariantOverride, storesCatalogV1ProductProducts_universal_d_UpdateVariantsResponse as UpdateVariantsResponse, storesCatalogV1ProductProducts_universal_d_ResetAllVariantDataRequest as ResetAllVariantDataRequest, storesCatalogV1ProductProducts_universal_d_ResetAllVariantDataResponse as ResetAllVariantDataResponse, storesCatalogV1ProductProducts_universal_d_AddProductsToCollectionRequest as AddProductsToCollectionRequest, storesCatalogV1ProductProducts_universal_d_AddProductsToCollectionResponse as AddProductsToCollectionResponse, storesCatalogV1ProductProducts_universal_d_RemoveProductsFromCollectionRequest as RemoveProductsFromCollectionRequest, storesCatalogV1ProductProducts_universal_d_RemoveProductsFromCollectionResponse as RemoveProductsFromCollectionResponse, storesCatalogV1ProductProducts_universal_d_AddProductMediaRequest as AddProductMediaRequest, storesCatalogV1ProductProducts_universal_d_MediaDataForWrite as MediaDataForWrite, storesCatalogV1ProductProducts_universal_d_MediaDataForWriteMediaSourceOneOf as MediaDataForWriteMediaSourceOneOf, storesCatalogV1ProductProducts_universal_d_OptionAndChoice as OptionAndChoice, storesCatalogV1ProductProducts_universal_d_AddProductMediaResponse as AddProductMediaResponse, storesCatalogV1ProductProducts_universal_d_RemoveProductMediaRequest as RemoveProductMediaRequest, storesCatalogV1ProductProducts_universal_d_RemoveProductMediaResponse as RemoveProductMediaResponse, storesCatalogV1ProductProducts_universal_d_AddProductMediaToChoicesRequest as AddProductMediaToChoicesRequest, storesCatalogV1ProductProducts_universal_d_MediaAssignmentToChoice as MediaAssignmentToChoice, storesCatalogV1ProductProducts_universal_d_AddProductMediaToChoicesResponse as AddProductMediaToChoicesResponse, storesCatalogV1ProductProducts_universal_d_RemoveProductMediaFromChoicesRequest as RemoveProductMediaFromChoicesRequest, storesCatalogV1ProductProducts_universal_d_RemoveProductMediaFromChoicesResponse as RemoveProductMediaFromChoicesResponse, storesCatalogV1ProductProducts_universal_d_DeleteProductOptionsRequest as DeleteProductOptionsRequest, storesCatalogV1ProductProducts_universal_d_DeleteProductOptionsResponse as DeleteProductOptionsResponse, storesCatalogV1ProductProducts_universal_d_SetCustomFieldsRequest as SetCustomFieldsRequest, storesCatalogV1ProductProducts_universal_d_SetCustomFieldsResponse as SetCustomFieldsResponse, storesCatalogV1ProductProducts_universal_d_RemoveCustomFieldsRequest as RemoveCustomFieldsRequest, storesCatalogV1ProductProducts_universal_d_RemoveCustomFieldsResponse as RemoveCustomFieldsResponse, storesCatalogV1ProductProducts_universal_d_RemoveProductBrandRequest as RemoveProductBrandRequest, storesCatalogV1ProductProducts_universal_d_RemoveProductBrandResponse as RemoveProductBrandResponse, storesCatalogV1ProductProducts_universal_d_BulkSetCustomFieldsRequest as BulkSetCustomFieldsRequest, storesCatalogV1ProductProducts_universal_d_BulkSetCustomFieldsResponse as BulkSetCustomFieldsResponse, storesCatalogV1ProductProducts_universal_d_BulkRemoveCustomFieldsRequest as BulkRemoveCustomFieldsRequest, storesCatalogV1ProductProducts_universal_d_BulkRemoveCustomFieldsResponse as BulkRemoveCustomFieldsResponse, storesCatalogV1ProductProducts_universal_d_CreateCollectionRequest as CreateCollectionRequest, storesCatalogV1ProductProducts_universal_d_Collection as Collection, storesCatalogV1ProductProducts_universal_d_CreateCollectionResponse as CreateCollectionResponse, storesCatalogV1ProductProducts_universal_d_UpdateCollectionRequest as UpdateCollectionRequest, storesCatalogV1ProductProducts_universal_d_UpdateCollectionResponse as UpdateCollectionResponse, storesCatalogV1ProductProducts_universal_d_DeleteCollectionRequest as DeleteCollectionRequest, storesCatalogV1ProductProducts_universal_d_DeleteCollectionResponse as DeleteCollectionResponse, storesCatalogV1ProductProducts_universal_d_RemoveProductRibbonRequest as RemoveProductRibbonRequest, storesCatalogV1ProductProducts_universal_d_RemoveProductRibbonResponse as RemoveProductRibbonResponse, storesCatalogV1ProductProducts_universal_d_BulkUpdateProductsRequest as BulkUpdateProductsRequest, storesCatalogV1ProductProducts_universal_d_SetValue as SetValue, storesCatalogV1ProductProducts_universal_d_SetValueValueOneOf as SetValueValueOneOf, storesCatalogV1ProductProducts_universal_d_BulkUpdateProductsResponse as BulkUpdateProductsResponse, storesCatalogV1ProductProducts_universal_d_BulkProductResult as BulkProductResult, storesCatalogV1ProductProducts_universal_d_ItemMetadata as ItemMetadata, storesCatalogV1ProductProducts_universal_d_ApplicationError as ApplicationError, storesCatalogV1ProductProducts_universal_d_BulkActionMetadata as BulkActionMetadata, storesCatalogV1ProductProducts_universal_d_BulkUpdateProductsByFilterSyncRequest as BulkUpdateProductsByFilterSyncRequest, storesCatalogV1ProductProducts_universal_d_BulkUpdateProductsByFilterSyncResponse as BulkUpdateProductsByFilterSyncResponse, storesCatalogV1ProductProducts_universal_d_AllowedProductsCountLimitExceededErrorData as AllowedProductsCountLimitExceededErrorData, storesCatalogV1ProductProducts_universal_d_BulkAdjustProductPropertiesRequest as BulkAdjustProductPropertiesRequest, storesCatalogV1ProductProducts_universal_d_AdjustValue as AdjustValue, storesCatalogV1ProductProducts_universal_d_AdjustValueValueOneOf as AdjustValueValueOneOf, storesCatalogV1ProductProducts_universal_d_PropertyAdjustmentData as PropertyAdjustmentData, storesCatalogV1ProductProducts_universal_d_PropertyAdjustmentDataByOneOf as PropertyAdjustmentDataByOneOf, storesCatalogV1ProductProducts_universal_d_PercentageData as PercentageData, storesCatalogV1ProductProducts_universal_d_BulkAdjustProductPropertiesResponse as BulkAdjustProductPropertiesResponse, storesCatalogV1ProductProducts_universal_d_BulkAdjustProductPropertiesByFilterSyncRequest as BulkAdjustProductPropertiesByFilterSyncRequest, storesCatalogV1ProductProducts_universal_d_BulkAdjustProductPropertiesByFilterSyncResponse as BulkAdjustProductPropertiesByFilterSyncResponse, storesCatalogV1ProductProducts_universal_d_ReCloneStoreRequest as ReCloneStoreRequest, storesCatalogV1ProductProducts_universal_d_ReCloneStoreResponse as ReCloneStoreResponse, storesCatalogV1ProductProducts_universal_d_V1CreateProductPlatformizedRequest as V1CreateProductPlatformizedRequest, storesCatalogV1ProductProducts_universal_d_V1CreateProductPlatformizedResponse as V1CreateProductPlatformizedResponse, storesCatalogV1ProductProducts_universal_d_V1UpdateProductPlatformizedRequest as V1UpdateProductPlatformizedRequest, storesCatalogV1ProductProducts_universal_d_V1UpdateProductPlatformizedResponse as V1UpdateProductPlatformizedResponse, storesCatalogV1ProductProducts_universal_d_V1DeleteProductPlatformizedRequest as V1DeleteProductPlatformizedRequest, storesCatalogV1ProductProducts_universal_d_V1DeleteProductPlatformizedResponse as V1DeleteProductPlatformizedResponse, storesCatalogV1ProductProducts_universal_d_ProductCreated as ProductCreated, storesCatalogV1ProductProducts_universal_d_Version as Version, storesCatalogV1ProductProducts_universal_d_ProductChanged as ProductChanged, storesCatalogV1ProductProducts_universal_d_ProductDeleted as ProductDeleted, storesCatalogV1ProductProducts_universal_d_CollectionCreated as CollectionCreated, storesCatalogV1ProductProducts_universal_d_CollectionChanged as CollectionChanged, storesCatalogV1ProductProducts_universal_d_CollectionDeleted as CollectionDeleted, storesCatalogV1ProductProducts_universal_d_VariantsChanged as VariantsChanged, storesCatalogV1ProductProducts_universal_d_VariantChanged as VariantChanged, storesCatalogV1ProductProducts_universal_d_QueryProductsRequest as QueryProductsRequest, storesCatalogV1ProductProducts_universal_d_Query as Query, storesCatalogV1ProductProducts_universal_d_Paging as Paging, storesCatalogV1ProductProducts_universal_d_QueryProductsResponse as QueryProductsResponse, storesCatalogV1ProductProducts_universal_d_PagingMetadata as PagingMetadata, storesCatalogV1ProductProducts_universal_d_QueryProductsPlatformizedRequest as QueryProductsPlatformizedRequest, storesCatalogV1ProductProducts_universal_d_PlatformQuery as PlatformQuery, storesCatalogV1ProductProducts_universal_d_PlatformQueryPagingMethodOneOf as PlatformQueryPagingMethodOneOf, storesCatalogV1ProductProducts_universal_d_Sorting as Sorting, storesCatalogV1ProductProducts_universal_d_SortOrder as SortOrder, storesCatalogV1ProductProducts_universal_d_PlatformPaging as PlatformPaging, storesCatalogV1ProductProducts_universal_d_CursorPaging as CursorPaging, storesCatalogV1ProductProducts_universal_d_QueryProductsPlatformizedResponse as QueryProductsPlatformizedResponse, storesCatalogV1ProductProducts_universal_d_PlatformPagingMetadata as PlatformPagingMetadata, storesCatalogV1ProductProducts_universal_d_Cursors as Cursors, storesCatalogV1ProductProducts_universal_d_QueryProductsWithBigPageLimitRequest as QueryProductsWithBigPageLimitRequest, storesCatalogV1ProductProducts_universal_d_QueryWithBigPageLimit as QueryWithBigPageLimit, storesCatalogV1ProductProducts_universal_d_PagingWithBigLimit as PagingWithBigLimit, storesCatalogV1ProductProducts_universal_d_GetProductsRequest as GetProductsRequest, storesCatalogV1ProductProducts_universal_d_GetProductsResponse as GetProductsResponse, storesCatalogV1ProductProducts_universal_d_GetProductRequest as GetProductRequest, storesCatalogV1ProductProducts_universal_d_GetProductResponse as GetProductResponse, storesCatalogV1ProductProducts_universal_d_GetProductPlatformizedRequest as GetProductPlatformizedRequest, storesCatalogV1ProductProducts_universal_d_GetProductPlatformizedResponse as GetProductPlatformizedResponse, storesCatalogV1ProductProducts_universal_d_QueryCollectionsRequest as QueryCollectionsRequest, storesCatalogV1ProductProducts_universal_d_QueryCollectionsResponse as QueryCollectionsResponse, storesCatalogV1ProductProducts_universal_d_QueryCollectionsPlatformizedRequest as QueryCollectionsPlatformizedRequest, storesCatalogV1ProductProducts_universal_d_QueryCollectionsPlatformizedResponse as QueryCollectionsPlatformizedResponse, storesCatalogV1ProductProducts_universal_d_GetCollectionRequest as GetCollectionRequest, storesCatalogV1ProductProducts_universal_d_GetCollectionResponse as GetCollectionResponse, storesCatalogV1ProductProducts_universal_d_GetCollectionBySlugRequest as GetCollectionBySlugRequest, storesCatalogV1ProductProducts_universal_d_GetCollectionBySlugResponse as GetCollectionBySlugResponse, storesCatalogV1ProductProducts_universal_d_ProductOptionsAvailabilityRequest as ProductOptionsAvailabilityRequest, storesCatalogV1ProductProducts_universal_d_ProductOptionsAvailabilityResponse as ProductOptionsAvailabilityResponse, storesCatalogV1ProductProducts_universal_d_VariantData as VariantData, storesCatalogV1ProductProducts_universal_d_QueryProductVariantsRequest as QueryProductVariantsRequest, storesCatalogV1ProductProducts_universal_d_QueryProductVariantsResponse as QueryProductVariantsResponse, storesCatalogV1ProductProducts_universal_d_QueryStoreVariantsRequest as QueryStoreVariantsRequest, storesCatalogV1ProductProducts_universal_d_QueryStoreVariantsResponse as QueryStoreVariantsResponse, storesCatalogV1ProductProducts_universal_d_StoreVariant as StoreVariant, storesCatalogV1ProductProducts_universal_d_PlatformMedia as PlatformMedia, storesCatalogV1ProductProducts_universal_d_PlatformMediaMediaOneOf as PlatformMediaMediaOneOf, storesCatalogV1ProductProducts_universal_d_FocalPoint as FocalPoint, storesCatalogV1ProductProducts_universal_d_VideoResolution as VideoResolution, storesCatalogV1ProductProducts_universal_d_PreorderInfo as PreorderInfo, storesCatalogV1ProductProducts_universal_d_QueryStoreVariantsWithBigLimitRequest as QueryStoreVariantsWithBigLimitRequest, storesCatalogV1ProductProducts_universal_d_UnlimitedPlatformQuery as UnlimitedPlatformQuery, storesCatalogV1ProductProducts_universal_d_UnlimitedPlatformQueryPagingMethodOneOf as UnlimitedPlatformQueryPagingMethodOneOf, storesCatalogV1ProductProducts_universal_d_UnlimitedPlatformPaging as UnlimitedPlatformPaging, storesCatalogV1ProductProducts_universal_d_UnlimitedPlatformCursorPaging as UnlimitedPlatformCursorPaging, storesCatalogV1ProductProducts_universal_d_GetStoreVariantRequest as GetStoreVariantRequest, storesCatalogV1ProductProducts_universal_d_GetStoreVariantResponse as GetStoreVariantResponse, storesCatalogV1ProductProducts_universal_d_QueryCustomFieldsRequest as QueryCustomFieldsRequest, storesCatalogV1ProductProducts_universal_d_QueryCustomFieldsResponse as QueryCustomFieldsResponse, storesCatalogV1ProductProducts_universal_d_BulkQueryCustomFieldsRequest as BulkQueryCustomFieldsRequest, storesCatalogV1ProductProducts_universal_d_BulkQueryCustomFieldsResponse as BulkQueryCustomFieldsResponse, storesCatalogV1ProductProducts_universal_d_CustomFieldsContainer as CustomFieldsContainer, storesCatalogV1ProductProducts_universal_d_AggregateProductsRequest as AggregateProductsRequest, storesCatalogV1ProductProducts_universal_d_AggregateProductsResponse as AggregateProductsResponse, storesCatalogV1ProductProducts_universal_d_MessageEnvelope as MessageEnvelope, storesCatalogV1ProductProducts_universal_d_IdentificationData as IdentificationData, storesCatalogV1ProductProducts_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf, storesCatalogV1ProductProducts_universal_d_WebhookIdentityType as WebhookIdentityType, storesCatalogV1ProductProducts_universal_d_createProduct as createProduct, storesCatalogV1ProductProducts_universal_d_CreateDigitalProductOptions as CreateDigitalProductOptions, storesCatalogV1ProductProducts_universal_d_updateProduct as updateProduct, storesCatalogV1ProductProducts_universal_d_UpdateProduct as UpdateProduct, storesCatalogV1ProductProducts_universal_d_UpdateProductPlatformizedProduct as UpdateProductPlatformizedProduct, storesCatalogV1ProductProducts_universal_d_deleteProduct as deleteProduct, storesCatalogV1ProductProducts_universal_d_updateProductVariants as updateProductVariants, storesCatalogV1ProductProducts_universal_d_resetAllProductVariantData as resetAllProductVariantData, storesCatalogV1ProductProducts_universal_d_addProductsToCollection as addProductsToCollection, storesCatalogV1ProductProducts_universal_d_removeProductsFromCollection as removeProductsFromCollection, storesCatalogV1ProductProducts_universal_d_addProductMedia as addProductMedia, storesCatalogV1ProductProducts_universal_d_removeProductMedia as removeProductMedia, storesCatalogV1ProductProducts_universal_d_addProductMediaToChoices as addProductMediaToChoices, storesCatalogV1ProductProducts_universal_d_removeProductMediaFromChoices as removeProductMediaFromChoices, storesCatalogV1ProductProducts_universal_d_deleteProductOptions as deleteProductOptions, storesCatalogV1ProductProducts_universal_d_SetCustomFieldsOptions as SetCustomFieldsOptions, storesCatalogV1ProductProducts_universal_d_RemoveCustomFieldsOptions as RemoveCustomFieldsOptions, storesCatalogV1ProductProducts_universal_d_removeBrand as removeBrand, storesCatalogV1ProductProducts_universal_d_BulkSetCustomFieldsOptions as BulkSetCustomFieldsOptions, storesCatalogV1ProductProducts_universal_d_BulkRemoveCustomFieldsOptions as BulkRemoveCustomFieldsOptions, storesCatalogV1ProductProducts_universal_d_createCollection as createCollection, storesCatalogV1ProductProducts_universal_d_updateCollection as updateCollection, storesCatalogV1ProductProducts_universal_d_UpdateCollection as UpdateCollection, storesCatalogV1ProductProducts_universal_d_deleteCollection as deleteCollection, storesCatalogV1ProductProducts_universal_d_removeRibbon as removeRibbon, storesCatalogV1ProductProducts_universal_d_bulkUpdateProductsProperty as bulkUpdateProductsProperty, storesCatalogV1ProductProducts_universal_d_BulkUpdateProductsByFilterSyncOptions as BulkUpdateProductsByFilterSyncOptions, storesCatalogV1ProductProducts_universal_d_bulkAdjustProductProperty as bulkAdjustProductProperty, storesCatalogV1ProductProducts_universal_d_BulkAdjustProductPropertiesByFilterSyncOptions as BulkAdjustProductPropertiesByFilterSyncOptions, storesCatalogV1ProductProducts_universal_d_ReCloneStoreOptions as ReCloneStoreOptions, storesCatalogV1ProductProducts_universal_d_WriteProxyUpdateProductPlatformizedProduct as WriteProxyUpdateProductPlatformizedProduct, storesCatalogV1ProductProducts_universal_d_QueryProductsNonPlatformizedOptions as QueryProductsNonPlatformizedOptions, storesCatalogV1ProductProducts_universal_d_queryProducts as queryProducts, storesCatalogV1ProductProducts_universal_d_ProductsQueryResult as ProductsQueryResult, storesCatalogV1ProductProducts_universal_d_ProductsQueryBuilder as ProductsQueryBuilder, storesCatalogV1ProductProducts_universal_d_QueryProductsWithBigPageLimitOptions as QueryProductsWithBigPageLimitOptions, storesCatalogV1ProductProducts_universal_d_getProduct as getProduct, storesCatalogV1ProductProducts_universal_d_GetProductOptions as GetProductOptions, storesCatalogV1ProductProducts_universal_d_GetProductPlatformizedOptions as GetProductPlatformizedOptions, storesCatalogV1ProductProducts_universal_d_QueryCollectionsOptions as QueryCollectionsOptions, storesCatalogV1ProductProducts_universal_d_GetCollectionOptions as GetCollectionOptions, storesCatalogV1ProductProducts_universal_d_getCollectionBySlug as getCollectionBySlug, storesCatalogV1ProductProducts_universal_d_getProductOptionsAvailability as getProductOptionsAvailability, storesCatalogV1ProductProducts_universal_d_queryProductVariants as queryProductVariants, storesCatalogV1ProductProducts_universal_d_QueryProductVariantsOptions as QueryProductVariantsOptions, storesCatalogV1ProductProducts_universal_d_queryStoreVariants as queryStoreVariants, storesCatalogV1ProductProducts_universal_d_QueryStoreVariantsOptions as QueryStoreVariantsOptions, storesCatalogV1ProductProducts_universal_d_QueryStoreVariantsWithBigLimitOptions as QueryStoreVariantsWithBigLimitOptions, storesCatalogV1ProductProducts_universal_d_getStoreVariant as getStoreVariant, storesCatalogV1ProductProducts_universal_d_AggregateProductsOptions as AggregateProductsOptions, };\n    }\n    export { storesV2InventoryInventory_universal_d as inventory, storesCatalogV1ProductProducts_universal_d as products };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/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    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    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 { headlessV1WixUrl_universal_d___debug as __debug, headlessV1WixUrl_universal_d_WixUrl as WixUrl, headlessV1WixUrl_universal_d_CreateWixUrlRequest as CreateWixUrlRequest, headlessV1WixUrl_universal_d_CreateWixUrlRequestUrlParamsOneOf as CreateWixUrlRequestUrlParamsOneOf, headlessV1WixUrl_universal_d_WixUrlBookingsCheckoutParams as WixUrlBookingsCheckoutParams, headlessV1WixUrl_universal_d_SlotAvailability as SlotAvailability, headlessV1WixUrl_universal_d_Slot as Slot, headlessV1WixUrl_universal_d_SlotResource as SlotResource, headlessV1WixUrl_universal_d_Location as Location, headlessV1WixUrl_universal_d_LocationType as LocationType, headlessV1WixUrl_universal_d_WaitingList as WaitingList, headlessV1WixUrl_universal_d_BookingPolicyViolations as BookingPolicyViolations, headlessV1WixUrl_universal_d_WixUrlEcomCheckoutParams as WixUrlEcomCheckoutParams, headlessV1WixUrl_universal_d_WixUrlEventsCheckoutParams as WixUrlEventsCheckoutParams, headlessV1WixUrl_universal_d_WixUrlPaidPlansCheckoutParams as WixUrlPaidPlansCheckoutParams, headlessV1WixUrl_universal_d_WixUrlLoginParams as WixUrlLoginParams, headlessV1WixUrl_universal_d_CallbackParams as CallbackParams, headlessV1WixUrl_universal_d_CreateWixUrlResponse as CreateWixUrlResponse, headlessV1WixUrl_universal_d_createWixUrl as createWixUrl, headlessV1WixUrl_universal_d_CreateWixUrlOptions as CreateWixUrlOptions, };\n    }\n    export { headlessV1WixUrl_universal_d as redirects };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-media.v2.d.ts",
      "content": "declare module \"wix-media.v2\" {\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;\n        /**\n         * Date the folder was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\n        /**\n         * State of the folder.\n         * @readonly\n         */\n        state?: State$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    }\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    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:\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    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        /** 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    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         *\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    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        /** The folder to update. */\n        folder: Folder;\n    }\n    interface UpdateFolderResponse {\n        /** Information about the updated folder. */\n        folder?: Folder;\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         *\n         * Default: `_updatedDate` in `\"DESC\"` order.\n         */\n        sort?: Sorting$1;\n        /** Cursor and paging information. */\n        paging?: CursorPaging$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$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    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    interface EntityDeletedEvent$1 {\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 new folder in the Media Manager.\n     *\n     * The `createFolder()` function returns a Promise that resolves to the created folder.\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.MANAGE-MEDIAMANAGER\n     * @applicableIdentity APP\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    /**\n     * Gets information from the specified folder in the Media Manager.\n     *\n     * The `getFolder()` function returns a Promise that resolves to information about the specified folder.\n     * @param folderId - Folder ID.\n     * @public\n     * @requiredField folderId\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Read Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.READ-MEDIAMANAGER\n     * @permissionScope Manage Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.MANAGE-MEDIAMANAGER\n     * @applicableIdentity APP\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.\n     *\n     * The `listFolders()` function returns a Promise that resolves to information about the specified folders and cursor information.\n     *\n     * To retrieve a list of folders within a specific folder in the Media Manager, pass the specific folder's ID in the `parentFolderId` parameter. If no folder is specified, the function retrieves only the list of folders within the root folder of the Media Manager.\n     *\n     * To retrieve a list of (non-permanently) deleted folders, use the `listDeletedFolders()` function.\n     * @public\n     * @param options - Options to use when listing folders from the Media Manager.\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Read Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.READ-MEDIAMANAGER\n     * @permissionScope Manage Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.MANAGE-MEDIAMANAGER\n     * @applicableIdentity APP\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:\n         * - `displayName`\n         * - `_updatedDate`\n         *\n         * Default: `_updatedDate` in `\"DESC\"` order.\n         */\n        sort?: Sorting$1;\n        /** Cursor and paging information. */\n        paging?: CursorPaging$1;\n    }\n    /**\n     * Searches the Media Manager and returns a list of folders that match the terms specified in the parameters.\n     *\n     * The `searchFolders()` function returns a Promise that resolves to information about the specified folders and cursor information.\n     *\n     * If no parameters are specified, the function returns all folders in the `MEDIA_ROOT` folder.\n     * @public\n     * @param options - Options specifying which folders to search.\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Read Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.READ-MEDIAMANAGER\n     * @permissionScope Manage Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.MANAGE-MEDIAMANAGER\n     * @applicableIdentity APP\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         *\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`.\n         *\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    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;\n        /**\n         * Date the folder was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\n        /**\n         * State of the folder.\n         * @readonly\n         */\n        state?: State$1;\n    }\n    interface UpdateFolderOptions {\n    }\n    /**\n     * Generates a URL for downloading a compressed file containing a specific folder in the Media Manager.\n     *\n     * The `generateFolderDownloadUrl()` function returns a Promise that resolves to a download URL.\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.MANAGE-MEDIAMANAGER\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function generateFolderDownloadUrl(folderId: string): Promise<GenerateFolderDownloadUrlResponse>;\n    /**\n     * Temporarily deletes the specified folders from the Media Manager.\n     *\n     * The `bulkDeleteFolders()` function returns a Promise that resolves when the folders are deleted.\n     *\n     * The deleted folders are moved to the Media Manager's `TRASH_ROOT` folder (trash bin) unless permanently deleted. To permanently delete folders, pass 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     * >**Notes:**\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 your site contains files from a non-permanently deleted media folder, the files still appear on your site as the deleted folder is still in the Media Manager (in the trash bin).\n     * > - You can use the `bulkRestoreFoldersFromTrashBin()` function 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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.MANAGE-MEDIAMANAGER\n     * @applicableIdentity APP\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     *\n     *\n     * The `bulkRestoreFoldersFromTrashBin()` function returns a Promise that resolves when the folders have been restored.\n     * @param folderIds - IDs of the folders to restore from the Media Manager's trash bin.\n     * @public\n     * @requiredField folderIds\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.MANAGE-MEDIAMANAGER\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function bulkRestoreFoldersFromTrashBin(folderIds: string[]): Promise<void>;\n    /**\n     * Retrieves a list of deleted folders from the trash bin.\n     *\n     * The `listDeletedFolders()` function returns a Promise that resolves to information about the specified deleted folders and cursor information.\n     *\n     * To retrieve a list of non-deleted folders, use the `listFolders()` function.\n     * @public\n     * @param options - Options to use when listing deleted folders from the trash bin.\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Read Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.READ-MEDIAMANAGER\n     * @permissionScope Manage Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.MANAGE-MEDIAMANAGER\n     * @applicableIdentity APP\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         *\n         * Default: `_updatedDate` in `\"DESC\"` order.\n         */\n        sort?: Sorting$1;\n        /** Cursor and paging information. */\n        paging?: CursorPaging$1;\n    }\n    type mediaSiteMediaV1FolderFolders_universal_d_Folder = Folder;\n    type mediaSiteMediaV1FolderFolders_universal_d_CreateFolderRequest = CreateFolderRequest;\n    type mediaSiteMediaV1FolderFolders_universal_d_CreateFolderResponse = CreateFolderResponse;\n    type mediaSiteMediaV1FolderFolders_universal_d_GetFolderRequest = GetFolderRequest;\n    type mediaSiteMediaV1FolderFolders_universal_d_GetFolderResponse = GetFolderResponse;\n    type mediaSiteMediaV1FolderFolders_universal_d_ListFoldersRequest = ListFoldersRequest;\n    type mediaSiteMediaV1FolderFolders_universal_d_ListFoldersResponse = ListFoldersResponse;\n    type mediaSiteMediaV1FolderFolders_universal_d_SearchFoldersRequest = SearchFoldersRequest;\n    type mediaSiteMediaV1FolderFolders_universal_d_SearchFoldersResponse = SearchFoldersResponse;\n    type mediaSiteMediaV1FolderFolders_universal_d_UpdateFolderRequest = UpdateFolderRequest;\n    type mediaSiteMediaV1FolderFolders_universal_d_UpdateFolderResponse = UpdateFolderResponse;\n    type mediaSiteMediaV1FolderFolders_universal_d_GenerateFolderDownloadUrlRequest = GenerateFolderDownloadUrlRequest;\n    type mediaSiteMediaV1FolderFolders_universal_d_GenerateFolderDownloadUrlResponse = GenerateFolderDownloadUrlResponse;\n    type mediaSiteMediaV1FolderFolders_universal_d_BulkDeleteFoldersRequest = BulkDeleteFoldersRequest;\n    type mediaSiteMediaV1FolderFolders_universal_d_BulkDeleteFoldersResponse = BulkDeleteFoldersResponse;\n    type mediaSiteMediaV1FolderFolders_universal_d_BulkRestoreFoldersFromTrashBinRequest = BulkRestoreFoldersFromTrashBinRequest;\n    type mediaSiteMediaV1FolderFolders_universal_d_BulkRestoreFoldersFromTrashBinResponse = BulkRestoreFoldersFromTrashBinResponse;\n    type mediaSiteMediaV1FolderFolders_universal_d_ListDeletedFoldersRequest = ListDeletedFoldersRequest;\n    type mediaSiteMediaV1FolderFolders_universal_d_ListDeletedFoldersResponse = ListDeletedFoldersResponse;\n    const mediaSiteMediaV1FolderFolders_universal_d_createFolder: typeof createFolder;\n    type mediaSiteMediaV1FolderFolders_universal_d_CreateFolderOptions = CreateFolderOptions;\n    const mediaSiteMediaV1FolderFolders_universal_d_getFolder: typeof getFolder;\n    const mediaSiteMediaV1FolderFolders_universal_d_listFolders: typeof listFolders;\n    type mediaSiteMediaV1FolderFolders_universal_d_ListFoldersOptions = ListFoldersOptions;\n    const mediaSiteMediaV1FolderFolders_universal_d_searchFolders: typeof searchFolders;\n    type mediaSiteMediaV1FolderFolders_universal_d_SearchFoldersOptions = SearchFoldersOptions;\n    type mediaSiteMediaV1FolderFolders_universal_d_UpdateFolder = UpdateFolder;\n    type mediaSiteMediaV1FolderFolders_universal_d_UpdateFolderOptions = UpdateFolderOptions;\n    const mediaSiteMediaV1FolderFolders_universal_d_generateFolderDownloadUrl: typeof generateFolderDownloadUrl;\n    const mediaSiteMediaV1FolderFolders_universal_d_bulkDeleteFolders: typeof bulkDeleteFolders;\n    type mediaSiteMediaV1FolderFolders_universal_d_BulkDeleteFoldersOptions = BulkDeleteFoldersOptions;\n    const mediaSiteMediaV1FolderFolders_universal_d_bulkRestoreFoldersFromTrashBin: typeof bulkRestoreFoldersFromTrashBin;\n    const mediaSiteMediaV1FolderFolders_universal_d_listDeletedFolders: typeof listDeletedFolders;\n    type mediaSiteMediaV1FolderFolders_universal_d_ListDeletedFoldersOptions = ListDeletedFoldersOptions;\n    namespace mediaSiteMediaV1FolderFolders_universal_d {\n        export { mediaSiteMediaV1FolderFolders_universal_d_Folder as Folder, State$1 as State, Namespace$1 as Namespace, mediaSiteMediaV1FolderFolders_universal_d_CreateFolderRequest as CreateFolderRequest, mediaSiteMediaV1FolderFolders_universal_d_CreateFolderResponse as CreateFolderResponse, mediaSiteMediaV1FolderFolders_universal_d_GetFolderRequest as GetFolderRequest, mediaSiteMediaV1FolderFolders_universal_d_GetFolderResponse as GetFolderResponse, mediaSiteMediaV1FolderFolders_universal_d_ListFoldersRequest as ListFoldersRequest, Sorting$1 as Sorting, SortOrder$1 as SortOrder, CursorPaging$1 as CursorPaging, mediaSiteMediaV1FolderFolders_universal_d_ListFoldersResponse as ListFoldersResponse, PagingMetadataV2$1 as PagingMetadataV2, Cursors$1 as Cursors, mediaSiteMediaV1FolderFolders_universal_d_SearchFoldersRequest as SearchFoldersRequest, RootFolder$1 as RootFolder, mediaSiteMediaV1FolderFolders_universal_d_SearchFoldersResponse as SearchFoldersResponse, mediaSiteMediaV1FolderFolders_universal_d_UpdateFolderRequest as UpdateFolderRequest, mediaSiteMediaV1FolderFolders_universal_d_UpdateFolderResponse as UpdateFolderResponse, mediaSiteMediaV1FolderFolders_universal_d_GenerateFolderDownloadUrlRequest as GenerateFolderDownloadUrlRequest, mediaSiteMediaV1FolderFolders_universal_d_GenerateFolderDownloadUrlResponse as GenerateFolderDownloadUrlResponse, mediaSiteMediaV1FolderFolders_universal_d_BulkDeleteFoldersRequest as BulkDeleteFoldersRequest, mediaSiteMediaV1FolderFolders_universal_d_BulkDeleteFoldersResponse as BulkDeleteFoldersResponse, mediaSiteMediaV1FolderFolders_universal_d_BulkRestoreFoldersFromTrashBinRequest as BulkRestoreFoldersFromTrashBinRequest, mediaSiteMediaV1FolderFolders_universal_d_BulkRestoreFoldersFromTrashBinResponse as BulkRestoreFoldersFromTrashBinResponse, mediaSiteMediaV1FolderFolders_universal_d_ListDeletedFoldersRequest as ListDeletedFoldersRequest, mediaSiteMediaV1FolderFolders_universal_d_ListDeletedFoldersResponse as ListDeletedFoldersResponse, DomainEvent$1 as DomainEvent, DomainEventBodyOneOf$1 as DomainEventBodyOneOf, EntityCreatedEvent$1 as EntityCreatedEvent, EntityUpdatedEvent$1 as EntityUpdatedEvent, EntityDeletedEvent$1 as EntityDeletedEvent, ActionEvent$1 as ActionEvent, MessageEnvelope$1 as MessageEnvelope, IdentificationData$1 as IdentificationData, IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf, WebhookIdentityType$1 as WebhookIdentityType, mediaSiteMediaV1FolderFolders_universal_d_createFolder as createFolder, mediaSiteMediaV1FolderFolders_universal_d_CreateFolderOptions as CreateFolderOptions, mediaSiteMediaV1FolderFolders_universal_d_getFolder as getFolder, mediaSiteMediaV1FolderFolders_universal_d_listFolders as listFolders, mediaSiteMediaV1FolderFolders_universal_d_ListFoldersOptions as ListFoldersOptions, mediaSiteMediaV1FolderFolders_universal_d_searchFolders as searchFolders, mediaSiteMediaV1FolderFolders_universal_d_SearchFoldersOptions as SearchFoldersOptions, mediaSiteMediaV1FolderFolders_universal_d_UpdateFolder as UpdateFolder, mediaSiteMediaV1FolderFolders_universal_d_UpdateFolderOptions as UpdateFolderOptions, mediaSiteMediaV1FolderFolders_universal_d_generateFolderDownloadUrl as generateFolderDownloadUrl, mediaSiteMediaV1FolderFolders_universal_d_bulkDeleteFolders as bulkDeleteFolders, mediaSiteMediaV1FolderFolders_universal_d_BulkDeleteFoldersOptions as BulkDeleteFoldersOptions, mediaSiteMediaV1FolderFolders_universal_d_bulkRestoreFoldersFromTrashBin as bulkRestoreFoldersFromTrashBin, mediaSiteMediaV1FolderFolders_universal_d_listDeletedFolders as listDeletedFolders, mediaSiteMediaV1FolderFolders_universal_d_ListDeletedFoldersOptions as ListDeletedFoldersOptions, };\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 link to the uploaded file is public or private. Private links require a token.\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 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;\n        /**\n         * Date and time the file was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\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    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    }\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    /** @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    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    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         * 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    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;\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;\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: 'site_icon', 'swf', 'package', 'ufont'\n         * @readonly\n         */\n        internalMediaType?: string | null;\n        /**\n         * size in bytes. Optional.\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    enum State {\n        /** File is ready for consumption */\n        OK = \"OK\",\n        /** Deleted file */\n        DELETED = \"DELETED\"\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    }\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    interface FileReady {\n        /** File entity that is ready with full information */\n        file?: FileDescriptor;\n        /** External information passed in the file import or upload. */\n        externalInfo?: ExternalInfo;\n        /** The File was restored from the trash-bin */\n        triggeredByUndelete?: boolean;\n    }\n    interface ExternalInfo {\n        /** External information to pass in the File Ready or File Failed events. */\n        origin?: string;\n        /** External IDs to pass in the File Ready or File Failed events. */\n        externalIds?: string[];\n    }\n    interface FileFailed {\n        /** External information passed in the file import or upload. */\n        externalInfo?: ExternalInfo;\n    }\n    interface GenerateFilesDownloadUrlRequest {\n        /**\n         * 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         */\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 pass the file's Wix media URL. 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         */\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` query parameter in the upload request.\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 GetFileDescriptorRequest {\n        /**\n         * File ID.\n         *\n         * You can also pass the file's Wix media URL. 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         */\n        fileId: string;\n    }\n    interface GetFileDescriptorResponse {\n        /** Information about the file. */\n        file?: FileDescriptor;\n    }\n    interface GetFileDescriptorsRequest {\n        /**\n         * 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         */\n        fileIds: string[];\n    }\n    interface GetFileDescriptorsResponse {\n        /** Information about the requested files. */\n        files?: FileDescriptor[];\n    }\n    interface UpdateFileDescriptorRequest {\n        /** The file to update. */\n        file: FileDescriptor;\n    }\n    interface UpdateFileDescriptorResponse {\n        /** Information about the updated file. */\n        file?: FileDescriptor;\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` query parameter in the upload request.\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 link to the uploaded file is public or private. See `Private Files` in terminology. */\n        private?: boolean | null;\n        /** Labels assigned to media files that describe and categorize them. Provided by the user, or generated by [Google Vision API](https://cloud.google.com/vision/docs/drag-and-drop) for images. */\n        labels?: string[] | null;\n        /** Information sent to the `onFileDescriptorFileReady( )` and `onFileDescriptorFileFailed( )` events. See the Importing Files article to learn more. */\n        externalInfo?: ExternalInfo;\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    interface GenerateFileUploadUrlResponse {\n        /** The URL for uploading a file to the Media Manager. */\n        uploadUrl?: string;\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` query parameter in the upload request.\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 link to the imported file is public or private. See `Private Files` in terminology. */\n        private?: boolean | null;\n        /** Labels assigned to media files that describe and categorize them. Provided by the 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         * 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    enum UploadProtocol {\n        /** The upload protocol to use for implementing the resumable upload. */\n        TUS = \"TUS\"\n    }\n    interface GenerateFileResumableUploadUrlResponse {\n        /**\n         * The upload protocol to use for implementing the resumable upload.\n         *\n         * Supported values: `\"TUS\"`\n         */\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        /** Media type of the file to import. */\n        mediaType?: MediaType;\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 link to the imported file is public or private. */\n        private?: boolean | null;\n        /** Labels assigned to media files that describe and categorize them. Provided by the 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 `onFileDescriptorFileReady( )` and `onFileDescriptorFileFailed( )` events. See the Importing Files article 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         * 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    interface ImportFileResponse {\n        /** Information about the imported file. */\n        file?: FileDescriptor;\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[];\n    }\n    interface BulkImportFileRequest {\n        /** Information about the files to import. */\n        importFileRequests: ImportFileRequest[];\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         *\n         * Default: `true`\n         */\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 returned if the operation was successful and `returnEntity` is not set to `false`. */\n        item?: FileDescriptor;\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 ListFilesRequest {\n        /**\n         * ID of the file's parent folder. <br />\n         * Default:`media-root`.\n         */\n        parentFolderId?: string | null;\n        /**\n         * File media type.\n         * excluding: OTHER media type\n         */\n        mediaTypes?: MediaType[];\n        /** Whether the link to the imported file is public or private. */\n        private?: boolean | null;\n        /**\n         * Field name and order to sort by. One of:\n         *\n         * - `displayName`\n         * - `_updatedDate`\n         * - `sizeInBytes`\n         *\n         * Default: `_updatedDate` in `\"DESC\"` order.\n         */\n        sort?: Sorting;\n        /** Cursor and paging information. */\n        paging?: 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 ListFilesResponse {\n        /** List of files in the Media Manager. */\n        files?: FileDescriptor[];\n        /** The next cursor if it exists. */\n        nextCursor?: PagingMetadataV2;\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    interface Cursors {\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;\n        /**\n         * File media type.\n         * excluding: OTHER media type\n         */\n        mediaTypes?: MediaType[];\n        /** Whether the link to the imported file is public or private. */\n        private?: boolean | null;\n        /**\n         * Field name and order to sort by. One of:\n         *\n         * - `displayName`\n         * - `_updatedDate`\n         * - `sizeInBytes`\n         *\n         * Default: `_updatedDate` in `\"DESC\"` order.\n         */\n        sort?: Sorting;\n        /** Cursor and paging information. */\n        paging?: CursorPaging;\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    interface SearchFilesResponse {\n        /** Files matching the query. */\n        files?: FileDescriptor[];\n        /** The next cursor if it exists. */\n        nextCursor?: PagingMetadataV2;\n    }\n    interface GenerateVideoStreamingUrlRequest {\n        /**\n         * File ID.\n         *\n         * You can also pass the file's Wix media URL. 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         */\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 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         */\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 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         */\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        /**\n         * File media type.\n         * excluding: OTHER media type\n         */\n        mediaTypes?: MediaType[];\n        /** Whether the link to the imported file is public or private. */\n        private?: boolean | null;\n        /**\n         * Field name and order to sort by. One of:\n         *\n         * - `displayName`\n         * - `_updatedDate`\n         * - `sizeInBytes`\n         *\n         * Default: `_updatedDate` in `\"DESC\"` order.\n         */\n        sort?: Sorting;\n        /** Cursor and paging information. */\n        paging?: CursorPaging;\n    }\n    interface ListDeletedFilesResponse {\n        /** List of files in the Media Manager's trash bin. */\n        files?: FileDescriptor[];\n        /** The next cursor if it exists. */\n        nextCursor?: PagingMetadataV2;\n    }\n    interface UpdateFileRequest {\n        /**\n         * ID of the file to update.\n         *\n         * You can also pass the file's Wix media URL. 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         */\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 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;\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        /** 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    interface EntityDeletedEvent {\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     * Generates a URL for downloading a compressed file containing specific files in the Media Manager.\n     *\n     * The `generateFilesDownloadUrl()` function returns a Promise that resolves to a download URL.\n     *\n     * The compressed file can contain up to 1000 files.\n     *\n     * To generate one or more temporary URLs for downloading a specific file in the Media Manager, use the `generateFileDownloadUrl()` function.\n     * You can use the `expirationInMinutes` parameter to set the URL expiration time, making it more secure than the `generateFilesDownloadUrl()` function.\n     * Therefore, to download private files, use the `generateFileDownloadUrl` function 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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.MANAGE-MEDIAMANAGER\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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     * The `generateFileDownloadUrl()` function returns a Promise that resolves to an array containing download URLs for the assets specified in the options parameter.\n     *\n     * To download different assets of the file, use the `assetKeys` parameter which generates a download URL for each asset.\n     * If no asset key is specified, it defaults to `src`, which generates one download URL in the original file's format and quality.\n     *\n     * Use this function to grant external clients access to a private media file. Use 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, use the `generateFilesDownloadUrl()` function.\n     * Since this is a permanent URL, it is less secure. Therefore, to download private files, use the `generateFileDownloadUrl()` function 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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.MANAGE-MEDIAMANAGER\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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` query parameter in the upload request.\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 the specified file in the Media Manager.\n     *\n     *\n     * The `getFileDescriptor()` function returns a Promise that resolves to the specified file's descriptor.\n     *\n     * Use `getFileDescriptors()` to get multiple file descriptors at once.\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Read Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.READ-MEDIAMANAGER\n     * @permissionScope Manage Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.MANAGE-MEDIAMANAGER\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Information about the file.\n     */\n    function getFileDescriptor(fileId: string): Promise<FileDescriptor>;\n    /**\n     * Gets information about the specified files in the Media Manager.\n     *\n     *\n     * The `getFileDescriptors()` function returns a Promise that resolves to an array containing the specified files' descriptors.\n     *\n     * Use `getFileDescriptor()` to get a single file descriptor.\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Read Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.READ-MEDIAMANAGER\n     * @permissionScope Manage Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.MANAGE-MEDIAMANAGER\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function getFileDescriptors(fileIds: string[]): Promise<GetFileDescriptorsResponse>;\n    /**\n     * Updates a file.\n     *\n     *\n     * The `updateFileDescriptor()` function returns a Promise that resolves to the updated file's descriptor.\n     *\n     * You can use 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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.MANAGE-MEDIAMANAGER\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Information about the updated file.\n     */\n    function updateFileDescriptor(file: FileDescriptor, options?: UpdateFileDescriptorOptions): Promise<FileDescriptor>;\n    interface UpdateFileDescriptorOptions {\n    }\n    /**\n     * Generates an upload URL to allow external clients to upload a file to the Media Manager.\n     *\n     * The `generateFileUploadUrl()` function returns a Promise that resolves to an upload URL.\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 the Upload API article.\n     *\n     * > **Note:** Any interruption in the upload process stops the file upload. For files larger than 10MB, or when network connection is poor, use `generateFileResumableUploadUrl()` 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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.MANAGE-MEDIAMANAGER\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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` query parameter in the upload request.\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 link to the uploaded file is public or private. See `Private Files` in terminology. */\n        private?: boolean | null;\n        /** Labels assigned to media files that describe and categorize them. Provided by the user, or generated by [Google Vision API](https://cloud.google.com/vision/docs/drag-and-drop) for images. */\n        labels?: string[] | null;\n        /** Information sent to the `onFileDescriptorFileReady( )` and `onFileDescriptorFileFailed( )` events. See the Importing Files article to learn more. */\n        externalInfo?: ExternalInfo;\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    /**\n     * Generates a resumable upload URL to allow external clients to upload large files over 10MB to the Media Manager.\n     *\n     * The `generateFileResumableUploadUrl()` function returns a Promise that resolves to an upload URL, token, and protocol.\n     *\n     * When using the resumable upload URL, any interruptions will pause the file upload process, which automatically resumes once the interruption is resolved. The resumable upload URL is also helpful when network connection is poor.\n     *\n     * To learn how external clients can use the generated upload URL in the response to upload large files to the Media Manager, see the Resumable Upload API article.\n     * @param mimeType - File mime type.\n     * @public\n     * @requiredField mimeType\n     * @param options - Options to use when generating a resumable upload URL.\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.MANAGE-MEDIAMANAGER\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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` query parameter in the upload request.\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 link to the imported file is public or private. See `Private Files` in terminology. */\n        private?: boolean | null;\n        /** Labels assigned to media files that describe and categorize them. Provided by the user, or generated by [Google Vision API](https://cloud.google.com/vision/docs/drag-and-drop) for images. */\n        labels?: string[] | null;\n        /**\n         * The upload protocol to use for implementing the resumable upload.\n         *\n         * Supported values: `\"TUS\"`\n         */\n        uploadProtocol?: UploadProtocol;\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    /**\n     * Imports a file to the Media Manager using an external URL.\n     *\n     * The `importFile()` function returns a Promise that resolves to the imported file's descriptor.\n     *\n     * This function returns information about the imported file. Importing a file is the method through which you can add files to the Media Manager.\n     * Use 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     * To import a file, you need to do one of the following:\n     * - Pass 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, pass 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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.MANAGE-MEDIAMANAGER\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function importFile(url: string, options?: ImportFileOptions): Promise<ImportFileResponse>;\n    interface ImportFileOptions {\n        /** Media type of the file to import. */\n        mediaType?: MediaType;\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 link to the imported file is public or private. */\n        private?: boolean | null;\n        /** Labels assigned to media files that describe and categorize them. Provided by the 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 `onFileDescriptorFileReady( )` and `onFileDescriptorFileFailed( )` events. See the Importing Files article 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         * 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    /**\n     * > **Deprecated.**\n     * > This function has been replaced with `bulkImportFile()`, and will be removed on March 31, 2024.\n     *\n     *\n     * The `bulkImportFiles()` function returns a Promise that resolves to an array of the imported files' descriptors.\n     *\n     * Imports a bulk of files to the Media Manager using external urls.\n     *\n     * Returns information about the imported files. Use the `parentFolderId` and `filePath` parameters to specify in which folder you want each file to be imported.\n     * If no folder is specified, the file is imported to the `media-root` folder.\n     *\n     * >**Note:** The `media` property isn't returned in the `files` response object.\n     *\n     * To import files, you need to do one of the following for each file:\n     * - Pass 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, pass 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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.MANAGE-MEDIAMANAGER\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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.\n     *\n     * The `bulkImportFile()` function returns a Promise that resolves to an object containing bulk import metadata and an array of imported files' descriptors and metadata.\n     *\n     * Returns information about the imported files. Use the `parentFolderId` and `filePath` parameters to specify in which folder you want each file to be imported.\n     * If no folder is specified, the file is imported to the `media-root` folder.\n     *\n     * To import files, you need to do one of the following for each file:\n     * - Pass 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, pass 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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.MANAGE-MEDIAMANAGER\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function bulkImportFile(importFileRequests: ImportFileRequest[], options?: BulkImportFileOptions): Promise<BulkImportFileResponse>;\n    interface BulkImportFileOptions {\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         *\n         * Default: `true`\n         */\n        returnEntity?: boolean | null;\n    }\n    /**\n     * Retrieves a list of files in the Media Manager.\n     *\n     * The `listFiles()` function returns a Promise that resolves to an array of the specified files' descriptors and cursor information.\n     *\n     * To retrieve a list of files within a specific folder in the Media Manager, pass the folder's ID in the `parentFolderId` parameter. If no folder is specified, the function retrieves only the files in the root folder of the Media Manager.\n     *\n     * To retrieve a list of (non-permanently) deleted files, use the `listDeletedFiles()` function.\n     * @public\n     * @param options - Options to use when listing media files.\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Read Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.READ-MEDIAMANAGER\n     * @permissionScope Manage Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.MANAGE-MEDIAMANAGER\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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        /** Media file type. */\n        mediaTypes?: MediaType[];\n        /** Whether the link to the imported file is public or private. */\n        private?: boolean | null;\n        /**\n         * Field name and order to sort by. One of:\n         *\n         * - `displayName`\n         * - `_updatedDate`\n         * - `sizeInBytes`\n         *\n         * Default: `_updatedDate` in `\"DESC\"` order.\n         */\n        sort?: Sorting;\n        /** Cursor and paging information. */\n        paging?: CursorPaging;\n    }\n    /**\n     * Searches all folders in the Media Manager and returns a list of files that match the terms specified in the optional parameters.\n     *\n     * The `searchFiles()` function returns a Promise that resolves to an array of the specified files' descriptors and cursor information.\n     *\n     * If no parameters are specified, the function returns all files in the `MEDIA_ROOT` folder.\n     * @public\n     * @param options - Options to specify which folders to search.\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Read Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.READ-MEDIAMANAGER\n     * @permissionScope Manage Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.MANAGE-MEDIAMANAGER\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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.\n         *\n         * Default: `MEDIA_ROOT`.\n         */\n        rootFolder?: RootFolder;\n        /** Media file type. */\n        mediaTypes?: MediaType[];\n        /**\n         * Whether the link to the imported file is public or private.\n         *\n         * Default: `false`.\n         */\n        private?: boolean | null;\n        /**\n         * Field name and order to sort by. One of:\n         *\n         * - `displayName`\n         * - `_updatedDate`\n         * - `sizeInBytes`\n         *\n         * Default: `_updatedDate` in `\"DESC\"` order.\n         */\n        sort?: Sorting;\n        /** Cursor and paging information. */\n        paging?: CursorPaging;\n    }\n    /**\n     * Generates a URL for streaming a specific video file in the Media Manager.\n     *\n     *\n     * The `generateVideoStreamingUrl()` function returns a Promise that resolves to a download URL and its asset key.\n     *\n     * To stream different assets of the file, use the `assetKeys` parameter which generates a video streaming URL for each asset. If no asset key 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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Read Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.READ-MEDIAMANAGER\n     * @permissionScope Manage Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.MANAGE-MEDIAMANAGER\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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     * Deletes the specified files from the Media Manager.\n     *\n     *\n     * The `bulkDeleteFiles()` function returns a Promise that resolves when the files are deleted.\n     *\n     * The deleted files are moved to the Media Manager's trash bin (`TRASH_ROOT` folder) unless permanently deleted. To permanently delete files, pass 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     * >**Notes:**\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 your site contains deleted media files, the deleted media files still appear on your site as the files are still in the Media Manager (in the trash bin).\n     * > - You can use `bulkRestoreFilesFromTrashBin()` 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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.MANAGE-MEDIAMANAGER\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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     *\n     * The `bulkRestoreFilesFromTrashBin()` function returns a Promise that resolves when the files have been restored.\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.MANAGE-MEDIAMANAGER\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function bulkRestoreFilesFromTrashBin(fileIds: string[]): Promise<void>;\n    /**\n     * Retrieves a list of files in the Media Manager's trash bin.\n     *\n     * The `listDeletedFiles()` function returns a Promise that resolves to an array of the specified deleted files' descriptors and cursor information.\n     *\n     * >**Note:** The Media Manager's trash bin (`TRASH_ROOT` folder) only contains temporarily deleted files, not permanently deleted files.\n     *\n     * To retrieve a list of non-deleted files, use the `listFiles()` function.\n     * @public\n     * @param options - Options to use when listing deleted files from the trash bin.\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Read Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.READ-MEDIAMANAGER\n     * @permissionScope Manage Media Manager\n     * @permissionScopeId SCOPE.DC-MEDIA.MANAGE-MEDIAMANAGER\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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        /** Media file type. */\n        mediaTypes?: MediaType[];\n        /** Whether the link to the imported file is public or private. */\n        private?: boolean | null;\n        /**\n         * Field name and order to sort by. One of:\n         *\n         * - `displayName`\n         * - `_updatedDate`\n         * - `sizeInBytes`\n         *\n         * Default: `_updatedDate` in `\"DESC\"` order.\n         */\n        sort?: Sorting;\n        /** Cursor and paging information. */\n        paging?: CursorPaging;\n    }\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 user, or generated by [Google Vision API](https://cloud.google.com/vision/docs/drag-and-drop) for images. */\n        labels?: string[] | null;\n    }\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_FileDescriptor = FileDescriptor;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_MediaType = MediaType;\n    const mediaSiteMediaV1FileDescriptorFiles_universal_d_MediaType: typeof MediaType;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_FileMedia = FileMedia;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_FileMediaMediaOneOf = FileMediaMediaOneOf;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_ImageMedia = ImageMedia;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_Colors = Colors;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_Color = Color;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_ColorRGB = ColorRGB;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_FaceRecognition = FaceRecognition;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_VideoResolution = VideoResolution;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_AudioV2 = AudioV2;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_Archive = Archive;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_Model3D = Model3D;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_OtherMedia = OtherMedia;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_OperationStatus = OperationStatus;\n    const mediaSiteMediaV1FileDescriptorFiles_universal_d_OperationStatus: typeof OperationStatus;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_State = State;\n    const mediaSiteMediaV1FileDescriptorFiles_universal_d_State: typeof State;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_Namespace = Namespace;\n    const mediaSiteMediaV1FileDescriptorFiles_universal_d_Namespace: typeof Namespace;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_IdentityInfo = IdentityInfo;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_IdentityType = IdentityType;\n    const mediaSiteMediaV1FileDescriptorFiles_universal_d_IdentityType: typeof IdentityType;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_FileReady = FileReady;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_ExternalInfo = ExternalInfo;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_FileFailed = FileFailed;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateFilesDownloadUrlRequest = GenerateFilesDownloadUrlRequest;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateFilesDownloadUrlResponse = GenerateFilesDownloadUrlResponse;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateFileDownloadUrlRequest = GenerateFileDownloadUrlRequest;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_ContentDisposition = ContentDisposition;\n    const mediaSiteMediaV1FileDescriptorFiles_universal_d_ContentDisposition: typeof ContentDisposition;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateFileDownloadUrlResponse = GenerateFileDownloadUrlResponse;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_DownloadUrl = DownloadUrl;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_GetFileDescriptorRequest = GetFileDescriptorRequest;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_GetFileDescriptorResponse = GetFileDescriptorResponse;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_GetFileDescriptorsRequest = GetFileDescriptorsRequest;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_GetFileDescriptorsResponse = GetFileDescriptorsResponse;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_UpdateFileDescriptorRequest = UpdateFileDescriptorRequest;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_UpdateFileDescriptorResponse = UpdateFileDescriptorResponse;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateFileUploadUrlRequest = GenerateFileUploadUrlRequest;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateFileUploadUrlResponse = GenerateFileUploadUrlResponse;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateFileResumableUploadUrlRequest = GenerateFileResumableUploadUrlRequest;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_UploadProtocol = UploadProtocol;\n    const mediaSiteMediaV1FileDescriptorFiles_universal_d_UploadProtocol: typeof UploadProtocol;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateFileResumableUploadUrlResponse = GenerateFileResumableUploadUrlResponse;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_ImportFileRequest = ImportFileRequest;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_ImportFileResponse = ImportFileResponse;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_BulkImportFilesRequest = BulkImportFilesRequest;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_BulkImportFilesResponse = BulkImportFilesResponse;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_BulkImportFileRequest = BulkImportFileRequest;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_BulkImportFileResponse = BulkImportFileResponse;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_BulkImportFileResult = BulkImportFileResult;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_ItemMetadata = ItemMetadata;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_ApplicationError = ApplicationError;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_BulkActionMetadata = BulkActionMetadata;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_ListFilesRequest = ListFilesRequest;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_Sorting = Sorting;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_SortOrder = SortOrder;\n    const mediaSiteMediaV1FileDescriptorFiles_universal_d_SortOrder: typeof SortOrder;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_CursorPaging = CursorPaging;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_ListFilesResponse = ListFilesResponse;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_PagingMetadataV2 = PagingMetadataV2;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_Cursors = Cursors;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_SearchFilesRequest = SearchFilesRequest;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_RootFolder = RootFolder;\n    const mediaSiteMediaV1FileDescriptorFiles_universal_d_RootFolder: typeof RootFolder;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_SearchFilesResponse = SearchFilesResponse;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateVideoStreamingUrlRequest = GenerateVideoStreamingUrlRequest;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_StreamFormat = StreamFormat;\n    const mediaSiteMediaV1FileDescriptorFiles_universal_d_StreamFormat: typeof StreamFormat;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateVideoStreamingUrlResponse = GenerateVideoStreamingUrlResponse;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateWebSocketTokenRequest = GenerateWebSocketTokenRequest;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateWebSocketTokenResponse = GenerateWebSocketTokenResponse;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_BulkDeleteFilesRequest = BulkDeleteFilesRequest;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_BulkDeleteFilesResponse = BulkDeleteFilesResponse;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_BulkRestoreFilesFromTrashBinRequest = BulkRestoreFilesFromTrashBinRequest;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_BulkRestoreFilesFromTrashBinResponse = BulkRestoreFilesFromTrashBinResponse;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_ListDeletedFilesRequest = ListDeletedFilesRequest;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_ListDeletedFilesResponse = ListDeletedFilesResponse;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_UpdateFileRequest = UpdateFileRequest;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_UpdateFileResponse = UpdateFileResponse;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_DomainEvent = DomainEvent;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_RestoreInfo = RestoreInfo;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_ActionEvent = ActionEvent;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_MessageEnvelope = MessageEnvelope;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_IdentificationData = IdentificationData;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_WebhookIdentityType = WebhookIdentityType;\n    const mediaSiteMediaV1FileDescriptorFiles_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n    const mediaSiteMediaV1FileDescriptorFiles_universal_d_generateFilesDownloadUrl: typeof generateFilesDownloadUrl;\n    const mediaSiteMediaV1FileDescriptorFiles_universal_d_generateFileDownloadUrl: typeof generateFileDownloadUrl;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateFileDownloadUrlOptions = GenerateFileDownloadUrlOptions;\n    const mediaSiteMediaV1FileDescriptorFiles_universal_d_getFileDescriptor: typeof getFileDescriptor;\n    const mediaSiteMediaV1FileDescriptorFiles_universal_d_getFileDescriptors: typeof getFileDescriptors;\n    const mediaSiteMediaV1FileDescriptorFiles_universal_d_updateFileDescriptor: typeof updateFileDescriptor;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_UpdateFileDescriptorOptions = UpdateFileDescriptorOptions;\n    const mediaSiteMediaV1FileDescriptorFiles_universal_d_generateFileUploadUrl: typeof generateFileUploadUrl;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateFileUploadUrlOptions = GenerateFileUploadUrlOptions;\n    const mediaSiteMediaV1FileDescriptorFiles_universal_d_generateFileResumableUploadUrl: typeof generateFileResumableUploadUrl;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateFileResumableUploadUrlOptions = GenerateFileResumableUploadUrlOptions;\n    const mediaSiteMediaV1FileDescriptorFiles_universal_d_importFile: typeof importFile;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_ImportFileOptions = ImportFileOptions;\n    const mediaSiteMediaV1FileDescriptorFiles_universal_d_bulkImportFiles: typeof bulkImportFiles;\n    const mediaSiteMediaV1FileDescriptorFiles_universal_d_bulkImportFile: typeof bulkImportFile;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_BulkImportFileOptions = BulkImportFileOptions;\n    const mediaSiteMediaV1FileDescriptorFiles_universal_d_listFiles: typeof listFiles;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_ListFilesOptions = ListFilesOptions;\n    const mediaSiteMediaV1FileDescriptorFiles_universal_d_searchFiles: typeof searchFiles;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_SearchFilesOptions = SearchFilesOptions;\n    const mediaSiteMediaV1FileDescriptorFiles_universal_d_generateVideoStreamingUrl: typeof generateVideoStreamingUrl;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateVideoStreamingUrlOptions = GenerateVideoStreamingUrlOptions;\n    const mediaSiteMediaV1FileDescriptorFiles_universal_d_bulkDeleteFiles: typeof bulkDeleteFiles;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_BulkDeleteFilesOptions = BulkDeleteFilesOptions;\n    const mediaSiteMediaV1FileDescriptorFiles_universal_d_bulkRestoreFilesFromTrashBin: typeof bulkRestoreFilesFromTrashBin;\n    const mediaSiteMediaV1FileDescriptorFiles_universal_d_listDeletedFiles: typeof listDeletedFiles;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_ListDeletedFilesOptions = ListDeletedFilesOptions;\n    type mediaSiteMediaV1FileDescriptorFiles_universal_d_UpdateFileOptions = UpdateFileOptions;\n    namespace mediaSiteMediaV1FileDescriptorFiles_universal_d {\n        export { mediaSiteMediaV1FileDescriptorFiles_universal_d_FileDescriptor as FileDescriptor, mediaSiteMediaV1FileDescriptorFiles_universal_d_MediaType as MediaType, mediaSiteMediaV1FileDescriptorFiles_universal_d_FileMedia as FileMedia, mediaSiteMediaV1FileDescriptorFiles_universal_d_FileMediaMediaOneOf as FileMediaMediaOneOf, mediaSiteMediaV1FileDescriptorFiles_universal_d_ImageMedia as ImageMedia, mediaSiteMediaV1FileDescriptorFiles_universal_d_Colors as Colors, mediaSiteMediaV1FileDescriptorFiles_universal_d_Color as Color, mediaSiteMediaV1FileDescriptorFiles_universal_d_ColorRGB as ColorRGB, mediaSiteMediaV1FileDescriptorFiles_universal_d_FaceRecognition as FaceRecognition, mediaSiteMediaV1FileDescriptorFiles_universal_d_VideoResolution as VideoResolution, mediaSiteMediaV1FileDescriptorFiles_universal_d_AudioV2 as AudioV2, mediaSiteMediaV1FileDescriptorFiles_universal_d_Archive as Archive, mediaSiteMediaV1FileDescriptorFiles_universal_d_Model3D as Model3D, mediaSiteMediaV1FileDescriptorFiles_universal_d_OtherMedia as OtherMedia, mediaSiteMediaV1FileDescriptorFiles_universal_d_OperationStatus as OperationStatus, mediaSiteMediaV1FileDescriptorFiles_universal_d_State as State, mediaSiteMediaV1FileDescriptorFiles_universal_d_Namespace as Namespace, mediaSiteMediaV1FileDescriptorFiles_universal_d_IdentityInfo as IdentityInfo, mediaSiteMediaV1FileDescriptorFiles_universal_d_IdentityType as IdentityType, mediaSiteMediaV1FileDescriptorFiles_universal_d_FileReady as FileReady, mediaSiteMediaV1FileDescriptorFiles_universal_d_ExternalInfo as ExternalInfo, mediaSiteMediaV1FileDescriptorFiles_universal_d_FileFailed as FileFailed, mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateFilesDownloadUrlRequest as GenerateFilesDownloadUrlRequest, mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateFilesDownloadUrlResponse as GenerateFilesDownloadUrlResponse, mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateFileDownloadUrlRequest as GenerateFileDownloadUrlRequest, mediaSiteMediaV1FileDescriptorFiles_universal_d_ContentDisposition as ContentDisposition, mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateFileDownloadUrlResponse as GenerateFileDownloadUrlResponse, mediaSiteMediaV1FileDescriptorFiles_universal_d_DownloadUrl as DownloadUrl, mediaSiteMediaV1FileDescriptorFiles_universal_d_GetFileDescriptorRequest as GetFileDescriptorRequest, mediaSiteMediaV1FileDescriptorFiles_universal_d_GetFileDescriptorResponse as GetFileDescriptorResponse, mediaSiteMediaV1FileDescriptorFiles_universal_d_GetFileDescriptorsRequest as GetFileDescriptorsRequest, mediaSiteMediaV1FileDescriptorFiles_universal_d_GetFileDescriptorsResponse as GetFileDescriptorsResponse, mediaSiteMediaV1FileDescriptorFiles_universal_d_UpdateFileDescriptorRequest as UpdateFileDescriptorRequest, mediaSiteMediaV1FileDescriptorFiles_universal_d_UpdateFileDescriptorResponse as UpdateFileDescriptorResponse, mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateFileUploadUrlRequest as GenerateFileUploadUrlRequest, mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateFileUploadUrlResponse as GenerateFileUploadUrlResponse, mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateFileResumableUploadUrlRequest as GenerateFileResumableUploadUrlRequest, mediaSiteMediaV1FileDescriptorFiles_universal_d_UploadProtocol as UploadProtocol, mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateFileResumableUploadUrlResponse as GenerateFileResumableUploadUrlResponse, mediaSiteMediaV1FileDescriptorFiles_universal_d_ImportFileRequest as ImportFileRequest, mediaSiteMediaV1FileDescriptorFiles_universal_d_ImportFileResponse as ImportFileResponse, mediaSiteMediaV1FileDescriptorFiles_universal_d_BulkImportFilesRequest as BulkImportFilesRequest, mediaSiteMediaV1FileDescriptorFiles_universal_d_BulkImportFilesResponse as BulkImportFilesResponse, mediaSiteMediaV1FileDescriptorFiles_universal_d_BulkImportFileRequest as BulkImportFileRequest, mediaSiteMediaV1FileDescriptorFiles_universal_d_BulkImportFileResponse as BulkImportFileResponse, mediaSiteMediaV1FileDescriptorFiles_universal_d_BulkImportFileResult as BulkImportFileResult, mediaSiteMediaV1FileDescriptorFiles_universal_d_ItemMetadata as ItemMetadata, mediaSiteMediaV1FileDescriptorFiles_universal_d_ApplicationError as ApplicationError, mediaSiteMediaV1FileDescriptorFiles_universal_d_BulkActionMetadata as BulkActionMetadata, mediaSiteMediaV1FileDescriptorFiles_universal_d_ListFilesRequest as ListFilesRequest, mediaSiteMediaV1FileDescriptorFiles_universal_d_Sorting as Sorting, mediaSiteMediaV1FileDescriptorFiles_universal_d_SortOrder as SortOrder, mediaSiteMediaV1FileDescriptorFiles_universal_d_CursorPaging as CursorPaging, mediaSiteMediaV1FileDescriptorFiles_universal_d_ListFilesResponse as ListFilesResponse, mediaSiteMediaV1FileDescriptorFiles_universal_d_PagingMetadataV2 as PagingMetadataV2, mediaSiteMediaV1FileDescriptorFiles_universal_d_Cursors as Cursors, mediaSiteMediaV1FileDescriptorFiles_universal_d_SearchFilesRequest as SearchFilesRequest, mediaSiteMediaV1FileDescriptorFiles_universal_d_RootFolder as RootFolder, mediaSiteMediaV1FileDescriptorFiles_universal_d_SearchFilesResponse as SearchFilesResponse, mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateVideoStreamingUrlRequest as GenerateVideoStreamingUrlRequest, mediaSiteMediaV1FileDescriptorFiles_universal_d_StreamFormat as StreamFormat, mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateVideoStreamingUrlResponse as GenerateVideoStreamingUrlResponse, mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateWebSocketTokenRequest as GenerateWebSocketTokenRequest, mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateWebSocketTokenResponse as GenerateWebSocketTokenResponse, mediaSiteMediaV1FileDescriptorFiles_universal_d_BulkDeleteFilesRequest as BulkDeleteFilesRequest, mediaSiteMediaV1FileDescriptorFiles_universal_d_BulkDeleteFilesResponse as BulkDeleteFilesResponse, mediaSiteMediaV1FileDescriptorFiles_universal_d_BulkRestoreFilesFromTrashBinRequest as BulkRestoreFilesFromTrashBinRequest, mediaSiteMediaV1FileDescriptorFiles_universal_d_BulkRestoreFilesFromTrashBinResponse as BulkRestoreFilesFromTrashBinResponse, mediaSiteMediaV1FileDescriptorFiles_universal_d_ListDeletedFilesRequest as ListDeletedFilesRequest, mediaSiteMediaV1FileDescriptorFiles_universal_d_ListDeletedFilesResponse as ListDeletedFilesResponse, mediaSiteMediaV1FileDescriptorFiles_universal_d_UpdateFileRequest as UpdateFileRequest, mediaSiteMediaV1FileDescriptorFiles_universal_d_UpdateFileResponse as UpdateFileResponse, mediaSiteMediaV1FileDescriptorFiles_universal_d_DomainEvent as DomainEvent, mediaSiteMediaV1FileDescriptorFiles_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf, mediaSiteMediaV1FileDescriptorFiles_universal_d_EntityCreatedEvent as EntityCreatedEvent, mediaSiteMediaV1FileDescriptorFiles_universal_d_RestoreInfo as RestoreInfo, mediaSiteMediaV1FileDescriptorFiles_universal_d_EntityUpdatedEvent as EntityUpdatedEvent, mediaSiteMediaV1FileDescriptorFiles_universal_d_EntityDeletedEvent as EntityDeletedEvent, mediaSiteMediaV1FileDescriptorFiles_universal_d_ActionEvent as ActionEvent, mediaSiteMediaV1FileDescriptorFiles_universal_d_MessageEnvelope as MessageEnvelope, mediaSiteMediaV1FileDescriptorFiles_universal_d_IdentificationData as IdentificationData, mediaSiteMediaV1FileDescriptorFiles_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf, mediaSiteMediaV1FileDescriptorFiles_universal_d_WebhookIdentityType as WebhookIdentityType, mediaSiteMediaV1FileDescriptorFiles_universal_d_generateFilesDownloadUrl as generateFilesDownloadUrl, mediaSiteMediaV1FileDescriptorFiles_universal_d_generateFileDownloadUrl as generateFileDownloadUrl, mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateFileDownloadUrlOptions as GenerateFileDownloadUrlOptions, mediaSiteMediaV1FileDescriptorFiles_universal_d_getFileDescriptor as getFileDescriptor, mediaSiteMediaV1FileDescriptorFiles_universal_d_getFileDescriptors as getFileDescriptors, mediaSiteMediaV1FileDescriptorFiles_universal_d_updateFileDescriptor as updateFileDescriptor, mediaSiteMediaV1FileDescriptorFiles_universal_d_UpdateFileDescriptorOptions as UpdateFileDescriptorOptions, mediaSiteMediaV1FileDescriptorFiles_universal_d_generateFileUploadUrl as generateFileUploadUrl, mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateFileUploadUrlOptions as GenerateFileUploadUrlOptions, mediaSiteMediaV1FileDescriptorFiles_universal_d_generateFileResumableUploadUrl as generateFileResumableUploadUrl, mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateFileResumableUploadUrlOptions as GenerateFileResumableUploadUrlOptions, mediaSiteMediaV1FileDescriptorFiles_universal_d_importFile as importFile, mediaSiteMediaV1FileDescriptorFiles_universal_d_ImportFileOptions as ImportFileOptions, mediaSiteMediaV1FileDescriptorFiles_universal_d_bulkImportFiles as bulkImportFiles, mediaSiteMediaV1FileDescriptorFiles_universal_d_bulkImportFile as bulkImportFile, mediaSiteMediaV1FileDescriptorFiles_universal_d_BulkImportFileOptions as BulkImportFileOptions, mediaSiteMediaV1FileDescriptorFiles_universal_d_listFiles as listFiles, mediaSiteMediaV1FileDescriptorFiles_universal_d_ListFilesOptions as ListFilesOptions, mediaSiteMediaV1FileDescriptorFiles_universal_d_searchFiles as searchFiles, mediaSiteMediaV1FileDescriptorFiles_universal_d_SearchFilesOptions as SearchFilesOptions, mediaSiteMediaV1FileDescriptorFiles_universal_d_generateVideoStreamingUrl as generateVideoStreamingUrl, mediaSiteMediaV1FileDescriptorFiles_universal_d_GenerateVideoStreamingUrlOptions as GenerateVideoStreamingUrlOptions, mediaSiteMediaV1FileDescriptorFiles_universal_d_bulkDeleteFiles as bulkDeleteFiles, mediaSiteMediaV1FileDescriptorFiles_universal_d_BulkDeleteFilesOptions as BulkDeleteFilesOptions, mediaSiteMediaV1FileDescriptorFiles_universal_d_bulkRestoreFilesFromTrashBin as bulkRestoreFilesFromTrashBin, mediaSiteMediaV1FileDescriptorFiles_universal_d_listDeletedFiles as listDeletedFiles, mediaSiteMediaV1FileDescriptorFiles_universal_d_ListDeletedFilesOptions as ListDeletedFilesOptions, mediaSiteMediaV1FileDescriptorFiles_universal_d_UpdateFileOptions as UpdateFileOptions, };\n    }\n    export { mediaSiteMediaV1FileDescriptorFiles_universal_d as files, mediaSiteMediaV1FolderFolders_universal_d as folders };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/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        /** 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    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        /** 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     * 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    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_queryOAuthApps: typeof queryOAuthApps;\n    type headlessV1OAuthApp_universal_d_OAuthAppsQueryResult = OAuthAppsQueryResult;\n    type headlessV1OAuthApp_universal_d_OAuthAppsQueryBuilder = OAuthAppsQueryBuilder;\n    namespace headlessV1OAuthApp_universal_d {\n        export { headlessV1OAuthApp_universal_d___debug as __debug, headlessV1OAuthApp_universal_d_OAuthApp as OAuthApp, headlessV1OAuthApp_universal_d_CreateOAuthAppRequest as CreateOAuthAppRequest, headlessV1OAuthApp_universal_d_CreateOAuthAppResponse as CreateOAuthAppResponse, headlessV1OAuthApp_universal_d_GetOAuthAppRequest as GetOAuthAppRequest, headlessV1OAuthApp_universal_d_GetOAuthAppResponse as GetOAuthAppResponse, headlessV1OAuthApp_universal_d_UpdateOAuthAppRequest as UpdateOAuthAppRequest, headlessV1OAuthApp_universal_d_UpdateOAuthAppResponse as UpdateOAuthAppResponse, headlessV1OAuthApp_universal_d_DeleteOAuthAppRequest as DeleteOAuthAppRequest, headlessV1OAuthApp_universal_d_DeleteOAuthAppResponse as DeleteOAuthAppResponse, headlessV1OAuthApp_universal_d_QueryOAuthAppsRequest as QueryOAuthAppsRequest, headlessV1OAuthApp_universal_d_PlatformQuery as PlatformQuery, headlessV1OAuthApp_universal_d_PlatformQueryPagingMethodOneOf as PlatformQueryPagingMethodOneOf, headlessV1OAuthApp_universal_d_Sorting as Sorting, headlessV1OAuthApp_universal_d_SortOrder as SortOrder, headlessV1OAuthApp_universal_d_Paging as Paging, headlessV1OAuthApp_universal_d_CursorPaging as CursorPaging, headlessV1OAuthApp_universal_d_QueryOAuthAppsResponse as QueryOAuthAppsResponse, headlessV1OAuthApp_universal_d_PagingMetadataV2 as PagingMetadataV2, headlessV1OAuthApp_universal_d_Cursors as Cursors, headlessV1OAuthApp_universal_d_createOAuthApp as createOAuthApp, headlessV1OAuthApp_universal_d_getOAuthApp as getOAuthApp, headlessV1OAuthApp_universal_d_updateOAuthApp as updateOAuthApp, headlessV1OAuthApp_universal_d_UpdateOAuthApp as UpdateOAuthApp, headlessV1OAuthApp_universal_d_queryOAuthApps as queryOAuthApps, headlessV1OAuthApp_universal_d_OAuthAppsQueryResult as OAuthAppsQueryResult, headlessV1OAuthApp_universal_d_OAuthAppsQueryBuilder as OAuthAppsQueryBuilder, };\n    }\n    export { headlessV1OAuthApp_universal_d as oAuthApps };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/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.\n     * Learn more about pricing models ([REST](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/introduction#wix-pricing-plans_pricing-plans_introduction_pricing-models)|[SDK](https://dev.wix.com/docs/sdk/backend-modules/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, from the Plans API.\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. Learn more in\n         * 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         * Order pricing model, price, and payment schedule.\n         *\n         * Learn more about pricing models ([REST](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/introduction#wix-pricing-plans_pricing-plans_introduction_pricing-models) | [SDK](https://dev.wix.com/docs/sdk/backend-modules/pricing-plans/introduction#pricing-models)).\n         * @readonly\n         */\n        pricing?: PricingDetails;\n        /**\n         * How the order was processed.\n         * @readonly\n         */\n        type?: OrderType;\n        /**\n         * Status of the 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 Wix user for offline orders.\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.\n         * If the order is paused, it will have a later `endDate` once it is resumed.\n         * `endDate` may also be postponed.\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         * 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    interface Buyer {\n        /**\n         * Member ID for a Wix site member, from the Members API.\n         * @readonly\n         */\n        memberId?: string;\n        /**\n         * Contact ID for a Wix site contact, from the Contacts API.\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, from the Coupons API. */\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        /** 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. The order, and use of the plan, can be resumed. */\n        PAUSED = \"PAUSED\",\n        /** Order has completed its duration and is no longer available for use. */\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 | 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        /** Wix user 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        /** Status of the pause period. */\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. */\n        ACTIVE = \"ACTIVE\",\n        /** Status when the order is resumed. */\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 order form ([REST](https://dev.wix.com/docs/rest/api-reference/wix-forms/form-submissions/introduction)|[SDK](https://dev.wix.com/docs/sdk/backend-modules/forms/submissions/introduction)) 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         * @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        /** 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    interface EntityDeletedEvent$1 {\n        /** Entity that was deleted */\n        deletedEntityAsJson?: 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. */\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    enum SortOrder$1 {\n        ASC = \"ASC\",\n        DESC = \"DESC\"\n    }\n    interface MemberListOrdersResponse {\n        /** Requested 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    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.\n     */\n    interface QueryOrdersRequest {\n        /** Query filter. */\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        /** 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 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 and time for the plan of the online order in a `YYYY-MM-DDThh:mm[:ss][.sss]Z` format.\n         *\n         * Default: Current date and time.\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        /** Submission ID of the form submitted with this order. */\n        submissionId?: string | null;\n    }\n    interface OnBehalf {\n        /** Member ID. */\n        memberId?: string;\n        /** Method by which checkout is initiated. */\n        orderMethod?: OrderMethod;\n    }\n    interface CreateOnlineOrderResponse {\n        /** Created online 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, from the Plans API. */\n        planId: string;\n        /** ID of the member ordering the plan, from the Members API. */\n        memberId: string;\n        /**\n         * Start date and time for the ordered plan in a `YYYY-MM-DDThh:mm[:ss][.sss]Z` format.\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, from the Coupons API. */\n        couponCode?: string | null;\n        /** Form submission ID that was submitted 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 and time for the plan of the order preview in a `YYYY-MM-DDThh:mm[:ss][.sss]Z` format.\n         *\n         * Default: Current date and time.\n         */\n        startDate?: Date | null;\n        /** Coupon code to apply. */\n        couponCode?: string | null;\n    }\n    interface GetOnlineOrderPreviewResponse {\n        /** Order preview. This field is undefined if the member has already reached the purchase limit for the order's plan. */\n        order?: Order;\n        /** Whether the member has already reached purchase limit for the order's plan. */\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, from the Plans API. */\n        planId: string;\n        /** Member ID of the buyer the previewed order is for, from the Members API. */\n        memberId: string;\n        /**\n         * Start date and time for plan of the previewed order in a `YYYY-MM-DDThh:mm[:ss][.sss]Z` format.\n         *\n         * Default: Current date and time.\n         */\n        startDate?: Date | null;\n        /** Coupon code to apply, from the Coupons API. */\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        /** Coupon code to apply, from the Coupons API. */\n        couponCode?: string | null;\n    }\n    interface GetPricePreviewResponse {\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, from the Members API. */\n        buyerIds?: string[];\n        /** Filter by plan IDs, from the Plans API. */\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 Sorting and 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    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        /** Query filter. */\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        /** __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        /** 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     * Retrieves an order for the currently logged-in member by ID.\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     * @applicableIdentity MEMBER\n     * @returns Requested order.\n     * @fqn com.wixpress.membership.v2.orders.member.MemberOrdersService.GetOrder\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     * Retrieves a list of up to 100 pricing plan orders for currently logged-in member.\n     * @public\n     * @param options - Filtering, sorting, and pagination options.\n     * @permissionId PRICING_PLANS.READ_OWN_ORDERS\n     * @applicableIdentity MEMBER\n     * @fqn com.wixpress.membership.v2.orders.member.MemberOrdersService.ListOrders\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. */\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 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         * @documentationMaturity preview\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         * @documentationMaturity preview\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         * @documentationMaturity preview\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         * @documentationMaturity preview\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         * @documentationMaturity preview\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         * @documentationMaturity preview\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         * @documentationMaturity preview\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         * @documentationMaturity preview\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        /** @documentationMaturity preview */\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        /** @documentationMaturity preview */\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         * @documentationMaturity preview\n         */\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         * @documentationMaturity preview\n         */\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         * @documentationMaturity preview\n         */\n        limit: (limit: number) => PlansQueryBuilder$1;\n        /** @param cursor - A pointer to specific record\n         * @documentationMaturity preview\n         */\n        skipTo: (cursor: string) => PlansQueryBuilder$1;\n        /** @documentationMaturity preview */\n        find: () => Promise<PlansQueryResult$1>;\n    }\n    /**\n     * Cancels an order. Recurring orders can be canceled either immediately or at the next payment date. One time orders can only be canceled immediately.\n     *\n     * 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: 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     * >**Note:**\n     * >This method requires [visitor or member authentication](https://dev.wix.com/docs/rest/articles/getting-started/access-types-and-permissions).\n     * @param _id - Order ID.\n     * @param effectiveAt - Required. Whether to cancel the order effective immediately or at the next payment date. One-time orders can only be canceled immediately.\n     * @public\n     * @requiredField _id\n     * @requiredField effectiveAt\n     * @param options - Options for requesting a cancellation.\n     * @permissionId PRICING_PLANS.MANAGE_OWN_ORDERS\n     * @applicableIdentity MEMBER\n     * @fqn com.wixpress.membership.v2.orders.member.MemberOrdersService.RequestCancellation\n     */\n    function requestCancellation(_id: string, effectiveAt: CancellationEffectiveAt): Promise<void>;\n    /**\n     * Creates an online order for a site member.\n     *\n     * If this method is called by a site member ([SDK](https://dev.wix.com/docs/sdk/articles/get-started/about-identities#site-member) | [REST](https://dev.wix.com/docs/rest/articles/getting-started/about-identities#site-member)), the plan is automatically ordered on behalf of that site member. Otherwise, you must specify `onBehalf.memberId` in your call.\n     *\n     * When an online order is created, but payment hasn't been processed, its status is set to `DRAFT`. After the payment has been processed, if the start date is in the future the order's status is set to `PENDING`. Otherwise, it's set to `ACTIVE`.\n     * @param planId - Plan ID.\n     * @public\n     * @requiredField options.onBehalf.memberId\n     * @requiredField planId\n     * @adminMethod\n     * @fqn com.wixpress.membership.v2.orders.CheckoutService.CreateOnlineOrder\n     */\n    function createOnlineOrder(planId: string, options?: CreateOnlineOrderOptions): Promise<CreateOnlineOrderResponse>;\n    interface CreateOnlineOrderOptions {\n        /**\n         * Start date and time for the plan of the online order in a `YYYY-MM-DDThh:mm[:ss][.sss]Z` format.\n         *\n         * Default: Current date and time.\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        /** Submission ID of the form submitted with this order. */\n        submissionId?: string | null;\n    }\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     * An offline order is handled off of the Wix site and is marked as `type`: `offline`. 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     * 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     *\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\"` based on the data passed in the `paid` boolean in the request.\n     *\n     * Payment for an offline order can be set in 1 of 2 ways:\n     * + During order creation, set `paid`: `true`.\n     * + After creation, call Mark As Paid.\n     * @param planId - ID of the plan being ordered, from the Plans API.\n     * @param memberId - ID of the member ordering the plan, from the Members API.\n     * @public\n     * @requiredField memberId\n     * @requiredField planId\n     * @param options - Options for creating an offline order.\n     * @permissionId PRICING_PLANS.REGISTER_OFFLINE_ORDERS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.membership.v2.orders.CheckoutService.CreateOfflineOrder\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 in a `YYYY-MM-DDThh:mm[:ss][.sss]Z` format.\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, from the Coupons API. */\n        couponCode?: string | null;\n        /** Form submission ID that was submitted with the order. */\n        submissionId?: string | null;\n    }\n    interface CreateExternalOrderOptions {\n        /** Form submission id that was submitted together with the order */\n        submissionId?: string | null;\n    }\n    /**\n     * Returns an `order` object that represents a potential online order for a site member.\n     *\n     * You can use this method to show a site member a preview of an online order before [creating](https://dev.wix.com/docs/rest/business-solutions/pricing-plans/pricing-plans/orders/create-online-order) it.\n     *\n     * This method must be called using the site member identity ([SDK](https://dev.wix.com/docs/sdk/articles/get-started/about-identities#site-member) | [REST](https://dev.wix.com/docs/rest/articles/getting-started/about-identities#site-member)). Therefore, [Wix apps](https://dev.wix.com/docs/build-apps) can't currently call this method using REST.\n     * @param planId - Plan ID.\n     * @public\n     * @requiredField planId\n     * @permissionId PRICING_PLANS.PURCHASE_PLANS\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @fqn com.wixpress.membership.v2.orders.CheckoutService.GetOnlineOrderPreview\n     */\n    function getOnlineOrderPreview(planId: string, options?: GetOnlineOrderPreviewOptions): Promise<GetOnlineOrderPreviewResponse>;\n    interface GetOnlineOrderPreviewOptions {\n        /**\n         * Start date and time for the plan of the order preview in a `YYYY-MM-DDThh:mm[:ss][.sss]Z` format.\n         *\n         * Default: Current date and time.\n         */\n        startDate?: Date | null;\n        /** Coupon code to apply. */\n        couponCode?: string | null;\n    }\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     * 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, call Get Price Preview.\n     * @param memberId - Member ID of the buyer the previewed order is for, from the Members API.\n     * @public\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     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.membership.v2.orders.CheckoutService.GetOfflineOrderPreview\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 in a `YYYY-MM-DDThh:mm[:ss][.sss]Z` format.\n         *\n         * Default: Current date and time.\n         */\n        startDate?: Date | null;\n        /** Coupon code to apply, from the Coupons API. */\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 format used for orders. Learn more about pricing models ([REST](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/introduction#wix-pricing-plans_pricing-plans_introduction_pricing-models)|[SDK](https://dev.wix.com/docs/sdk/backend-modules/pricing-plans/introduction#pricing-models)).\n     *\n     * Buyers do not have to be logged in to preview the price, and as such, the details returned are not buyer-specific. To\n     * generate a preview of a purchase for a specific buyer, call Get Offline Order Preview.\n     * @param planId - ID of plan to preview.\n     * @public\n     * @requiredField planId\n     * @param options - Options for getting a price preview.\n     * @permissionId PRICING_PLANS.READ_PUBLIC_PLANS\n     * @permissionScope Read Pricing Plans\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-PLANS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-ORDERS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Pricing Plans\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-PLANS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @fqn com.wixpress.membership.v2.orders.CheckoutService.GetPricePreview\n     */\n    function getPricePreview(planId: string, options?: GetPricePreviewOptions): Promise<GetPricePreviewResponse>;\n    interface GetPricePreviewOptions {\n        /** Coupon code to apply, from the Coupons API. */\n        couponCode?: string | null;\n    }\n    /**\n     * Retrieves an order by ID.\n     * @param _id - Order ID.\n     * @public\n     * @requiredField _id\n     * @param options - Options to use when getting an order.\n     * @permissionId PRICING_PLANS.READ_ORDERS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-ORDERS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.membership.v2.orders.OrderManagementService.GetOrder\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     * Retrieves a list of up to 50 pricing plan orders and details, given the specified 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     * @param options - Filtering, sorting, and pagination options.\n     * @permissionId PRICING_PLANS.READ_ORDERS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-ORDERS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.membership.v2.orders.OrderManagementService.ListOrders\n     */\n    function managementListOrders(options?: ManagementListOrdersOptions): Promise<ListOrdersResponse>;\n    interface ManagementListOrdersOptions {\n        /** Filter by a buyer's member ID, from the Members API. */\n        buyerIds?: string[];\n        /** Filter by plan IDs, from the Plans API. */\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 Sorting and 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    interface ManagementQueryOrdersOptions {\n        /** Query filter. */\n        query?: QueryV2$1;\n    }\n    /**\n     * Extends the duration of a pricing plan order by postponing the order's `endDate`. Postponing the end date of an order does not impact payments.\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 with `status`: `PAUSED`.\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     * @requiredField _id\n     * @requiredField endDate\n     * @param options - Options for postponing the end date of an order.\n     * @permissionId PRICING_PLANS.MANAGE_ORDERS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.membership.v2.orders.OrderManagementService.PostponeEndDate\n     */\n    function postponeEndDate(_id: string, endDate: Date | null): Promise<void>;\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 Wix user cancels an ordered plan during the free trial period, they choose whether 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     * @param effectiveAt - __Required.__ When the order will be canceled. One-time orders can only be canceled `IMMEDIATELY`.\n     * @public\n     * @requiredField _id\n     * @requiredField effectiveAt\n     * @param options - Options for canceling orders.\n     * @permissionId PRICING_PLANS.MANAGE_ORDERS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.membership.v2.orders.OrderManagementService.CancelOrder\n     */\n    function cancelOrder(_id: string, effectiveAt: CancellationEffectiveAt): Promise<void>;\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. 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 mark an offline order as paid twice.\n     * - Mark an online order as paid. The Mark as Paid method is supported for offline orders only.\n     * @param _id - Order ID.\n     * @public\n     * @requiredField _id\n     * @permissionId PRICING_PLANS.MANAGE_ORDERS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.membership.v2.orders.OrderManagementService.MarkAsPaid\n     */\n    function markAsPaid(_id: string): Promise<void>;\n    /**\n     * Pauses an order. Calling this method changes the order status to `\"PAUSED\"` and updates the `pausePeriods` array.\n     *\n     * Only orders with `status`: `ACTIVE` can be paused.\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`.\n     * The `endDate` and the `earliestEndDate` for the order are adjusted to include the pause period when the order is resumed.\n     *\n     * To resume a paused order, call Resume Order.\n     * @param _id - Order ID.\n     * @public\n     * @requiredField _id\n     * @permissionId PRICING_PLANS.MANAGE_ORDERS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.membership.v2.orders.OrderManagementService.PauseOrder\n     */\n    function pauseOrder(_id: string): Promise<void>;\n    interface BulkPauseOrderOptions {\n        /** Set to true to return Order entity in response. */\n        returnFullEntity?: boolean;\n    }\n    /**\n     * Resumes a paused order. For orders with recurring payments, it 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     * - For orders with recurring payments, the payment schedule is restarted.\n     * - The `earliestEndDate` is adjusted to include the pause period. (This property is reserved for future use).\n     *\n     * To pause an order, call Pause Order.\n     * @param _id - Order ID.\n     * @public\n     * @requiredField _id\n     * @permissionId PRICING_PLANS.MANAGE_ORDERS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.membership.v2.orders.OrderManagementService.ResumeOrder\n     */\n    function resumeOrder(_id: string): Promise<void>;\n    interface BulkResumeOrderOptions {\n        /** Set to true to return Order entity in response. */\n        returnFullEntity?: boolean;\n    }\n    type pricingPlansV2OrderOrders_universal_d_Order = Order;\n    type pricingPlansV2OrderOrders_universal_d_Buyer = Buyer;\n    type pricingPlansV2OrderOrders_universal_d_PriceDetails = PriceDetails;\n    type pricingPlansV2OrderOrders_universal_d_PriceDetailsPricingModelOneOf = PriceDetailsPricingModelOneOf;\n    type pricingPlansV2OrderOrders_universal_d_Tax = Tax;\n    type pricingPlansV2OrderOrders_universal_d_Coupon = Coupon;\n    type pricingPlansV2OrderOrders_universal_d_PricingDetails = PricingDetails;\n    type pricingPlansV2OrderOrders_universal_d_PricingDetailsPricingModelOneOf = PricingDetailsPricingModelOneOf;\n    type pricingPlansV2OrderOrders_universal_d_SpannedPrice = SpannedPrice;\n    type pricingPlansV2OrderOrders_universal_d_PriceDuration = PriceDuration;\n    type pricingPlansV2OrderOrders_universal_d_Price = Price;\n    type pricingPlansV2OrderOrders_universal_d_OrderType = OrderType;\n    const pricingPlansV2OrderOrders_universal_d_OrderType: typeof OrderType;\n    type pricingPlansV2OrderOrders_universal_d_OrderMethod = OrderMethod;\n    const pricingPlansV2OrderOrders_universal_d_OrderMethod: typeof OrderMethod;\n    type pricingPlansV2OrderOrders_universal_d_OrderStatus = OrderStatus;\n    const pricingPlansV2OrderOrders_universal_d_OrderStatus: typeof OrderStatus;\n    type pricingPlansV2OrderOrders_universal_d_Cancellation = Cancellation;\n    type pricingPlansV2OrderOrders_universal_d_CancellationCause = CancellationCause;\n    const pricingPlansV2OrderOrders_universal_d_CancellationCause: typeof CancellationCause;\n    type pricingPlansV2OrderOrders_universal_d_CancellationEffectiveAt = CancellationEffectiveAt;\n    const pricingPlansV2OrderOrders_universal_d_CancellationEffectiveAt: typeof CancellationEffectiveAt;\n    type pricingPlansV2OrderOrders_universal_d_PaymentStatus = PaymentStatus;\n    const pricingPlansV2OrderOrders_universal_d_PaymentStatus: typeof PaymentStatus;\n    type pricingPlansV2OrderOrders_universal_d_PausePeriod = PausePeriod;\n    type pricingPlansV2OrderOrders_universal_d_Status = Status;\n    const pricingPlansV2OrderOrders_universal_d_Status: typeof Status;\n    type pricingPlansV2OrderOrders_universal_d_CurrentCycle = CurrentCycle;\n    type pricingPlansV2OrderOrders_universal_d_OrderCycle = OrderCycle;\n    type pricingPlansV2OrderOrders_universal_d_FormData = FormData;\n    type pricingPlansV2OrderOrders_universal_d_Empty = Empty;\n    type pricingPlansV2OrderOrders_universal_d_MemberGetOrderRequest = MemberGetOrderRequest;\n    type pricingPlansV2OrderOrders_universal_d_Set = Set;\n    const pricingPlansV2OrderOrders_universal_d_Set: typeof Set;\n    type pricingPlansV2OrderOrders_universal_d_MemberGetOrderResponse = MemberGetOrderResponse;\n    type pricingPlansV2OrderOrders_universal_d_MemberListOrdersRequest = MemberListOrdersRequest;\n    type pricingPlansV2OrderOrders_universal_d_MemberListOrdersResponse = MemberListOrdersResponse;\n    type pricingPlansV2OrderOrders_universal_d_QueryOrdersRequest = QueryOrdersRequest;\n    type pricingPlansV2OrderOrders_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n    type pricingPlansV2OrderOrders_universal_d_CursorPaging = CursorPaging;\n    type pricingPlansV2OrderOrders_universal_d_QueryOrdersResponse = QueryOrdersResponse;\n    type pricingPlansV2OrderOrders_universal_d_RequestCancellationRequest = RequestCancellationRequest;\n    type pricingPlansV2OrderOrders_universal_d_RequestCancellationResponse = RequestCancellationResponse;\n    type pricingPlansV2OrderOrders_universal_d_OrderCanceled = OrderCanceled;\n    type pricingPlansV2OrderOrders_universal_d_CreateOnlineOrderRequest = CreateOnlineOrderRequest;\n    type pricingPlansV2OrderOrders_universal_d_OnBehalf = OnBehalf;\n    type pricingPlansV2OrderOrders_universal_d_CreateOnlineOrderResponse = CreateOnlineOrderResponse;\n    type pricingPlansV2OrderOrders_universal_d_CouponsError = CouponsError;\n    type pricingPlansV2OrderOrders_universal_d_CreateGuestOnlineOrderRequest = CreateGuestOnlineOrderRequest;\n    type pricingPlansV2OrderOrders_universal_d_Captcha = Captcha;\n    type pricingPlansV2OrderOrders_universal_d_Guest = Guest;\n    type pricingPlansV2OrderOrders_universal_d_CreateGuestOnlineOrderResponse = CreateGuestOnlineOrderResponse;\n    type pricingPlansV2OrderOrders_universal_d_CreateOfflineOrderRequest = CreateOfflineOrderRequest;\n    type pricingPlansV2OrderOrders_universal_d_CreateOfflineOrderResponse = CreateOfflineOrderResponse;\n    type pricingPlansV2OrderOrders_universal_d_CreateExternalOrderRequest = CreateExternalOrderRequest;\n    type pricingPlansV2OrderOrders_universal_d_CreateExternalOrderResponse = CreateExternalOrderResponse;\n    type pricingPlansV2OrderOrders_universal_d_GetOnlineOrderPreviewRequest = GetOnlineOrderPreviewRequest;\n    type pricingPlansV2OrderOrders_universal_d_GetOnlineOrderPreviewResponse = GetOnlineOrderPreviewResponse;\n    type pricingPlansV2OrderOrders_universal_d_GetGuestOnlineOrderPreviewRequest = GetGuestOnlineOrderPreviewRequest;\n    type pricingPlansV2OrderOrders_universal_d_GetGuestOnlineOrderPreviewResponse = GetGuestOnlineOrderPreviewResponse;\n    type pricingPlansV2OrderOrders_universal_d_GetOfflineOrderPreviewRequest = GetOfflineOrderPreviewRequest;\n    type pricingPlansV2OrderOrders_universal_d_GetOfflineOrderPreviewResponse = GetOfflineOrderPreviewResponse;\n    type pricingPlansV2OrderOrders_universal_d_GetPricePreviewRequest = GetPricePreviewRequest;\n    type pricingPlansV2OrderOrders_universal_d_GetPricePreviewResponse = GetPricePreviewResponse;\n    type pricingPlansV2OrderOrders_universal_d_ChangeStartDateRequest = ChangeStartDateRequest;\n    type pricingPlansV2OrderOrders_universal_d_ChangeStartDateResponse = ChangeStartDateResponse;\n    type pricingPlansV2OrderOrders_universal_d_OrderStartDateChanged = OrderStartDateChanged;\n    type pricingPlansV2OrderOrders_universal_d_ApplyCouponRequest = ApplyCouponRequest;\n    type pricingPlansV2OrderOrders_universal_d_ApplyCouponResponse = ApplyCouponResponse;\n    type pricingPlansV2OrderOrders_universal_d_SetSubmissionRequest = SetSubmissionRequest;\n    type pricingPlansV2OrderOrders_universal_d_SetSubmissionResponse = SetSubmissionResponse;\n    type pricingPlansV2OrderOrders_universal_d_OrderPurchased = OrderPurchased;\n    type pricingPlansV2OrderOrders_universal_d_OrderStarted = OrderStarted;\n    type pricingPlansV2OrderOrders_universal_d_OrderCycleStarted = OrderCycleStarted;\n    type pricingPlansV2OrderOrders_universal_d_OrderAutoRenewCanceled = OrderAutoRenewCanceled;\n    type pricingPlansV2OrderOrders_universal_d_OrderEnded = OrderEnded;\n    type pricingPlansV2OrderOrders_universal_d_GetOrderRequest = GetOrderRequest;\n    type pricingPlansV2OrderOrders_universal_d_GetOrderResponse = GetOrderResponse;\n    type pricingPlansV2OrderOrders_universal_d_ListOrdersRequest = ListOrdersRequest;\n    type pricingPlansV2OrderOrders_universal_d_ListOrdersResponse = ListOrdersResponse;\n    type pricingPlansV2OrderOrders_universal_d_OrdersQueryOrdersRequest = OrdersQueryOrdersRequest;\n    type pricingPlansV2OrderOrders_universal_d_OrdersQueryOrdersResponse = OrdersQueryOrdersResponse;\n    type pricingPlansV2OrderOrders_universal_d_GetOrdersStatsRequest = GetOrdersStatsRequest;\n    type pricingPlansV2OrderOrders_universal_d_GetOrdersStatsResponse = GetOrdersStatsResponse;\n    type pricingPlansV2OrderOrders_universal_d_GetAvailableOrderActionsRequest = GetAvailableOrderActionsRequest;\n    type pricingPlansV2OrderOrders_universal_d_GetAvailableOrderActionsResponse = GetAvailableOrderActionsResponse;\n    type pricingPlansV2OrderOrders_universal_d_ReasonNotSuspendable = ReasonNotSuspendable;\n    const pricingPlansV2OrderOrders_universal_d_ReasonNotSuspendable: typeof ReasonNotSuspendable;\n    type pricingPlansV2OrderOrders_universal_d_PostponeEndDateRequest = PostponeEndDateRequest;\n    type pricingPlansV2OrderOrders_universal_d_PostponeEndDateResponse = PostponeEndDateResponse;\n    type pricingPlansV2OrderOrders_universal_d_OrderEndDatePostponed = OrderEndDatePostponed;\n    type pricingPlansV2OrderOrders_universal_d_CancelOrderRequest = CancelOrderRequest;\n    type pricingPlansV2OrderOrders_universal_d_CancelOrderResponse = CancelOrderResponse;\n    type pricingPlansV2OrderOrders_universal_d_MarkAsPaidRequest = MarkAsPaidRequest;\n    type pricingPlansV2OrderOrders_universal_d_MarkAsPaidResponse = MarkAsPaidResponse;\n    type pricingPlansV2OrderOrders_universal_d_OrderMarkedAsPaid = OrderMarkedAsPaid;\n    type pricingPlansV2OrderOrders_universal_d_PauseOrderRequest = PauseOrderRequest;\n    type pricingPlansV2OrderOrders_universal_d_PauseOrderResponse = PauseOrderResponse;\n    type pricingPlansV2OrderOrders_universal_d_OrderPaused = OrderPaused;\n    type pricingPlansV2OrderOrders_universal_d_BulkPauseOrderRequest = BulkPauseOrderRequest;\n    type pricingPlansV2OrderOrders_universal_d_BulkPauseOrderResponse = BulkPauseOrderResponse;\n    type pricingPlansV2OrderOrders_universal_d_BulkOrderResult = BulkOrderResult;\n    type pricingPlansV2OrderOrders_universal_d_ResumeOrderRequest = ResumeOrderRequest;\n    type pricingPlansV2OrderOrders_universal_d_ResumeOrderResponse = ResumeOrderResponse;\n    type pricingPlansV2OrderOrders_universal_d_OrderResumed = OrderResumed;\n    type pricingPlansV2OrderOrders_universal_d_BulkResumeOrderRequest = BulkResumeOrderRequest;\n    type pricingPlansV2OrderOrders_universal_d_BulkResumeOrderResponse = BulkResumeOrderResponse;\n    const pricingPlansV2OrderOrders_universal_d_memberGetOrder: typeof memberGetOrder;\n    type pricingPlansV2OrderOrders_universal_d_MemberGetOrderOptions = MemberGetOrderOptions;\n    const pricingPlansV2OrderOrders_universal_d_memberListOrders: typeof memberListOrders;\n    type pricingPlansV2OrderOrders_universal_d_MemberListOrdersOptions = MemberListOrdersOptions;\n    const pricingPlansV2OrderOrders_universal_d_requestCancellation: typeof requestCancellation;\n    const pricingPlansV2OrderOrders_universal_d_createOnlineOrder: typeof createOnlineOrder;\n    type pricingPlansV2OrderOrders_universal_d_CreateOnlineOrderOptions = CreateOnlineOrderOptions;\n    type pricingPlansV2OrderOrders_universal_d_CreateGuestOnlineOrderOptions = CreateGuestOnlineOrderOptions;\n    const pricingPlansV2OrderOrders_universal_d_createOfflineOrder: typeof createOfflineOrder;\n    type pricingPlansV2OrderOrders_universal_d_CreateOfflineOrderOptions = CreateOfflineOrderOptions;\n    type pricingPlansV2OrderOrders_universal_d_CreateExternalOrderOptions = CreateExternalOrderOptions;\n    const pricingPlansV2OrderOrders_universal_d_getOnlineOrderPreview: typeof getOnlineOrderPreview;\n    type pricingPlansV2OrderOrders_universal_d_GetOnlineOrderPreviewOptions = GetOnlineOrderPreviewOptions;\n    type pricingPlansV2OrderOrders_universal_d_GetGuestOnlineOrderPreviewOptions = GetGuestOnlineOrderPreviewOptions;\n    const pricingPlansV2OrderOrders_universal_d_getOfflineOrderPreview: typeof getOfflineOrderPreview;\n    type pricingPlansV2OrderOrders_universal_d_GetOfflineOrderPreviewOptions = GetOfflineOrderPreviewOptions;\n    const pricingPlansV2OrderOrders_universal_d_getPricePreview: typeof getPricePreview;\n    type pricingPlansV2OrderOrders_universal_d_GetPricePreviewOptions = GetPricePreviewOptions;\n    const pricingPlansV2OrderOrders_universal_d_managementGetOrder: typeof managementGetOrder;\n    type pricingPlansV2OrderOrders_universal_d_ManagementGetOrderOptions = ManagementGetOrderOptions;\n    const pricingPlansV2OrderOrders_universal_d_managementListOrders: typeof managementListOrders;\n    type pricingPlansV2OrderOrders_universal_d_ManagementListOrdersOptions = ManagementListOrdersOptions;\n    type pricingPlansV2OrderOrders_universal_d_ManagementQueryOrdersOptions = ManagementQueryOrdersOptions;\n    const pricingPlansV2OrderOrders_universal_d_postponeEndDate: typeof postponeEndDate;\n    const pricingPlansV2OrderOrders_universal_d_cancelOrder: typeof cancelOrder;\n    const pricingPlansV2OrderOrders_universal_d_markAsPaid: typeof markAsPaid;\n    const pricingPlansV2OrderOrders_universal_d_pauseOrder: typeof pauseOrder;\n    type pricingPlansV2OrderOrders_universal_d_BulkPauseOrderOptions = BulkPauseOrderOptions;\n    const pricingPlansV2OrderOrders_universal_d_resumeOrder: typeof resumeOrder;\n    type pricingPlansV2OrderOrders_universal_d_BulkResumeOrderOptions = BulkResumeOrderOptions;\n    namespace pricingPlansV2OrderOrders_universal_d {\n        export { pricingPlansV2OrderOrders_universal_d_Order as Order, pricingPlansV2OrderOrders_universal_d_Buyer as Buyer, pricingPlansV2OrderOrders_universal_d_PriceDetails as PriceDetails, pricingPlansV2OrderOrders_universal_d_PriceDetailsPricingModelOneOf as PriceDetailsPricingModelOneOf, pricingPlansV2OrderOrders_universal_d_Tax as Tax, Recurrence$1 as Recurrence, Duration$1 as Duration, PeriodUnit$1 as PeriodUnit, pricingPlansV2OrderOrders_universal_d_Coupon as Coupon, pricingPlansV2OrderOrders_universal_d_PricingDetails as PricingDetails, pricingPlansV2OrderOrders_universal_d_PricingDetailsPricingModelOneOf as PricingDetailsPricingModelOneOf, pricingPlansV2OrderOrders_universal_d_SpannedPrice as SpannedPrice, pricingPlansV2OrderOrders_universal_d_PriceDuration as PriceDuration, pricingPlansV2OrderOrders_universal_d_Price as Price, Fee$1 as Fee, pricingPlansV2OrderOrders_universal_d_OrderType as OrderType, pricingPlansV2OrderOrders_universal_d_OrderMethod as OrderMethod, pricingPlansV2OrderOrders_universal_d_OrderStatus as OrderStatus, pricingPlansV2OrderOrders_universal_d_Cancellation as Cancellation, pricingPlansV2OrderOrders_universal_d_CancellationCause as CancellationCause, pricingPlansV2OrderOrders_universal_d_CancellationEffectiveAt as CancellationEffectiveAt, pricingPlansV2OrderOrders_universal_d_PaymentStatus as PaymentStatus, pricingPlansV2OrderOrders_universal_d_PausePeriod as PausePeriod, pricingPlansV2OrderOrders_universal_d_Status as Status, pricingPlansV2OrderOrders_universal_d_CurrentCycle as CurrentCycle, pricingPlansV2OrderOrders_universal_d_OrderCycle as OrderCycle, pricingPlansV2OrderOrders_universal_d_FormData as FormData, DomainEvent$1 as DomainEvent, DomainEventBodyOneOf$1 as DomainEventBodyOneOf, EntityCreatedEvent$1 as EntityCreatedEvent, RestoreInfo$1 as RestoreInfo, EntityUpdatedEvent$1 as EntityUpdatedEvent, EntityDeletedEvent$1 as EntityDeletedEvent, ActionEvent$1 as ActionEvent, pricingPlansV2OrderOrders_universal_d_Empty as Empty, pricingPlansV2OrderOrders_universal_d_MemberGetOrderRequest as MemberGetOrderRequest, pricingPlansV2OrderOrders_universal_d_Set as Set, pricingPlansV2OrderOrders_universal_d_MemberGetOrderResponse as MemberGetOrderResponse, pricingPlansV2OrderOrders_universal_d_MemberListOrdersRequest as MemberListOrdersRequest, Sorting$1 as Sorting, SortOrder$1 as SortOrder, pricingPlansV2OrderOrders_universal_d_MemberListOrdersResponse as MemberListOrdersResponse, PagingMetadataV2$1 as PagingMetadataV2, Cursors$1 as Cursors, pricingPlansV2OrderOrders_universal_d_QueryOrdersRequest as QueryOrdersRequest, QueryV2$1 as QueryV2, pricingPlansV2OrderOrders_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf, Paging$1 as Paging, pricingPlansV2OrderOrders_universal_d_CursorPaging as CursorPaging, pricingPlansV2OrderOrders_universal_d_QueryOrdersResponse as QueryOrdersResponse, pricingPlansV2OrderOrders_universal_d_RequestCancellationRequest as RequestCancellationRequest, pricingPlansV2OrderOrders_universal_d_RequestCancellationResponse as RequestCancellationResponse, pricingPlansV2OrderOrders_universal_d_OrderCanceled as OrderCanceled, MessageEnvelope$1 as MessageEnvelope, IdentificationData$1 as IdentificationData, IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf, WebhookIdentityType$1 as WebhookIdentityType, pricingPlansV2OrderOrders_universal_d_CreateOnlineOrderRequest as CreateOnlineOrderRequest, pricingPlansV2OrderOrders_universal_d_OnBehalf as OnBehalf, pricingPlansV2OrderOrders_universal_d_CreateOnlineOrderResponse as CreateOnlineOrderResponse, pricingPlansV2OrderOrders_universal_d_CouponsError as CouponsError, pricingPlansV2OrderOrders_universal_d_CreateGuestOnlineOrderRequest as CreateGuestOnlineOrderRequest, pricingPlansV2OrderOrders_universal_d_Captcha as Captcha, pricingPlansV2OrderOrders_universal_d_Guest as Guest, pricingPlansV2OrderOrders_universal_d_CreateGuestOnlineOrderResponse as CreateGuestOnlineOrderResponse, pricingPlansV2OrderOrders_universal_d_CreateOfflineOrderRequest as CreateOfflineOrderRequest, pricingPlansV2OrderOrders_universal_d_CreateOfflineOrderResponse as CreateOfflineOrderResponse, pricingPlansV2OrderOrders_universal_d_CreateExternalOrderRequest as CreateExternalOrderRequest, pricingPlansV2OrderOrders_universal_d_CreateExternalOrderResponse as CreateExternalOrderResponse, pricingPlansV2OrderOrders_universal_d_GetOnlineOrderPreviewRequest as GetOnlineOrderPreviewRequest, pricingPlansV2OrderOrders_universal_d_GetOnlineOrderPreviewResponse as GetOnlineOrderPreviewResponse, pricingPlansV2OrderOrders_universal_d_GetGuestOnlineOrderPreviewRequest as GetGuestOnlineOrderPreviewRequest, pricingPlansV2OrderOrders_universal_d_GetGuestOnlineOrderPreviewResponse as GetGuestOnlineOrderPreviewResponse, pricingPlansV2OrderOrders_universal_d_GetOfflineOrderPreviewRequest as GetOfflineOrderPreviewRequest, pricingPlansV2OrderOrders_universal_d_GetOfflineOrderPreviewResponse as GetOfflineOrderPreviewResponse, pricingPlansV2OrderOrders_universal_d_GetPricePreviewRequest as GetPricePreviewRequest, pricingPlansV2OrderOrders_universal_d_GetPricePreviewResponse as GetPricePreviewResponse, pricingPlansV2OrderOrders_universal_d_ChangeStartDateRequest as ChangeStartDateRequest, pricingPlansV2OrderOrders_universal_d_ChangeStartDateResponse as ChangeStartDateResponse, pricingPlansV2OrderOrders_universal_d_OrderStartDateChanged as OrderStartDateChanged, pricingPlansV2OrderOrders_universal_d_ApplyCouponRequest as ApplyCouponRequest, pricingPlansV2OrderOrders_universal_d_ApplyCouponResponse as ApplyCouponResponse, pricingPlansV2OrderOrders_universal_d_SetSubmissionRequest as SetSubmissionRequest, pricingPlansV2OrderOrders_universal_d_SetSubmissionResponse as SetSubmissionResponse, pricingPlansV2OrderOrders_universal_d_OrderPurchased as OrderPurchased, pricingPlansV2OrderOrders_universal_d_OrderStarted as OrderStarted, pricingPlansV2OrderOrders_universal_d_OrderCycleStarted as OrderCycleStarted, pricingPlansV2OrderOrders_universal_d_OrderAutoRenewCanceled as OrderAutoRenewCanceled, pricingPlansV2OrderOrders_universal_d_OrderEnded as OrderEnded, pricingPlansV2OrderOrders_universal_d_GetOrderRequest as GetOrderRequest, pricingPlansV2OrderOrders_universal_d_GetOrderResponse as GetOrderResponse, pricingPlansV2OrderOrders_universal_d_ListOrdersRequest as ListOrdersRequest, pricingPlansV2OrderOrders_universal_d_ListOrdersResponse as ListOrdersResponse, pricingPlansV2OrderOrders_universal_d_OrdersQueryOrdersRequest as OrdersQueryOrdersRequest, pricingPlansV2OrderOrders_universal_d_OrdersQueryOrdersResponse as OrdersQueryOrdersResponse, pricingPlansV2OrderOrders_universal_d_GetOrdersStatsRequest as GetOrdersStatsRequest, pricingPlansV2OrderOrders_universal_d_GetOrdersStatsResponse as GetOrdersStatsResponse, pricingPlansV2OrderOrders_universal_d_GetAvailableOrderActionsRequest as GetAvailableOrderActionsRequest, pricingPlansV2OrderOrders_universal_d_GetAvailableOrderActionsResponse as GetAvailableOrderActionsResponse, pricingPlansV2OrderOrders_universal_d_ReasonNotSuspendable as ReasonNotSuspendable, pricingPlansV2OrderOrders_universal_d_PostponeEndDateRequest as PostponeEndDateRequest, pricingPlansV2OrderOrders_universal_d_PostponeEndDateResponse as PostponeEndDateResponse, pricingPlansV2OrderOrders_universal_d_OrderEndDatePostponed as OrderEndDatePostponed, pricingPlansV2OrderOrders_universal_d_CancelOrderRequest as CancelOrderRequest, pricingPlansV2OrderOrders_universal_d_CancelOrderResponse as CancelOrderResponse, pricingPlansV2OrderOrders_universal_d_MarkAsPaidRequest as MarkAsPaidRequest, pricingPlansV2OrderOrders_universal_d_MarkAsPaidResponse as MarkAsPaidResponse, pricingPlansV2OrderOrders_universal_d_OrderMarkedAsPaid as OrderMarkedAsPaid, pricingPlansV2OrderOrders_universal_d_PauseOrderRequest as PauseOrderRequest, pricingPlansV2OrderOrders_universal_d_PauseOrderResponse as PauseOrderResponse, pricingPlansV2OrderOrders_universal_d_OrderPaused as OrderPaused, pricingPlansV2OrderOrders_universal_d_BulkPauseOrderRequest as BulkPauseOrderRequest, pricingPlansV2OrderOrders_universal_d_BulkPauseOrderResponse as BulkPauseOrderResponse, pricingPlansV2OrderOrders_universal_d_BulkOrderResult as BulkOrderResult, ItemMetadata$1 as ItemMetadata, ApplicationError$1 as ApplicationError, BulkActionMetadata$1 as BulkActionMetadata, pricingPlansV2OrderOrders_universal_d_ResumeOrderRequest as ResumeOrderRequest, pricingPlansV2OrderOrders_universal_d_ResumeOrderResponse as ResumeOrderResponse, pricingPlansV2OrderOrders_universal_d_OrderResumed as OrderResumed, pricingPlansV2OrderOrders_universal_d_BulkResumeOrderRequest as BulkResumeOrderRequest, pricingPlansV2OrderOrders_universal_d_BulkResumeOrderResponse as BulkResumeOrderResponse, pricingPlansV2OrderOrders_universal_d_memberGetOrder as memberGetOrder, pricingPlansV2OrderOrders_universal_d_MemberGetOrderOptions as MemberGetOrderOptions, pricingPlansV2OrderOrders_universal_d_memberListOrders as memberListOrders, pricingPlansV2OrderOrders_universal_d_MemberListOrdersOptions as MemberListOrdersOptions, PlansQueryResult$1 as PlansQueryResult, PlansQueryBuilder$1 as PlansQueryBuilder, pricingPlansV2OrderOrders_universal_d_requestCancellation as requestCancellation, pricingPlansV2OrderOrders_universal_d_createOnlineOrder as createOnlineOrder, pricingPlansV2OrderOrders_universal_d_CreateOnlineOrderOptions as CreateOnlineOrderOptions, pricingPlansV2OrderOrders_universal_d_CreateGuestOnlineOrderOptions as CreateGuestOnlineOrderOptions, pricingPlansV2OrderOrders_universal_d_createOfflineOrder as createOfflineOrder, pricingPlansV2OrderOrders_universal_d_CreateOfflineOrderOptions as CreateOfflineOrderOptions, pricingPlansV2OrderOrders_universal_d_CreateExternalOrderOptions as CreateExternalOrderOptions, pricingPlansV2OrderOrders_universal_d_getOnlineOrderPreview as getOnlineOrderPreview, pricingPlansV2OrderOrders_universal_d_GetOnlineOrderPreviewOptions as GetOnlineOrderPreviewOptions, pricingPlansV2OrderOrders_universal_d_GetGuestOnlineOrderPreviewOptions as GetGuestOnlineOrderPreviewOptions, pricingPlansV2OrderOrders_universal_d_getOfflineOrderPreview as getOfflineOrderPreview, pricingPlansV2OrderOrders_universal_d_GetOfflineOrderPreviewOptions as GetOfflineOrderPreviewOptions, pricingPlansV2OrderOrders_universal_d_getPricePreview as getPricePreview, pricingPlansV2OrderOrders_universal_d_GetPricePreviewOptions as GetPricePreviewOptions, pricingPlansV2OrderOrders_universal_d_managementGetOrder as managementGetOrder, pricingPlansV2OrderOrders_universal_d_ManagementGetOrderOptions as ManagementGetOrderOptions, pricingPlansV2OrderOrders_universal_d_managementListOrders as managementListOrders, pricingPlansV2OrderOrders_universal_d_ManagementListOrdersOptions as ManagementListOrdersOptions, pricingPlansV2OrderOrders_universal_d_ManagementQueryOrdersOptions as ManagementQueryOrdersOptions, pricingPlansV2OrderOrders_universal_d_postponeEndDate as postponeEndDate, pricingPlansV2OrderOrders_universal_d_cancelOrder as cancelOrder, pricingPlansV2OrderOrders_universal_d_markAsPaid as markAsPaid, pricingPlansV2OrderOrders_universal_d_pauseOrder as pauseOrder, pricingPlansV2OrderOrders_universal_d_BulkPauseOrderOptions as BulkPauseOrderOptions, pricingPlansV2OrderOrders_universal_d_resumeOrder as resumeOrder, pricingPlansV2OrderOrders_universal_d_BulkResumeOrderOptions as BulkResumeOrderOptions, };\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        /**\n         * List of text strings that promote what is included with this plan.\n         *\n         * For example, \"Plenty of parking\" or \"Free gift on your birthday\".\n         */\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. If `true`, the plan is highlighted on the site with a custom ribbon.\n         *\n         * Default: `false`.\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        /**\n         * Whether the buyer can start the plan at a later date.\n         *\n         * Default: `false`.\n         *\n         */\n        allowFutureStartDate?: boolean | null;\n        /**\n         * Whether the buyer is allowed to cancel their plan. If `false`, calling the [`requestCancellation()`](https://www.wix.com/velo/reference/wix-pricing-plans-v2/orders/requestcancellation) function returns an error.\n         *\n         * Default: `true`.\n         *\n         */\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        /** ID of the form associated with the plan at checkout. */\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        values?: string[];\n    }\n    /** Plan pricing information. Includes the price of the plan and payment details. */\n    interface Pricing extends PricingPricingModelOneOf {\n        /**\n         * Pricing model indicating that the plan has recurring payments.\n         *\n         * Note: 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        /** 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 one 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    /** @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. 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        cycleDuration?: Duration;\n        /**\n         * Amount of payment cycles the subscription is valid for.\n         *\n         * `0` for unlimited plans or for plans that are valid until canceled.\n         */\n        cycleCount?: number | null;\n    }\n    /** A duration expressed in number of time units. */\n    interface Duration {\n        /** Number of days 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        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. For example, `'3.99'`. Cannot be a negative value.   */\n        value?: string;\n        /**\n         * Currency code. Three-letter currency code in\n         * [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. For example, `'USD'`.\n         */\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 first payment. If order has a free trial meaning it will charge after the free trial. */\n        FIRST_PAYMENT = \"FIRST_PAYMENT\"\n    }\n    interface ListPublicPlansRequest {\n        /**\n         * Number of pricing plans to list.\n         *\n         * Default: `75`.\n         */\n        limit?: number | null;\n        /**\n         * Number of pricing plans to skip.\n         *\n         * Default: `0`.\n         */\n        offset?: number | null;\n        /** IDs of public plans to list. If non-existent IDs are specified, they are ignored and don't cause errors. If no IDs are specified, all public are listed according to the [order](#arrangeplans) displayed in the Dashboard. 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        /** Details on the paged set of public pricing plans returned.  */\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        /** ID of the form associated with the plan at checkout. */\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    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 */\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 info.  */\n        plan?: Plan;\n    }\n    interface ListPlansRequest {\n        /**\n         * Archived filter.\n         *\n         * Default: `ACTIVE` (not archived).\n         */\n        archived?: ArchivedFilter;\n        /**\n         * Visibility filter.\n         *\n         * Default: `PUBLIC_AND_HIDDEN` (meaning, both public and hidden plans are listed).\n         *\n         */\n        public?: PublicFilter;\n        /**\n         * Number of pricing plans to list.\n         *\n         * Default: `75`.\n         */\n        limit?: number | null;\n        /**\n         * Number of pricing plans to skip.\n         *\n         * Default: `0`.\n         */\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 (based on `options`) are listed according to the [order](#arrangeplans) displayed in the Dashboard. 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        /** Details on the paged set of pricing plans returned.  */\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        /** Information for the plan being created. */\n        plan: Plan;\n    }\n    interface CreatePlanResponse {\n        /** Plan info.  */\n        plan?: Plan;\n    }\n    interface UpdatePlanRequest {\n        /** Plan info to update. */\n        plan: Plan;\n    }\n    interface UpdatePlanResponse {\n        /** Updated plan info. */\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 the site page.  */\n        _id: string;\n        /** Whether to set the plan as visible. */\n        visible: boolean;\n    }\n    interface SetPlanVisibilityResponse {\n        /** Plan info.  */\n        plan?: Plan;\n    }\n    interface MakePlanPrimaryRequest {\n        /** ID of the pricing plan to set as the primary plan. */\n        _id: string;\n    }\n    interface MakePlanPrimaryResponse {\n        /** Primary plan info. */\n        plan?: Plan;\n    }\n    interface ClearPrimaryRequest {\n    }\n    interface ClearPrimaryResponse {\n    }\n    interface ArchivePlanRequest {\n        _id: string;\n    }\n    interface ArchivePlanResponse {\n        /** Archived plan info.  */\n        plan?: Plan;\n    }\n    interface PlanArchived {\n        /** Pricing plan. */\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        /** 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, will count only visible plans (visible and not archived). If no value is given all site's plans will be 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 site has non-free, non-template plans. */\n        hasPaidPlans?: boolean;\n        /** True if site has plans that were created before Pricing Plans became a premium app. */\n        hasOldPlans?: boolean;\n    }\n    interface QueryPlansRequest {\n        /** Query */\n        query?: QueryV2;\n    }\n    interface QueryPlansResponse {\n        /** List of pricing plans that match the specified query. */\n        plans?: Plan[];\n        /** Object containing paging-related data (number of plans returned, offset). */\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;\n        /**\n         * Whether the event was triggered as a result of a privacy regulation application\n         * (for example, GDPR).\n         */\n        triggeredByAnonymizeRequest?: boolean | null;\n        /** If present, indicates the action that triggered the event. */\n        originatedFrom?: string | null;\n        /**\n         * A sequence number defining the order of updates to the underlying entity.\n         * For example, given that some entity was updated at 16:00 and than again at 16:01,\n         * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n         * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n         * To do so, you will need to persist this number on your end, and compare the sequence number from the\n         * message against the one you have 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        /** 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    interface EntityDeletedEvent {\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 list of public pricing plans.\n     *\n     *\n     * The `listPublicPlans()` function returns a Promise that resolves to a list of up to 100 public pricing plans. Public plans are visible plans that site visitors can see on the site and purchase.\n     * @public\n     * @param options - Options for filtering and paging the list of public plans.\n     * @permissionId PRICING_PLANS.READ_PUBLIC_PLANS\n     * @permissionScope Read Pricing Plans\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-PLANS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-ORDERS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Pricing Plans\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-PLANS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @returns Fulfilled - List of public pricing plans.\n     */\n    function listPublicPlans(options?: ListPublicPlansOptions): Promise<ListPublicPlansResponse>;\n    interface ListPublicPlansOptions {\n        /**\n         * Number of pricing plans to list.\n         *\n         * Default: `75`.\n         */\n        limit?: number | null;\n        /**\n         * Number of pricing plans to skip.\n         *\n         * Default: `0`.\n         */\n        offset?: number | null;\n        /** IDs of public plans to list. If non-existent IDs are specified, they are ignored and don't cause errors. If no IDs are specified, all public are listed according to the [order](#arrangeplans) displayed in the Dashboard. You can pass 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()` function 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) function.\n     *\n     * You can refine the query by chaining `PublicPlansQueryBuilder` functions onto the query. `PublicPlansQueryBuilder` functions 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 functions 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` functions are supported for the `queryPublicPlans()` function. For a full description of the Plans object, see the object returned for the [`items`](#plansqueryresult/items) property in [`PublicPlansQueryResult`](#plansqueryresult).\n     * @public\n     * @permissionScope Read Pricing Plans\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-PLANS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-ORDERS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Pricing Plans\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-PLANS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionId PRICING_PLANS.READ_PUBLIC_PLANS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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 the specified ID.\n     *\n     * The `getPlan()` function returns a Promise that resolves to a plan whose ID matched the specified ID.\n     * @param _id - Plan ID.\n     * @public\n     * @requiredField _id\n     * @permissionId PRICING_PLANS.READ_PLANS\n     * @permissionScope Read Pricing Plans\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-PLANS\n     * @permissionScope Manage Pricing Plans\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-PLANS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Fulfilled - The retrieved plan's information.\n     */\n    function getPlan(_id: string): Promise<Plan>;\n    /**\n     * Retrieves a list of pricing plans.\n     *\n     * The `listPlans()` function returns a Promise that resolves to a list of up to 100 pricing plans. This includes 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     * @permissionScope Read Pricing Plans\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-PLANS\n     * @permissionScope Manage Pricing Plans\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-PLANS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Fulfilled - List of plans that match the given criteria.\n     */\n    function listPlans(options?: ListPlansOptions): Promise<ListPlansResponse>;\n    interface ListPlansOptions {\n        /**\n         * Archived filter.\n         *\n         * Default: `ACTIVE` (not archived).\n         */\n        archived?: ArchivedFilter;\n        /**\n         * Visibility filter.\n         *\n         * Default: `PUBLIC_AND_HIDDEN` (meaning, both public and hidden plans are listed).\n         *\n         */\n        public?: PublicFilter;\n        /**\n         * Number of pricing plans to list.\n         *\n         * Default: `75`.\n         */\n        limit?: number | null;\n        /**\n         * Number of pricing plans to skip.\n         *\n         * Default: `0`.\n         */\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 (based on `options`) are listed according to the [order](#arrangeplans) displayed in the Dashboard. You can pass a maximum of 100 IDs.  */\n        planIds?: string[];\n    }\n    /**\n     * Retrieves statistics about the pricing plans.\n     *\n     *\n     * The `getPlanStats()` function returns a Promise that resolves to statistics about the plan on the site.\n     *\n     * Currently this function provides only the total number of pricing plans, including archived plans.\n     * @public\n     * @permissionId PRICING_PLANS.READ_PLANS\n     * @permissionScope Read Pricing Plans\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-PLANS\n     * @permissionScope Manage Pricing Plans\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-PLANS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Fulfilled - Overall statistics about the pricing plans.\n     */\n    function getPlanStats(): Promise<GetPlanStatsResponse>;\n    /**\n     * Creates a pricing plan.\n     *\n     *\n     * The `createPlan()` function returns a Promise that resolves to a newly-created pricing plan after is has successfully been created.\n     *\n     * The passed `plan` object must contain a [pricing model](https://www.wix.com/velo/reference/wix-pricing-plans-v2/plans/pricing-models). A pricing model can be one of the following:\n     * - **A subscription**: A subscription with recurring payment and how often the plan occurs. Subscriptions can have free trial days.\n     * - **A plan that does not 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     *\n     * Pricing plans created by this function are available to the site owner in the Pricing Plans section in the 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     * @permissionScope Manage Pricing Plans\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-PLANS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Fulfilled - The created plan.\n     *\n     * Rejected - Error message.\n     */\n    function createPlan(plan: Plan): Promise<Plan>;\n    /**\n     * Updates a pricing plan.\n     *\n     *\n     * The `updatePlan()` function returns a Promise that resolves to an updated plan.\n     *\n     * Updating a plan does not impact existing purchases made for the plan. All purchases keep the details of the original plan that was active at the time of the 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     * @permissionScope Manage Pricing Plans\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-PLANS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Fulfilled - The updated plan.\n     *\n     * Rejected - Error message.\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        /**\n         * List of text strings that promote what is included with this plan.\n         *\n         * For example, \"Plenty of parking\" or \"Free gift on your birthday\".\n         */\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. If `true`, the plan is highlighted on the site with a custom ribbon.\n         *\n         * Default: `false`.\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        /**\n         * Whether the buyer can start the plan at a later date.\n         *\n         * Default: `false`.\n         *\n         */\n        allowFutureStartDate?: boolean | null;\n        /**\n         * Whether the buyer is allowed to cancel their plan. If `false`, calling the [`requestCancellation()`](https://www.wix.com/velo/reference/wix-pricing-plans-v2/orders/requestcancellation) function returns an error.\n         *\n         * Default: `true`.\n         *\n         */\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        /** ID of the form associated with the plan at checkout. */\n        formId?: string | null;\n    }\n    interface UpdatePlanOptions {\n    }\n    /**\n     * Sets visibility for non-archived pricing plans.\n     *\n     * The `setPlanVisibility()` functions returns a Promise that resolves to a pricing plan when its visibility has successfully been set.\n     *\n     * By default, pricing plans are public, meaning they are visible. [Plans can be hidden](https://support.wix.com/en/article/pricing-plans-removing-a-plan-from-your-site#hiding-plans) so that site members and visitors cannot see or choose them.\n     *\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).\n     *\n     * >**Note:** An archived plan always remains archived and cannot be made active again. When archiving a plan, its `public` property is automatically set to `false` so that it is hidden.\n     *\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 terms and payment options.\n     * @param visible - Whether to set the plan as visible.\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     * @permissionScope Manage Pricing Plans\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-PLANS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Fulfilled - The plan's information.\n     *\n     * Rejected - Error message.\n     */\n    function setPlanVisibility(_id: string, visible: boolean): Promise<SetPlanVisibilityResponse>;\n    /**\n     * Marks a pricing plan as the primary pricing plan.\n     *\n     *\n     * The `makePlanPrimary()` function returns a Promise that resolves to the now primary pricing plan.\n     *\n     * 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 `makePlanPrimary()` causes the existing primary plan to lose its primary status.\n     *\n     * When viewing pricing plans on the site, the primary plan is highlighted with a customizable ribbon.\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     * @permissionScope Manage Pricing Plans\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-PLANS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Fulfilled - The primary plan.\n     */\n    function makePlanPrimary(_id: string): Promise<MakePlanPrimaryResponse>;\n    /**\n     * Sets all pricing plans to no longer be primary.\n     *\n     * The `clearPrimary()` function returns a Promise that is resolved when there are no pricing plans marked as `primary`.\n     *\n     * After clearing the primary plan, when viewing pricing plans on the site, no plan is highlighted with a customizable ribbon.\n     * @public\n     * @permissionId PRICING_PLANS.MANAGE_PLANS\n     * @permissionScope Manage Pricing Plans\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-PLANS\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function clearPrimary(): Promise<void>;\n    /**\n     * Archives a single plan.\n     *\n     *\n     * The `archivePlan()` function returns a Promise that resolves to the newly-archived plan.\n     *\n     * When a plan is archived, the plan\n     * - Is no longer available for display or selection by visitors. This is because the plan's `public` property is automatically set to `false`.\n     * - Cannot be purchased.\n     * - Cannot be \"un-archived\", meaning the plan cannot be made active again.\n     *\n     * Plan archiving does not impact existing purchases made for the plan. All purchases for the plan are still active and keep their payment options and terms.\n     *\n     * Site owners can see archived plans in the Dashboard under **Pricing Plans -> Archived Plans**.\n     *\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     * @permissionScope Manage Pricing Plans\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-PLANS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Fulfilled - The archived plan.\n     *\n     * Rejected - Error message.\n     */\n    function archivePlan(_id: string): Promise<ArchivePlanResponse>;\n    interface BulkArchivePlanOptions {\n        /** Set to true to return Plan entity in response. */\n        returnFullEntity?: boolean;\n    }\n    interface CountPlansOptions {\n        /** The filter. */\n        filter?: Record<string, any> | null;\n        /** If true, will count only visible plans (visible and not archived). If no value is given all site's plans will be counted. */\n        visibility?: boolean | null;\n    }\n    interface QueryPlansOptions {\n        /** Query */\n        query?: QueryV2;\n    }\n    type pricingPlansV2PlanPlans_universal_d_Plan = Plan;\n    type pricingPlansV2PlanPlans_universal_d_StringList = StringList;\n    type pricingPlansV2PlanPlans_universal_d_Pricing = Pricing;\n    type pricingPlansV2PlanPlans_universal_d_PricingPricingModelOneOf = PricingPricingModelOneOf;\n    type pricingPlansV2PlanPlans_universal_d_Recurrence = Recurrence;\n    type pricingPlansV2PlanPlans_universal_d_Duration = Duration;\n    type pricingPlansV2PlanPlans_universal_d_PeriodUnit = PeriodUnit;\n    const pricingPlansV2PlanPlans_universal_d_PeriodUnit: typeof PeriodUnit;\n    type pricingPlansV2PlanPlans_universal_d_Money = Money;\n    type pricingPlansV2PlanPlans_universal_d_FeeConfig = FeeConfig;\n    type pricingPlansV2PlanPlans_universal_d_Fee = Fee;\n    type pricingPlansV2PlanPlans_universal_d_AppliedAt = AppliedAt;\n    const pricingPlansV2PlanPlans_universal_d_AppliedAt: typeof AppliedAt;\n    type pricingPlansV2PlanPlans_universal_d_ListPublicPlansRequest = ListPublicPlansRequest;\n    type pricingPlansV2PlanPlans_universal_d_ListPublicPlansResponse = ListPublicPlansResponse;\n    type pricingPlansV2PlanPlans_universal_d_PublicPlan = PublicPlan;\n    type pricingPlansV2PlanPlans_universal_d_PagingMetadataV2 = PagingMetadataV2;\n    type pricingPlansV2PlanPlans_universal_d_Cursors = Cursors;\n    type pricingPlansV2PlanPlans_universal_d_QueryPublicPlansRequest = QueryPublicPlansRequest;\n    type pricingPlansV2PlanPlans_universal_d_QueryV2 = QueryV2;\n    type pricingPlansV2PlanPlans_universal_d_Sorting = Sorting;\n    type pricingPlansV2PlanPlans_universal_d_SortOrder = SortOrder;\n    const pricingPlansV2PlanPlans_universal_d_SortOrder: typeof SortOrder;\n    type pricingPlansV2PlanPlans_universal_d_Paging = Paging;\n    type pricingPlansV2PlanPlans_universal_d_QueryPublicPlansResponse = QueryPublicPlansResponse;\n    type pricingPlansV2PlanPlans_universal_d_GetPlanRequest = GetPlanRequest;\n    type pricingPlansV2PlanPlans_universal_d_GetPlanResponse = GetPlanResponse;\n    type pricingPlansV2PlanPlans_universal_d_ListPlansRequest = ListPlansRequest;\n    type pricingPlansV2PlanPlans_universal_d_ArchivedFilter = ArchivedFilter;\n    const pricingPlansV2PlanPlans_universal_d_ArchivedFilter: typeof ArchivedFilter;\n    type pricingPlansV2PlanPlans_universal_d_PublicFilter = PublicFilter;\n    const pricingPlansV2PlanPlans_universal_d_PublicFilter: typeof PublicFilter;\n    type pricingPlansV2PlanPlans_universal_d_ListPlansResponse = ListPlansResponse;\n    type pricingPlansV2PlanPlans_universal_d_GetPlanStatsRequest = GetPlanStatsRequest;\n    type pricingPlansV2PlanPlans_universal_d_GetPlanStatsResponse = GetPlanStatsResponse;\n    type pricingPlansV2PlanPlans_universal_d_CreatePlanRequest = CreatePlanRequest;\n    type pricingPlansV2PlanPlans_universal_d_CreatePlanResponse = CreatePlanResponse;\n    type pricingPlansV2PlanPlans_universal_d_UpdatePlanRequest = UpdatePlanRequest;\n    type pricingPlansV2PlanPlans_universal_d_UpdatePlanResponse = UpdatePlanResponse;\n    type pricingPlansV2PlanPlans_universal_d_BuyerCanCancelUpdated = BuyerCanCancelUpdated;\n    type pricingPlansV2PlanPlans_universal_d_SetPlanVisibilityRequest = SetPlanVisibilityRequest;\n    type pricingPlansV2PlanPlans_universal_d_SetPlanVisibilityResponse = SetPlanVisibilityResponse;\n    type pricingPlansV2PlanPlans_universal_d_MakePlanPrimaryRequest = MakePlanPrimaryRequest;\n    type pricingPlansV2PlanPlans_universal_d_MakePlanPrimaryResponse = MakePlanPrimaryResponse;\n    type pricingPlansV2PlanPlans_universal_d_ClearPrimaryRequest = ClearPrimaryRequest;\n    type pricingPlansV2PlanPlans_universal_d_ClearPrimaryResponse = ClearPrimaryResponse;\n    type pricingPlansV2PlanPlans_universal_d_ArchivePlanRequest = ArchivePlanRequest;\n    type pricingPlansV2PlanPlans_universal_d_ArchivePlanResponse = ArchivePlanResponse;\n    type pricingPlansV2PlanPlans_universal_d_PlanArchived = PlanArchived;\n    type pricingPlansV2PlanPlans_universal_d_BulkArchivePlanRequest = BulkArchivePlanRequest;\n    type pricingPlansV2PlanPlans_universal_d_BulkArchivePlanResponse = BulkArchivePlanResponse;\n    type pricingPlansV2PlanPlans_universal_d_BulkPlanResult = BulkPlanResult;\n    type pricingPlansV2PlanPlans_universal_d_ItemMetadata = ItemMetadata;\n    type pricingPlansV2PlanPlans_universal_d_ApplicationError = ApplicationError;\n    type pricingPlansV2PlanPlans_universal_d_BulkActionMetadata = BulkActionMetadata;\n    type pricingPlansV2PlanPlans_universal_d_ArrangePlansRequest = ArrangePlansRequest;\n    type pricingPlansV2PlanPlans_universal_d_ArrangePlansResponse = ArrangePlansResponse;\n    type pricingPlansV2PlanPlans_universal_d_CountPlansRequest = CountPlansRequest;\n    type pricingPlansV2PlanPlans_universal_d_CountPlansResponse = CountPlansResponse;\n    type pricingPlansV2PlanPlans_universal_d_GetPlansPremiumStatusRequest = GetPlansPremiumStatusRequest;\n    type pricingPlansV2PlanPlans_universal_d_GetPlansPremiumStatusResponse = GetPlansPremiumStatusResponse;\n    type pricingPlansV2PlanPlans_universal_d_QueryPlansRequest = QueryPlansRequest;\n    type pricingPlansV2PlanPlans_universal_d_QueryPlansResponse = QueryPlansResponse;\n    type pricingPlansV2PlanPlans_universal_d_DomainEvent = DomainEvent;\n    type pricingPlansV2PlanPlans_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n    type pricingPlansV2PlanPlans_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n    type pricingPlansV2PlanPlans_universal_d_RestoreInfo = RestoreInfo;\n    type pricingPlansV2PlanPlans_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n    type pricingPlansV2PlanPlans_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n    type pricingPlansV2PlanPlans_universal_d_ActionEvent = ActionEvent;\n    type pricingPlansV2PlanPlans_universal_d_MessageEnvelope = MessageEnvelope;\n    type pricingPlansV2PlanPlans_universal_d_IdentificationData = IdentificationData;\n    type pricingPlansV2PlanPlans_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n    type pricingPlansV2PlanPlans_universal_d_WebhookIdentityType = WebhookIdentityType;\n    const pricingPlansV2PlanPlans_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n    const pricingPlansV2PlanPlans_universal_d_listPublicPlans: typeof listPublicPlans;\n    type pricingPlansV2PlanPlans_universal_d_ListPublicPlansOptions = ListPublicPlansOptions;\n    const pricingPlansV2PlanPlans_universal_d_queryPublicPlans: typeof queryPublicPlans;\n    type pricingPlansV2PlanPlans_universal_d_PlansQueryResult = PlansQueryResult;\n    type pricingPlansV2PlanPlans_universal_d_PlansQueryBuilder = PlansQueryBuilder;\n    const pricingPlansV2PlanPlans_universal_d_getPlan: typeof getPlan;\n    const pricingPlansV2PlanPlans_universal_d_listPlans: typeof listPlans;\n    type pricingPlansV2PlanPlans_universal_d_ListPlansOptions = ListPlansOptions;\n    const pricingPlansV2PlanPlans_universal_d_getPlanStats: typeof getPlanStats;\n    const pricingPlansV2PlanPlans_universal_d_createPlan: typeof createPlan;\n    const pricingPlansV2PlanPlans_universal_d_updatePlan: typeof updatePlan;\n    type pricingPlansV2PlanPlans_universal_d_UpdatePlan = UpdatePlan;\n    type pricingPlansV2PlanPlans_universal_d_UpdatePlanOptions = UpdatePlanOptions;\n    const pricingPlansV2PlanPlans_universal_d_setPlanVisibility: typeof setPlanVisibility;\n    const pricingPlansV2PlanPlans_universal_d_makePlanPrimary: typeof makePlanPrimary;\n    const pricingPlansV2PlanPlans_universal_d_clearPrimary: typeof clearPrimary;\n    const pricingPlansV2PlanPlans_universal_d_archivePlan: typeof archivePlan;\n    type pricingPlansV2PlanPlans_universal_d_BulkArchivePlanOptions = BulkArchivePlanOptions;\n    type pricingPlansV2PlanPlans_universal_d_CountPlansOptions = CountPlansOptions;\n    type pricingPlansV2PlanPlans_universal_d_QueryPlansOptions = QueryPlansOptions;\n    namespace pricingPlansV2PlanPlans_universal_d {\n        export { pricingPlansV2PlanPlans_universal_d_Plan as Plan, pricingPlansV2PlanPlans_universal_d_StringList as StringList, pricingPlansV2PlanPlans_universal_d_Pricing as Pricing, pricingPlansV2PlanPlans_universal_d_PricingPricingModelOneOf as PricingPricingModelOneOf, pricingPlansV2PlanPlans_universal_d_Recurrence as Recurrence, pricingPlansV2PlanPlans_universal_d_Duration as Duration, pricingPlansV2PlanPlans_universal_d_PeriodUnit as PeriodUnit, pricingPlansV2PlanPlans_universal_d_Money as Money, pricingPlansV2PlanPlans_universal_d_FeeConfig as FeeConfig, pricingPlansV2PlanPlans_universal_d_Fee as Fee, pricingPlansV2PlanPlans_universal_d_AppliedAt as AppliedAt, pricingPlansV2PlanPlans_universal_d_ListPublicPlansRequest as ListPublicPlansRequest, pricingPlansV2PlanPlans_universal_d_ListPublicPlansResponse as ListPublicPlansResponse, pricingPlansV2PlanPlans_universal_d_PublicPlan as PublicPlan, pricingPlansV2PlanPlans_universal_d_PagingMetadataV2 as PagingMetadataV2, pricingPlansV2PlanPlans_universal_d_Cursors as Cursors, pricingPlansV2PlanPlans_universal_d_QueryPublicPlansRequest as QueryPublicPlansRequest, pricingPlansV2PlanPlans_universal_d_QueryV2 as QueryV2, pricingPlansV2PlanPlans_universal_d_Sorting as Sorting, pricingPlansV2PlanPlans_universal_d_SortOrder as SortOrder, pricingPlansV2PlanPlans_universal_d_Paging as Paging, pricingPlansV2PlanPlans_universal_d_QueryPublicPlansResponse as QueryPublicPlansResponse, pricingPlansV2PlanPlans_universal_d_GetPlanRequest as GetPlanRequest, pricingPlansV2PlanPlans_universal_d_GetPlanResponse as GetPlanResponse, pricingPlansV2PlanPlans_universal_d_ListPlansRequest as ListPlansRequest, pricingPlansV2PlanPlans_universal_d_ArchivedFilter as ArchivedFilter, pricingPlansV2PlanPlans_universal_d_PublicFilter as PublicFilter, pricingPlansV2PlanPlans_universal_d_ListPlansResponse as ListPlansResponse, pricingPlansV2PlanPlans_universal_d_GetPlanStatsRequest as GetPlanStatsRequest, pricingPlansV2PlanPlans_universal_d_GetPlanStatsResponse as GetPlanStatsResponse, pricingPlansV2PlanPlans_universal_d_CreatePlanRequest as CreatePlanRequest, pricingPlansV2PlanPlans_universal_d_CreatePlanResponse as CreatePlanResponse, pricingPlansV2PlanPlans_universal_d_UpdatePlanRequest as UpdatePlanRequest, pricingPlansV2PlanPlans_universal_d_UpdatePlanResponse as UpdatePlanResponse, pricingPlansV2PlanPlans_universal_d_BuyerCanCancelUpdated as BuyerCanCancelUpdated, pricingPlansV2PlanPlans_universal_d_SetPlanVisibilityRequest as SetPlanVisibilityRequest, pricingPlansV2PlanPlans_universal_d_SetPlanVisibilityResponse as SetPlanVisibilityResponse, pricingPlansV2PlanPlans_universal_d_MakePlanPrimaryRequest as MakePlanPrimaryRequest, pricingPlansV2PlanPlans_universal_d_MakePlanPrimaryResponse as MakePlanPrimaryResponse, pricingPlansV2PlanPlans_universal_d_ClearPrimaryRequest as ClearPrimaryRequest, pricingPlansV2PlanPlans_universal_d_ClearPrimaryResponse as ClearPrimaryResponse, pricingPlansV2PlanPlans_universal_d_ArchivePlanRequest as ArchivePlanRequest, pricingPlansV2PlanPlans_universal_d_ArchivePlanResponse as ArchivePlanResponse, pricingPlansV2PlanPlans_universal_d_PlanArchived as PlanArchived, pricingPlansV2PlanPlans_universal_d_BulkArchivePlanRequest as BulkArchivePlanRequest, pricingPlansV2PlanPlans_universal_d_BulkArchivePlanResponse as BulkArchivePlanResponse, pricingPlansV2PlanPlans_universal_d_BulkPlanResult as BulkPlanResult, pricingPlansV2PlanPlans_universal_d_ItemMetadata as ItemMetadata, pricingPlansV2PlanPlans_universal_d_ApplicationError as ApplicationError, pricingPlansV2PlanPlans_universal_d_BulkActionMetadata as BulkActionMetadata, pricingPlansV2PlanPlans_universal_d_ArrangePlansRequest as ArrangePlansRequest, pricingPlansV2PlanPlans_universal_d_ArrangePlansResponse as ArrangePlansResponse, pricingPlansV2PlanPlans_universal_d_CountPlansRequest as CountPlansRequest, pricingPlansV2PlanPlans_universal_d_CountPlansResponse as CountPlansResponse, pricingPlansV2PlanPlans_universal_d_GetPlansPremiumStatusRequest as GetPlansPremiumStatusRequest, pricingPlansV2PlanPlans_universal_d_GetPlansPremiumStatusResponse as GetPlansPremiumStatusResponse, pricingPlansV2PlanPlans_universal_d_QueryPlansRequest as QueryPlansRequest, pricingPlansV2PlanPlans_universal_d_QueryPlansResponse as QueryPlansResponse, pricingPlansV2PlanPlans_universal_d_DomainEvent as DomainEvent, pricingPlansV2PlanPlans_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf, pricingPlansV2PlanPlans_universal_d_EntityCreatedEvent as EntityCreatedEvent, pricingPlansV2PlanPlans_universal_d_RestoreInfo as RestoreInfo, pricingPlansV2PlanPlans_universal_d_EntityUpdatedEvent as EntityUpdatedEvent, pricingPlansV2PlanPlans_universal_d_EntityDeletedEvent as EntityDeletedEvent, pricingPlansV2PlanPlans_universal_d_ActionEvent as ActionEvent, pricingPlansV2PlanPlans_universal_d_MessageEnvelope as MessageEnvelope, pricingPlansV2PlanPlans_universal_d_IdentificationData as IdentificationData, pricingPlansV2PlanPlans_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf, pricingPlansV2PlanPlans_universal_d_WebhookIdentityType as WebhookIdentityType, pricingPlansV2PlanPlans_universal_d_listPublicPlans as listPublicPlans, pricingPlansV2PlanPlans_universal_d_ListPublicPlansOptions as ListPublicPlansOptions, pricingPlansV2PlanPlans_universal_d_queryPublicPlans as queryPublicPlans, pricingPlansV2PlanPlans_universal_d_PlansQueryResult as PlansQueryResult, pricingPlansV2PlanPlans_universal_d_PlansQueryBuilder as PlansQueryBuilder, pricingPlansV2PlanPlans_universal_d_getPlan as getPlan, pricingPlansV2PlanPlans_universal_d_listPlans as listPlans, pricingPlansV2PlanPlans_universal_d_ListPlansOptions as ListPlansOptions, pricingPlansV2PlanPlans_universal_d_getPlanStats as getPlanStats, pricingPlansV2PlanPlans_universal_d_createPlan as createPlan, pricingPlansV2PlanPlans_universal_d_updatePlan as updatePlan, pricingPlansV2PlanPlans_universal_d_UpdatePlan as UpdatePlan, pricingPlansV2PlanPlans_universal_d_UpdatePlanOptions as UpdatePlanOptions, pricingPlansV2PlanPlans_universal_d_setPlanVisibility as setPlanVisibility, pricingPlansV2PlanPlans_universal_d_makePlanPrimary as makePlanPrimary, pricingPlansV2PlanPlans_universal_d_clearPrimary as clearPrimary, pricingPlansV2PlanPlans_universal_d_archivePlan as archivePlan, pricingPlansV2PlanPlans_universal_d_BulkArchivePlanOptions as BulkArchivePlanOptions, pricingPlansV2PlanPlans_universal_d_CountPlansOptions as CountPlansOptions, pricingPlansV2PlanPlans_universal_d_QueryPlansOptions as QueryPlansOptions, };\n    }\n    export { pricingPlansV2OrderOrders_universal_d as orders, pricingPlansV2PlanPlans_universal_d as plans };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-members.v2.d.ts",
      "content": "declare module \"wix-members.v2\" {\n    interface Member$1 {\n        /**\n         * Member ID.\n         * @readonly\n         */\n        _id?: string;\n        /**\n         * Email used by the member to log in to the site.\n         *\n         *\n         */\n        loginEmail?: string | null;\n        /** Member's first name. */\n        firstName?: string | null;\n        /** Member's last name. */\n        lastName?: 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         * 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;\n        /**\n         * Date and time when the member was last updated.\n         *\n         *\n         * @readonly\n         */\n        lastUpdateDate?: Date;\n        /**\n         * Date and time when the member last logged in to the site.\n         *\n         * @readonly\n         */\n        lastLoginDate?: Date;\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         * 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         * Member's contact ID.\n         * @readonly\n         */\n        contactId?: string | null;\n    }\n    enum Role {\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;\n        /** Display name. */\n        name?: string;\n    }\n    /** @oneof */\n    interface CustomFieldValueOneOf {\n        strValue?: string | null;\n        numValue?: number;\n        dateValue?: Date;\n    }\n    interface Group {\n        _id?: string;\n        name?: string;\n        type?: string;\n    }\n    interface ListMembersRequest$2 {\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$2 {\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$2;\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$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 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[];\n    }\n    enum Sorting$2 {\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$2;\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;\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>;\n    }\n    interface MemberRole {\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;\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    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    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    /** @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         * 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    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         * 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    /** 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         * 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    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    interface SearchOptions {\n        /** paging - offset and limit */\n        paging?: Paging$2;\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$2;\n    }\n    interface GetOptions {\n        /** whether to include contact details */\n        includeContactDetails?: boolean;\n        /** whether to include groups details */\n        includeGroupsDetails?: boolean;\n    }\n    interface GetUserMembershipsOptions {\n        /** paging - offset and limit ( the max limit for page is 200) */\n        paging?: Paging$2;\n    }\n    interface GetRolesOptions {\n        /** user_id and/or contact_id */\n        ids?: string[];\n    }\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    interface GetAuthorizedPagesOptions {\n        _id?: string;\n    }\n    interface UpdateOptions {\n        /** the Member object containing the fields to update */\n        member?: Member$1;\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    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    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     * @permissionScope Manage Members\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-MEMBERS\n     * @applicableIdentity APP\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    /**\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        /**\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    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        /**\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    /**\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    }\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     * @permissionScope Manage Members\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-MEMBERS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function sendSetPasswordEmail(email: string, options?: SendSetPasswordEmailOptions): Promise<SendSetPasswordEmailResponse>;\n    interface SendSetPasswordEmailOptions {\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 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    type identityMembersV1MemberAuthentication_universal_d_Role = Role;\n    const identityMembersV1MemberAuthentication_universal_d_Role: typeof Role;\n    type identityMembersV1MemberAuthentication_universal_d_SiteMemberPrivacyStatus = SiteMemberPrivacyStatus;\n    const identityMembersV1MemberAuthentication_universal_d_SiteMemberPrivacyStatus: typeof SiteMemberPrivacyStatus;\n    type identityMembersV1MemberAuthentication_universal_d_SiteMemberStatus = SiteMemberStatus;\n    const identityMembersV1MemberAuthentication_universal_d_SiteMemberStatus: typeof SiteMemberStatus;\n    type identityMembersV1MemberAuthentication_universal_d_CustomFieldValueOneOf = CustomFieldValueOneOf;\n    type identityMembersV1MemberAuthentication_universal_d_Group = Group;\n    type identityMembersV1MemberAuthentication_universal_d_PaginationResponse = PaginationResponse;\n    type identityMembersV1MemberAuthentication_universal_d_SearchRequest = SearchRequest;\n    type identityMembersV1MemberAuthentication_universal_d_SearchBy = SearchBy;\n    type identityMembersV1MemberAuthentication_universal_d_FilterBy = FilterBy;\n    type identityMembersV1MemberAuthentication_universal_d_SearchResponse = SearchResponse;\n    type identityMembersV1MemberAuthentication_universal_d_GetCurrentMemberRequest = GetCurrentMemberRequest;\n    type identityMembersV1MemberAuthentication_universal_d_GetUserMembershipsRequest = GetUserMembershipsRequest;\n    type identityMembersV1MemberAuthentication_universal_d_GetUserMembershipsResponse = GetUserMembershipsResponse;\n    type identityMembersV1MemberAuthentication_universal_d_UserMembership = UserMembership;\n    type identityMembersV1MemberAuthentication_universal_d_GetMemberRoleRequest = GetMemberRoleRequest;\n    type identityMembersV1MemberAuthentication_universal_d_GetMemberRoleResponse = GetMemberRoleResponse;\n    type identityMembersV1MemberAuthentication_universal_d_GetMemberRolesRequest = GetMemberRolesRequest;\n    type identityMembersV1MemberAuthentication_universal_d_GetMemberRolesResponse = GetMemberRolesResponse;\n    type identityMembersV1MemberAuthentication_universal_d_MemberRole = MemberRole;\n    type identityMembersV1MemberAuthentication_universal_d_BatchGetMembersRequest = BatchGetMembersRequest;\n    type identityMembersV1MemberAuthentication_universal_d_BatchGetMembersResponse = BatchGetMembersResponse;\n    type identityMembersV1MemberAuthentication_universal_d_GetAuthorizedPagesRequest = GetAuthorizedPagesRequest;\n    type identityMembersV1MemberAuthentication_universal_d_GetAuthorizedPagesResponse = GetAuthorizedPagesResponse;\n    type identityMembersV1MemberAuthentication_universal_d_ChangeLoginEmailRequest = ChangeLoginEmailRequest;\n    type identityMembersV1MemberAuthentication_universal_d_ChangeLoginEmailResponse = ChangeLoginEmailResponse;\n    type identityMembersV1MemberAuthentication_universal_d_ApproveMemberRequestMemberIdentifierOneOf = ApproveMemberRequestMemberIdentifierOneOf;\n    type identityMembersV1MemberAuthentication_universal_d_Session = Session;\n    type identityMembersV1MemberAuthentication_universal_d_BlockMemberRequestMemberIdentifierOneOf = BlockMemberRequestMemberIdentifierOneOf;\n    type identityMembersV1MemberAuthentication_universal_d_Source = Source;\n    const identityMembersV1MemberAuthentication_universal_d_Source: typeof Source;\n    type identityMembersV1MemberAuthentication_universal_d_MakeMemberOfflineRequest = MakeMemberOfflineRequest;\n    type identityMembersV1MemberAuthentication_universal_d_MakeMemberOfflineResponse = MakeMemberOfflineResponse;\n    type identityMembersV1MemberAuthentication_universal_d_RegisterRequest = RegisterRequest;\n    type identityMembersV1MemberAuthentication_universal_d_MemberContactInfo = MemberContactInfo;\n    type identityMembersV1MemberAuthentication_universal_d_DialogData = DialogData;\n    type identityMembersV1MemberAuthentication_universal_d_EmailVerification = EmailVerification;\n    type identityMembersV1MemberAuthentication_universal_d_RegisterResponse = RegisterResponse;\n    type identityMembersV1MemberAuthentication_universal_d_EmailVerificationRequired = EmailVerificationRequired;\n    type identityMembersV1MemberAuthentication_universal_d_EmailVerificationFailed = EmailVerificationFailed;\n    type identityMembersV1MemberAuthentication_universal_d_VerificationFailureReason = VerificationFailureReason;\n    const identityMembersV1MemberAuthentication_universal_d_VerificationFailureReason: typeof VerificationFailureReason;\n    type identityMembersV1MemberAuthentication_universal_d_LoginRequest = LoginRequest;\n    type identityMembersV1MemberAuthentication_universal_d_LoginResponse = LoginResponse;\n    type identityMembersV1MemberAuthentication_universal_d_GetResetPasswordLinkRequest = GetResetPasswordLinkRequest;\n    type identityMembersV1MemberAuthentication_universal_d_GetResetPasswordLinkResponse = GetResetPasswordLinkResponse;\n    type identityMembersV1MemberAuthentication_universal_d_SendSetPasswordEmailRequest = SendSetPasswordEmailRequest;\n    type identityMembersV1MemberAuthentication_universal_d_SendSetPasswordEmailResponse = SendSetPasswordEmailResponse;\n    type identityMembersV1MemberAuthentication_universal_d_ResetPasswordRequest = ResetPasswordRequest;\n    type identityMembersV1MemberAuthentication_universal_d_ResetPasswordResponse = ResetPasswordResponse;\n    type identityMembersV1MemberAuthentication_universal_d_SocialLoginRequest = SocialLoginRequest;\n    type identityMembersV1MemberAuthentication_universal_d_SocialLoginRequestLoginOneOf = SocialLoginRequestLoginOneOf;\n    type identityMembersV1MemberAuthentication_universal_d_AppleLogin = AppleLogin;\n    type identityMembersV1MemberAuthentication_universal_d_GoogleLogin = GoogleLogin;\n    type identityMembersV1MemberAuthentication_universal_d_FacebookLogin = FacebookLogin;\n    type identityMembersV1MemberAuthentication_universal_d_ListOptions = ListOptions;\n    type identityMembersV1MemberAuthentication_universal_d_SearchOptions = SearchOptions;\n    type identityMembersV1MemberAuthentication_universal_d_GetOptions = GetOptions;\n    type identityMembersV1MemberAuthentication_universal_d_GetUserMembershipsOptions = GetUserMembershipsOptions;\n    type identityMembersV1MemberAuthentication_universal_d_GetRolesOptions = GetRolesOptions;\n    type identityMembersV1MemberAuthentication_universal_d_BatchGetOptions = BatchGetOptions;\n    type identityMembersV1MemberAuthentication_universal_d_GetAuthorizedPagesOptions = GetAuthorizedPagesOptions;\n    type identityMembersV1MemberAuthentication_universal_d_UpdateOptions = UpdateOptions;\n    const identityMembersV1MemberAuthentication_universal_d_changeLoginEmail: typeof changeLoginEmail;\n    type identityMembersV1MemberAuthentication_universal_d_ChangeLoginEmailOptions = ChangeLoginEmailOptions;\n    type identityMembersV1MemberAuthentication_universal_d_QueryOptions = QueryOptions;\n    type identityMembersV1MemberAuthentication_universal_d_DeleteOptions = DeleteOptions;\n    const identityMembersV1MemberAuthentication_universal_d_approve: typeof approve;\n    type identityMembersV1MemberAuthentication_universal_d_ApproveOptions = ApproveOptions;\n    const identityMembersV1MemberAuthentication_universal_d_block: typeof block;\n    type identityMembersV1MemberAuthentication_universal_d_BlockOptions = BlockOptions;\n    const identityMembersV1MemberAuthentication_universal_d_register: typeof register;\n    type identityMembersV1MemberAuthentication_universal_d_RegisterOptions = RegisterOptions;\n    type identityMembersV1MemberAuthentication_universal_d_SignupOptions = SignupOptions;\n    const identityMembersV1MemberAuthentication_universal_d_login: typeof login;\n    type identityMembersV1MemberAuthentication_universal_d_LoginOptions = LoginOptions;\n    const identityMembersV1MemberAuthentication_universal_d_sendSetPasswordEmail: typeof sendSetPasswordEmail;\n    type identityMembersV1MemberAuthentication_universal_d_SendSetPasswordEmailOptions = SendSetPasswordEmailOptions;\n    type identityMembersV1MemberAuthentication_universal_d_SocialLoginOptions = SocialLoginOptions;\n    namespace identityMembersV1MemberAuthentication_universal_d {\n        export { Member$1 as Member, identityMembersV1MemberAuthentication_universal_d_Role as Role, identityMembersV1MemberAuthentication_universal_d_SiteMemberPrivacyStatus as SiteMemberPrivacyStatus, identityMembersV1MemberAuthentication_universal_d_SiteMemberStatus as SiteMemberStatus, Address$1 as Address, CustomField$1 as CustomField, identityMembersV1MemberAuthentication_universal_d_CustomFieldValueOneOf as CustomFieldValueOneOf, identityMembersV1MemberAuthentication_universal_d_Group as Group, ListMembersRequest$2 as ListMembersRequest, ListMembersResponse$2 as ListMembersResponse, identityMembersV1MemberAuthentication_universal_d_PaginationResponse as PaginationResponse, identityMembersV1MemberAuthentication_universal_d_SearchRequest as SearchRequest, Paging$2 as Paging, identityMembersV1MemberAuthentication_universal_d_SearchBy as SearchBy, identityMembersV1MemberAuthentication_universal_d_FilterBy as FilterBy, Sorting$2 as Sorting, identityMembersV1MemberAuthentication_universal_d_SearchResponse as SearchResponse, identityMembersV1MemberAuthentication_universal_d_GetCurrentMemberRequest as GetCurrentMemberRequest, GetMemberResponse$1 as GetMemberResponse, GetMemberRequest$1 as GetMemberRequest, identityMembersV1MemberAuthentication_universal_d_GetUserMembershipsRequest as GetUserMembershipsRequest, identityMembersV1MemberAuthentication_universal_d_GetUserMembershipsResponse as GetUserMembershipsResponse, identityMembersV1MemberAuthentication_universal_d_UserMembership as UserMembership, identityMembersV1MemberAuthentication_universal_d_GetMemberRoleRequest as GetMemberRoleRequest, identityMembersV1MemberAuthentication_universal_d_GetMemberRoleResponse as GetMemberRoleResponse, identityMembersV1MemberAuthentication_universal_d_GetMemberRolesRequest as GetMemberRolesRequest, identityMembersV1MemberAuthentication_universal_d_GetMemberRolesResponse as GetMemberRolesResponse, identityMembersV1MemberAuthentication_universal_d_MemberRole as MemberRole, identityMembersV1MemberAuthentication_universal_d_BatchGetMembersRequest as BatchGetMembersRequest, identityMembersV1MemberAuthentication_universal_d_BatchGetMembersResponse as BatchGetMembersResponse, identityMembersV1MemberAuthentication_universal_d_GetAuthorizedPagesRequest as GetAuthorizedPagesRequest, identityMembersV1MemberAuthentication_universal_d_GetAuthorizedPagesResponse as GetAuthorizedPagesResponse, UpdateMemberRequest$1 as UpdateMemberRequest, UpdateMemberResponse$1 as UpdateMemberResponse, identityMembersV1MemberAuthentication_universal_d_ChangeLoginEmailRequest as ChangeLoginEmailRequest, identityMembersV1MemberAuthentication_universal_d_ChangeLoginEmailResponse as ChangeLoginEmailResponse, QueryMembersRequest$1 as QueryMembersRequest, QueryMembersResponse$1 as QueryMembersResponse, DeleteMemberRequest$1 as DeleteMemberRequest, DeleteMemberResponse$1 as DeleteMemberResponse, ApproveMemberRequest$1 as ApproveMemberRequest, identityMembersV1MemberAuthentication_universal_d_ApproveMemberRequestMemberIdentifierOneOf as ApproveMemberRequestMemberIdentifierOneOf, ApproveMemberResponse$1 as ApproveMemberResponse, identityMembersV1MemberAuthentication_universal_d_Session as Session, BlockMemberRequest$1 as BlockMemberRequest, identityMembersV1MemberAuthentication_universal_d_BlockMemberRequestMemberIdentifierOneOf as BlockMemberRequestMemberIdentifierOneOf, identityMembersV1MemberAuthentication_universal_d_Source as Source, BlockMemberResponse$1 as BlockMemberResponse, identityMembersV1MemberAuthentication_universal_d_MakeMemberOfflineRequest as MakeMemberOfflineRequest, identityMembersV1MemberAuthentication_universal_d_MakeMemberOfflineResponse as MakeMemberOfflineResponse, identityMembersV1MemberAuthentication_universal_d_RegisterRequest as RegisterRequest, identityMembersV1MemberAuthentication_universal_d_MemberContactInfo as MemberContactInfo, identityMembersV1MemberAuthentication_universal_d_DialogData as DialogData, identityMembersV1MemberAuthentication_universal_d_EmailVerification as EmailVerification, identityMembersV1MemberAuthentication_universal_d_RegisterResponse as RegisterResponse, identityMembersV1MemberAuthentication_universal_d_EmailVerificationRequired as EmailVerificationRequired, identityMembersV1MemberAuthentication_universal_d_EmailVerificationFailed as EmailVerificationFailed, identityMembersV1MemberAuthentication_universal_d_VerificationFailureReason as VerificationFailureReason, identityMembersV1MemberAuthentication_universal_d_LoginRequest as LoginRequest, identityMembersV1MemberAuthentication_universal_d_LoginResponse as LoginResponse, identityMembersV1MemberAuthentication_universal_d_GetResetPasswordLinkRequest as GetResetPasswordLinkRequest, identityMembersV1MemberAuthentication_universal_d_GetResetPasswordLinkResponse as GetResetPasswordLinkResponse, identityMembersV1MemberAuthentication_universal_d_SendSetPasswordEmailRequest as SendSetPasswordEmailRequest, identityMembersV1MemberAuthentication_universal_d_SendSetPasswordEmailResponse as SendSetPasswordEmailResponse, identityMembersV1MemberAuthentication_universal_d_ResetPasswordRequest as ResetPasswordRequest, identityMembersV1MemberAuthentication_universal_d_ResetPasswordResponse as ResetPasswordResponse, identityMembersV1MemberAuthentication_universal_d_SocialLoginRequest as SocialLoginRequest, identityMembersV1MemberAuthentication_universal_d_SocialLoginRequestLoginOneOf as SocialLoginRequestLoginOneOf, identityMembersV1MemberAuthentication_universal_d_AppleLogin as AppleLogin, identityMembersV1MemberAuthentication_universal_d_GoogleLogin as GoogleLogin, identityMembersV1MemberAuthentication_universal_d_FacebookLogin as FacebookLogin, identityMembersV1MemberAuthentication_universal_d_ListOptions as ListOptions, identityMembersV1MemberAuthentication_universal_d_SearchOptions as SearchOptions, identityMembersV1MemberAuthentication_universal_d_GetOptions as GetOptions, identityMembersV1MemberAuthentication_universal_d_GetUserMembershipsOptions as GetUserMembershipsOptions, identityMembersV1MemberAuthentication_universal_d_GetRolesOptions as GetRolesOptions, identityMembersV1MemberAuthentication_universal_d_BatchGetOptions as BatchGetOptions, identityMembersV1MemberAuthentication_universal_d_GetAuthorizedPagesOptions as GetAuthorizedPagesOptions, identityMembersV1MemberAuthentication_universal_d_UpdateOptions as UpdateOptions, identityMembersV1MemberAuthentication_universal_d_changeLoginEmail as changeLoginEmail, identityMembersV1MemberAuthentication_universal_d_ChangeLoginEmailOptions as ChangeLoginEmailOptions, identityMembersV1MemberAuthentication_universal_d_QueryOptions as QueryOptions, identityMembersV1MemberAuthentication_universal_d_DeleteOptions as DeleteOptions, identityMembersV1MemberAuthentication_universal_d_approve as approve, identityMembersV1MemberAuthentication_universal_d_ApproveOptions as ApproveOptions, identityMembersV1MemberAuthentication_universal_d_block as block, identityMembersV1MemberAuthentication_universal_d_BlockOptions as BlockOptions, identityMembersV1MemberAuthentication_universal_d_register as register, identityMembersV1MemberAuthentication_universal_d_RegisterOptions as RegisterOptions, identityMembersV1MemberAuthentication_universal_d_SignupOptions as SignupOptions, identityMembersV1MemberAuthentication_universal_d_login as login, identityMembersV1MemberAuthentication_universal_d_LoginOptions as LoginOptions, identityMembersV1MemberAuthentication_universal_d_sendSetPasswordEmail as sendSetPasswordEmail, identityMembersV1MemberAuthentication_universal_d_SendSetPasswordEmailOptions as SendSetPasswordEmailOptions, identityMembersV1MemberAuthentication_universal_d_SocialLoginOptions as SocialLoginOptions, };\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    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        /** 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         * 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$1 {\n        paging?: Paging$1;\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$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    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 ListMembersResponse$1 {\n        /** List of members. */\n        members?: Member[];\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    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 QueryMembersRequest {\n        /** Query options. */\n        query?: Query;\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 {\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$1;\n        /** Sort the results */\n        sorting?: Sorting$1[];\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$1;\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    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 {\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        /** 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    interface EntityDeletedEvent$1 {\n        /** Entity that was deleted */\n        deletedEntityAsJson?: string | null;\n    }\n    interface ActionEvent$1 {\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         * Shared Blog Site is a unique single site across Enterprise account,\n         * This site will hold all Blog posts related to the Marketing product.\n         */\n        SHARED_BLOG_ENTERPRISE = \"SHARED_BLOG_ENTERPRISE\"\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$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     * 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     * @requiredField slug\n     * @permissionId MEMBERS.MEMBER_UPDATE\n     * @permissionScope Manage Members\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-MEMBERS\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @fqn com.wixpress.members.api.Members.UpdateMySlug\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     * @requiredField _id\n     * @requiredField slug\n     * @permissionId MEMBERS.MEMBER_UPDATE\n     * @permissionScope Manage Members\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-MEMBERS\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @fqn com.wixpress.members.api.Members.UpdateMemberSlug\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     * @applicableIdentity MEMBER\n     * @returns Member profile.\n     * @fqn com.wixpress.members.api.Members.JoinCommunity\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     * @applicableIdentity MEMBER\n     * @returns Member profile.\n     * @fqn com.wixpress.members.api.Members.LeaveCommunity\n     */\n    function leaveCommunity(): Promise<LeaveCommunityResponse>;\n    /**\n     * Retrieves the currently logged-in member.\n     * @public\n     * @permissionId MEMBERS.MEMBER_READ\n     * @permissionScope Manage Members\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-MEMBERS\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Read Members and Contacts - all read permissions\n     * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.READ-MEMBERS-CONTACTS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Read Members\n     * @permissionScopeId SCOPE.DC-MEMBERS.READ-MEMBERS\n     * @permissionScope Manage Members and Contacts - all permissions\n     * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @returns Member profile.\n     * @fqn com.wixpress.members.api.Members.GetMyMember\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     * @permissionScope Manage Members\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-MEMBERS\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Read Members and Contacts - all read permissions\n     * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.READ-MEMBERS-CONTACTS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Read Members\n     * @permissionScopeId SCOPE.DC-MEMBERS.READ-MEMBERS\n     * @permissionScope Manage Members and Contacts - all permissions\n     * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @returns The requested member.\n     * @fqn com.wixpress.members.api.Members.GetMember\n     */\n    function getMember(_id: string, options?: GetMemberOptions): Promise<Member>;\n    interface GetMemberOptions {\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     * @param options - Options for paging, sorting, and specifying fields to return.\n     * @permissionId MEMBERS.MEMBER_READ\n     * @permissionScope Manage Members\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-MEMBERS\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Read Members and Contacts - all read permissions\n     * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.READ-MEMBERS-CONTACTS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Read Members\n     * @permissionScopeId SCOPE.DC-MEMBERS.READ-MEMBERS\n     * @permissionScope Manage Members and Contacts - all permissions\n     * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @fqn com.wixpress.members.api.Members.ListMembers\n     */\n    function listMembers(options?: ListMembersOptions): Promise<ListMembersResponse$1>;\n    interface ListMembersOptions {\n        /** Paging options. */\n        paging?: Paging$1;\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$1[];\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     * @param options - Query options.\n     * @permissionScope Manage Members\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-MEMBERS\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Read Members and Contacts - all read permissions\n     * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.READ-MEMBERS-CONTACTS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Read Members\n     * @permissionScopeId SCOPE.DC-MEMBERS.READ-MEMBERS\n     * @permissionScope Manage Members and Contacts - all permissions\n     * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS\n     * @permissionId MEMBERS.MEMBER_READ\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @fqn com.wixpress.members.api.Members.QueryMembers\n     */\n    function queryMembers(options?: QueryMembersOptions): MembersQueryBuilder;\n    interface QueryMembersOptions {\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         */\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         */\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         */\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         */\n        hasSome: (propertyName: \"_id\" | \"loginEmail\" | \"contactId\" | \"contact.firstName\" | \"contact.lastName\" | \"profile.nickname\" | \"profile.slug\" | \"privacyStatus\", value: any[]) => MembersQueryBuilder;\n        in: (propertyName: \"_id\" | \"loginEmail\" | \"contactId\" | \"contact.firstName\" | \"contact.lastName\" | \"profile.nickname\" | \"profile.slug\" | \"privacyStatus\", value: any) => MembersQueryBuilder;\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        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     * 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     * @requiredField _id\n     * @permissionId MEMBERS.MEMBER_MUTE\n     * @adminMethod\n     * @fqn com.wixpress.members.api.Members.MuteMember\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     * @requiredField _id\n     * @permissionId MEMBERS.MEMBER_MUTE\n     * @adminMethod\n     * @fqn com.wixpress.members.api.Members.UnmuteMember\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     * @requiredField _id\n     * @permissionId MEMBERS.MEMBER_APPROVE\n     * @permissionScope Manage Members\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-MEMBERS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.members.api.Members.ApproveMember\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     * @requiredField _id\n     * @permissionId MEMBERS.MEMBER_BLOCK\n     * @permissionScope Manage Members\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-MEMBERS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.members.api.Members.BlockMember\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     * @requiredField _id\n     * @permissionId MEMBERS.MEMBER_DISCONNECT\n     * @permissionScope Manage Members\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-MEMBERS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.members.api.Members.DisconnectMember\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     * @permissionScope Manage Members\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-MEMBERS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.members.api.Members.DeleteMember\n     */\n    function deleteMember(_id: string, options?: DeleteMemberOptions): Promise<void>;\n    interface DeleteMemberOptions {\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     * @permissionId MEMBERS.MEMBER_DELETE\n     * @permissionScope Manage Members\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-MEMBERS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.members.api.Members.DeleteMyMember\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     * @requiredField memberIds\n     * @permissionId MEMBERS.MEMBER_DELETE\n     * @permissionScope Manage Members\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-MEMBERS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.members.api.Members.BulkDeleteMembers\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     * @requiredField filter\n     * @permissionId MEMBERS.MEMBER_DELETE\n     * @permissionScope Manage Members\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-MEMBERS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.members.api.Members.BulkDeleteMembersByFilter\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 pending 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     * @requiredField filter\n     * @permissionId MEMBERS.MEMBER_APPROVE\n     * @permissionScope Manage Members\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-MEMBERS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.members.api.Members.BulkApproveMembers\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     * @requiredField filter\n     * @permissionId MEMBERS.MEMBER_BLOCK\n     * @permissionScope Manage Members\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-MEMBERS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.members.api.Members.BulkBlockMembers\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     * @permissionId MEMBERS.MEMBER_CREATE\n     * @permissionScope Manage Members\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-MEMBERS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns New member.\n     * @fqn com.wixpress.members.api.Members.CreateMember\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     * @permissionScope Manage Members\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-MEMBERS\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @returns Updated member.\n     * @fqn com.wixpress.members.api.Members.UpdateMember\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    /**\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     * @permissionScope Manage Members\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-MEMBERS\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @fqn com.wixpress.members.api.Members.DeleteMemberPhones\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     * @permissionScope Manage Members\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-MEMBERS\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @fqn com.wixpress.members.api.Members.DeleteMemberEmails\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     * @permissionScope Manage Members\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-MEMBERS\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @fqn com.wixpress.members.api.Members.DeleteMemberAddresses\n     */\n    function deleteMemberAddresses(_id: string): Promise<DeleteMemberAddressesResponse>;\n    type membersV1MemberMembers_universal_d_Member = Member;\n    type membersV1MemberMembers_universal_d_Status = Status;\n    const membersV1MemberMembers_universal_d_Status: typeof Status;\n    type membersV1MemberMembers_universal_d_Contact = Contact;\n    type membersV1MemberMembers_universal_d_Address = Address;\n    type membersV1MemberMembers_universal_d_AddressStreetOneOf = AddressStreetOneOf;\n    type membersV1MemberMembers_universal_d_StreetAddress = StreetAddress;\n    type membersV1MemberMembers_universal_d_CustomField = CustomField;\n    type membersV1MemberMembers_universal_d_Profile = Profile;\n    type membersV1MemberMembers_universal_d_Image = Image;\n    type membersV1MemberMembers_universal_d_PrivacyStatusStatus = PrivacyStatusStatus;\n    const membersV1MemberMembers_universal_d_PrivacyStatusStatus: typeof PrivacyStatusStatus;\n    type membersV1MemberMembers_universal_d_ActivityStatusStatus = ActivityStatusStatus;\n    const membersV1MemberMembers_universal_d_ActivityStatusStatus: typeof ActivityStatusStatus;\n    type membersV1MemberMembers_universal_d_ExtendedFields = ExtendedFields;\n    type membersV1MemberMembers_universal_d_InvalidateCache = InvalidateCache;\n    type membersV1MemberMembers_universal_d_InvalidateCacheGetByOneOf = InvalidateCacheGetByOneOf;\n    type membersV1MemberMembers_universal_d_App = App;\n    type membersV1MemberMembers_universal_d_Page = Page;\n    type membersV1MemberMembers_universal_d_URI = URI;\n    type membersV1MemberMembers_universal_d_File = File;\n    type membersV1MemberMembers_universal_d_UpdateMySlugRequest = UpdateMySlugRequest;\n    type membersV1MemberMembers_universal_d_UpdateMySlugResponse = UpdateMySlugResponse;\n    type membersV1MemberMembers_universal_d_SlugAlreadyExistsPayload = SlugAlreadyExistsPayload;\n    type membersV1MemberMembers_universal_d_UpdateMemberSlugRequest = UpdateMemberSlugRequest;\n    type membersV1MemberMembers_universal_d_UpdateMemberSlugResponse = UpdateMemberSlugResponse;\n    type membersV1MemberMembers_universal_d_JoinCommunityRequest = JoinCommunityRequest;\n    type membersV1MemberMembers_universal_d_JoinCommunityResponse = JoinCommunityResponse;\n    type membersV1MemberMembers_universal_d_MemberJoinedCommunity = MemberJoinedCommunity;\n    type membersV1MemberMembers_universal_d_LeaveCommunityRequest = LeaveCommunityRequest;\n    type membersV1MemberMembers_universal_d_LeaveCommunityResponse = LeaveCommunityResponse;\n    type membersV1MemberMembers_universal_d_MemberLeftCommunity = MemberLeftCommunity;\n    type membersV1MemberMembers_universal_d_GetMyMemberRequest = GetMyMemberRequest;\n    type membersV1MemberMembers_universal_d_Set = Set;\n    const membersV1MemberMembers_universal_d_Set: typeof Set;\n    type membersV1MemberMembers_universal_d_GetMyMemberResponse = GetMyMemberResponse;\n    type membersV1MemberMembers_universal_d_GetMemberRequest = GetMemberRequest;\n    type membersV1MemberMembers_universal_d_GetMemberResponse = GetMemberResponse;\n    type membersV1MemberMembers_universal_d_MemberToMemberBlockedPayload = MemberToMemberBlockedPayload;\n    type membersV1MemberMembers_universal_d_QueryMembersRequest = QueryMembersRequest;\n    type membersV1MemberMembers_universal_d_Query = Query;\n    type membersV1MemberMembers_universal_d_Search = Search;\n    type membersV1MemberMembers_universal_d_QueryMembersResponse = QueryMembersResponse;\n    type membersV1MemberMembers_universal_d_MuteMemberRequest = MuteMemberRequest;\n    type membersV1MemberMembers_universal_d_MuteMemberResponse = MuteMemberResponse;\n    type membersV1MemberMembers_universal_d_MemberMuted = MemberMuted;\n    type membersV1MemberMembers_universal_d_UnmuteMemberRequest = UnmuteMemberRequest;\n    type membersV1MemberMembers_universal_d_UnmuteMemberResponse = UnmuteMemberResponse;\n    type membersV1MemberMembers_universal_d_MemberUnmuted = MemberUnmuted;\n    type membersV1MemberMembers_universal_d_ApproveMemberRequest = ApproveMemberRequest;\n    type membersV1MemberMembers_universal_d_ApproveMemberResponse = ApproveMemberResponse;\n    type membersV1MemberMembers_universal_d_MemberApproved = MemberApproved;\n    type membersV1MemberMembers_universal_d_BlockMemberRequest = BlockMemberRequest;\n    type membersV1MemberMembers_universal_d_BlockMemberResponse = BlockMemberResponse;\n    type membersV1MemberMembers_universal_d_MemberBlocked = MemberBlocked;\n    type membersV1MemberMembers_universal_d_MemberSelfBlockForbiddenPayload = MemberSelfBlockForbiddenPayload;\n    type membersV1MemberMembers_universal_d_OwnerMemberBlockForbiddenPayload = OwnerMemberBlockForbiddenPayload;\n    type membersV1MemberMembers_universal_d_ActiveSubscriptionMemberBlockForbiddenPayload = ActiveSubscriptionMemberBlockForbiddenPayload;\n    type membersV1MemberMembers_universal_d_DisconnectMemberRequest = DisconnectMemberRequest;\n    type membersV1MemberMembers_universal_d_DisconnectMemberResponse = DisconnectMemberResponse;\n    type membersV1MemberMembers_universal_d_DeleteMemberRequest = DeleteMemberRequest;\n    type membersV1MemberMembers_universal_d_DeleteMemberResponse = DeleteMemberResponse;\n    type membersV1MemberMembers_universal_d_ContentReassignmentRequested = ContentReassignmentRequested;\n    type membersV1MemberMembers_universal_d_ContentDeletionRequested = ContentDeletionRequested;\n    type membersV1MemberMembers_universal_d_OwnerOrContributorDeleteForbiddenPayload = OwnerOrContributorDeleteForbiddenPayload;\n    type membersV1MemberMembers_universal_d_ActiveSubscriptionMemberDeleteForbiddenPayload = ActiveSubscriptionMemberDeleteForbiddenPayload;\n    type membersV1MemberMembers_universal_d_DeleteMyMemberRequest = DeleteMyMemberRequest;\n    type membersV1MemberMembers_universal_d_DeleteMyMemberResponse = DeleteMyMemberResponse;\n    type membersV1MemberMembers_universal_d_BulkDeleteMembersRequest = BulkDeleteMembersRequest;\n    type membersV1MemberMembers_universal_d_BulkDeleteMembersResponse = BulkDeleteMembersResponse;\n    type membersV1MemberMembers_universal_d_ItemMetadata = ItemMetadata;\n    type membersV1MemberMembers_universal_d_ApplicationError = ApplicationError;\n    type membersV1MemberMembers_universal_d_BulkMemberResult = BulkMemberResult;\n    type membersV1MemberMembers_universal_d_BulkActionMetadata = BulkActionMetadata;\n    type membersV1MemberMembers_universal_d_BulkDeleteMembersByFilterRequest = BulkDeleteMembersByFilterRequest;\n    type membersV1MemberMembers_universal_d_BulkDeleteMembersByFilterResponse = BulkDeleteMembersByFilterResponse;\n    type membersV1MemberMembers_universal_d_BulkApproveMembersRequest = BulkApproveMembersRequest;\n    type membersV1MemberMembers_universal_d_BulkApproveMembersResponse = BulkApproveMembersResponse;\n    type membersV1MemberMembers_universal_d_BulkBlockMembersRequest = BulkBlockMembersRequest;\n    type membersV1MemberMembers_universal_d_BulkBlockMembersResponse = BulkBlockMembersResponse;\n    type membersV1MemberMembers_universal_d_CreateMemberRequest = CreateMemberRequest;\n    type membersV1MemberMembers_universal_d_CreateMemberResponse = CreateMemberResponse;\n    type membersV1MemberMembers_universal_d_UpdateMemberRequest = UpdateMemberRequest;\n    type membersV1MemberMembers_universal_d_UpdateMemberResponse = UpdateMemberResponse;\n    type membersV1MemberMembers_universal_d_InvalidCustomFieldUrlPayload = InvalidCustomFieldUrlPayload;\n    type membersV1MemberMembers_universal_d_DeleteMemberPhonesRequest = DeleteMemberPhonesRequest;\n    type membersV1MemberMembers_universal_d_DeleteMemberPhonesResponse = DeleteMemberPhonesResponse;\n    type membersV1MemberMembers_universal_d_DeleteMemberEmailsRequest = DeleteMemberEmailsRequest;\n    type membersV1MemberMembers_universal_d_DeleteMemberEmailsResponse = DeleteMemberEmailsResponse;\n    type membersV1MemberMembers_universal_d_DeleteMemberAddressesRequest = DeleteMemberAddressesRequest;\n    type membersV1MemberMembers_universal_d_DeleteMemberAddressesResponse = DeleteMemberAddressesResponse;\n    type membersV1MemberMembers_universal_d_Empty = Empty;\n    type membersV1MemberMembers_universal_d_MetaSiteSpecialEvent = MetaSiteSpecialEvent;\n    type membersV1MemberMembers_universal_d_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;\n    type membersV1MemberMembers_universal_d_Asset = Asset;\n    type membersV1MemberMembers_universal_d_State = State;\n    const membersV1MemberMembers_universal_d_State: typeof State;\n    type membersV1MemberMembers_universal_d_SiteCreated = SiteCreated;\n    type membersV1MemberMembers_universal_d_SiteCreatedContext = SiteCreatedContext;\n    const membersV1MemberMembers_universal_d_SiteCreatedContext: typeof SiteCreatedContext;\n    type membersV1MemberMembers_universal_d_Namespace = Namespace;\n    const membersV1MemberMembers_universal_d_Namespace: typeof Namespace;\n    type membersV1MemberMembers_universal_d_SiteTransferred = SiteTransferred;\n    type membersV1MemberMembers_universal_d_SiteDeleted = SiteDeleted;\n    type membersV1MemberMembers_universal_d_DeleteContext = DeleteContext;\n    type membersV1MemberMembers_universal_d_DeleteStatus = DeleteStatus;\n    const membersV1MemberMembers_universal_d_DeleteStatus: typeof DeleteStatus;\n    type membersV1MemberMembers_universal_d_SiteUndeleted = SiteUndeleted;\n    type membersV1MemberMembers_universal_d_SitePublished = SitePublished;\n    type membersV1MemberMembers_universal_d_SiteUnpublished = SiteUnpublished;\n    type membersV1MemberMembers_universal_d_SiteMarkedAsTemplate = SiteMarkedAsTemplate;\n    type membersV1MemberMembers_universal_d_SiteMarkedAsWixSite = SiteMarkedAsWixSite;\n    type membersV1MemberMembers_universal_d_ServiceProvisioned = ServiceProvisioned;\n    type membersV1MemberMembers_universal_d_ServiceRemoved = ServiceRemoved;\n    type membersV1MemberMembers_universal_d_SiteRenamed = SiteRenamed;\n    type membersV1MemberMembers_universal_d_SiteHardDeleted = SiteHardDeleted;\n    type membersV1MemberMembers_universal_d_NamespaceChanged = NamespaceChanged;\n    type membersV1MemberMembers_universal_d_StudioAssigned = StudioAssigned;\n    type membersV1MemberMembers_universal_d_StudioUnassigned = StudioUnassigned;\n    type membersV1MemberMembers_universal_d_MemberOwnershipTransferred = MemberOwnershipTransferred;\n    type membersV1MemberMembers_universal_d_MemberIdChanged = MemberIdChanged;\n    const membersV1MemberMembers_universal_d_updateCurrentMemberSlug: typeof updateCurrentMemberSlug;\n    const membersV1MemberMembers_universal_d_updateMemberSlug: typeof updateMemberSlug;\n    const membersV1MemberMembers_universal_d_joinCommunity: typeof joinCommunity;\n    const membersV1MemberMembers_universal_d_leaveCommunity: typeof leaveCommunity;\n    const membersV1MemberMembers_universal_d_getCurrentMember: typeof getCurrentMember;\n    type membersV1MemberMembers_universal_d_GetCurrentMemberOptions = GetCurrentMemberOptions;\n    const membersV1MemberMembers_universal_d_getMember: typeof getMember;\n    type membersV1MemberMembers_universal_d_GetMemberOptions = GetMemberOptions;\n    const membersV1MemberMembers_universal_d_listMembers: typeof listMembers;\n    type membersV1MemberMembers_universal_d_ListMembersOptions = ListMembersOptions;\n    const membersV1MemberMembers_universal_d_queryMembers: typeof queryMembers;\n    type membersV1MemberMembers_universal_d_QueryMembersOptions = QueryMembersOptions;\n    type membersV1MemberMembers_universal_d_MembersQueryResult = MembersQueryResult;\n    type membersV1MemberMembers_universal_d_MembersQueryBuilder = MembersQueryBuilder;\n    const membersV1MemberMembers_universal_d_muteMember: typeof muteMember;\n    const membersV1MemberMembers_universal_d_unmuteMember: typeof unmuteMember;\n    const membersV1MemberMembers_universal_d_approveMember: typeof approveMember;\n    const membersV1MemberMembers_universal_d_blockMember: typeof blockMember;\n    const membersV1MemberMembers_universal_d_disconnectMember: typeof disconnectMember;\n    const membersV1MemberMembers_universal_d_deleteMember: typeof deleteMember;\n    type membersV1MemberMembers_universal_d_DeleteMemberOptions = DeleteMemberOptions;\n    const membersV1MemberMembers_universal_d_deleteMyMember: typeof deleteMyMember;\n    type membersV1MemberMembers_universal_d_DeleteMyMemberOptions = DeleteMyMemberOptions;\n    const membersV1MemberMembers_universal_d_bulkDeleteMembers: typeof bulkDeleteMembers;\n    const membersV1MemberMembers_universal_d_bulkDeleteMembersByFilter: typeof bulkDeleteMembersByFilter;\n    type membersV1MemberMembers_universal_d_BulkDeleteMembersByFilterOptions = BulkDeleteMembersByFilterOptions;\n    const membersV1MemberMembers_universal_d_bulkApproveMembers: typeof bulkApproveMembers;\n    const membersV1MemberMembers_universal_d_bulkBlockMembers: typeof bulkBlockMembers;\n    const membersV1MemberMembers_universal_d_createMember: typeof createMember;\n    type membersV1MemberMembers_universal_d_CreateMemberOptions = CreateMemberOptions;\n    const membersV1MemberMembers_universal_d_updateMember: typeof updateMember;\n    type membersV1MemberMembers_universal_d_UpdateMember = UpdateMember;\n    const membersV1MemberMembers_universal_d_deleteMemberPhones: typeof deleteMemberPhones;\n    const membersV1MemberMembers_universal_d_deleteMemberEmails: typeof deleteMemberEmails;\n    const membersV1MemberMembers_universal_d_deleteMemberAddresses: typeof deleteMemberAddresses;\n    namespace membersV1MemberMembers_universal_d {\n        export { membersV1MemberMembers_universal_d_Member as Member, membersV1MemberMembers_universal_d_Status as Status, membersV1MemberMembers_universal_d_Contact as Contact, membersV1MemberMembers_universal_d_Address as Address, membersV1MemberMembers_universal_d_AddressStreetOneOf as AddressStreetOneOf, membersV1MemberMembers_universal_d_StreetAddress as StreetAddress, membersV1MemberMembers_universal_d_CustomField as CustomField, membersV1MemberMembers_universal_d_Profile as Profile, membersV1MemberMembers_universal_d_Image as Image, membersV1MemberMembers_universal_d_PrivacyStatusStatus as PrivacyStatusStatus, membersV1MemberMembers_universal_d_ActivityStatusStatus as ActivityStatusStatus, membersV1MemberMembers_universal_d_ExtendedFields as ExtendedFields, membersV1MemberMembers_universal_d_InvalidateCache as InvalidateCache, membersV1MemberMembers_universal_d_InvalidateCacheGetByOneOf as InvalidateCacheGetByOneOf, membersV1MemberMembers_universal_d_App as App, membersV1MemberMembers_universal_d_Page as Page, membersV1MemberMembers_universal_d_URI as URI, membersV1MemberMembers_universal_d_File as File, membersV1MemberMembers_universal_d_UpdateMySlugRequest as UpdateMySlugRequest, membersV1MemberMembers_universal_d_UpdateMySlugResponse as UpdateMySlugResponse, membersV1MemberMembers_universal_d_SlugAlreadyExistsPayload as SlugAlreadyExistsPayload, membersV1MemberMembers_universal_d_UpdateMemberSlugRequest as UpdateMemberSlugRequest, membersV1MemberMembers_universal_d_UpdateMemberSlugResponse as UpdateMemberSlugResponse, membersV1MemberMembers_universal_d_JoinCommunityRequest as JoinCommunityRequest, membersV1MemberMembers_universal_d_JoinCommunityResponse as JoinCommunityResponse, membersV1MemberMembers_universal_d_MemberJoinedCommunity as MemberJoinedCommunity, membersV1MemberMembers_universal_d_LeaveCommunityRequest as LeaveCommunityRequest, membersV1MemberMembers_universal_d_LeaveCommunityResponse as LeaveCommunityResponse, membersV1MemberMembers_universal_d_MemberLeftCommunity as MemberLeftCommunity, membersV1MemberMembers_universal_d_GetMyMemberRequest as GetMyMemberRequest, membersV1MemberMembers_universal_d_Set as Set, membersV1MemberMembers_universal_d_GetMyMemberResponse as GetMyMemberResponse, membersV1MemberMembers_universal_d_GetMemberRequest as GetMemberRequest, membersV1MemberMembers_universal_d_GetMemberResponse as GetMemberResponse, membersV1MemberMembers_universal_d_MemberToMemberBlockedPayload as MemberToMemberBlockedPayload, ListMembersRequest$1 as ListMembersRequest, Paging$1 as Paging, Sorting$1 as Sorting, SortOrder$1 as SortOrder, CursorPaging$1 as CursorPaging, ListMembersResponse$1 as ListMembersResponse, PagingMetadata$1 as PagingMetadata, CursorPagingMetadata$1 as CursorPagingMetadata, Cursors$1 as Cursors, membersV1MemberMembers_universal_d_QueryMembersRequest as QueryMembersRequest, membersV1MemberMembers_universal_d_Query as Query, membersV1MemberMembers_universal_d_Search as Search, membersV1MemberMembers_universal_d_QueryMembersResponse as QueryMembersResponse, membersV1MemberMembers_universal_d_MuteMemberRequest as MuteMemberRequest, membersV1MemberMembers_universal_d_MuteMemberResponse as MuteMemberResponse, membersV1MemberMembers_universal_d_MemberMuted as MemberMuted, membersV1MemberMembers_universal_d_UnmuteMemberRequest as UnmuteMemberRequest, membersV1MemberMembers_universal_d_UnmuteMemberResponse as UnmuteMemberResponse, membersV1MemberMembers_universal_d_MemberUnmuted as MemberUnmuted, membersV1MemberMembers_universal_d_ApproveMemberRequest as ApproveMemberRequest, membersV1MemberMembers_universal_d_ApproveMemberResponse as ApproveMemberResponse, membersV1MemberMembers_universal_d_MemberApproved as MemberApproved, membersV1MemberMembers_universal_d_BlockMemberRequest as BlockMemberRequest, membersV1MemberMembers_universal_d_BlockMemberResponse as BlockMemberResponse, membersV1MemberMembers_universal_d_MemberBlocked as MemberBlocked, membersV1MemberMembers_universal_d_MemberSelfBlockForbiddenPayload as MemberSelfBlockForbiddenPayload, membersV1MemberMembers_universal_d_OwnerMemberBlockForbiddenPayload as OwnerMemberBlockForbiddenPayload, membersV1MemberMembers_universal_d_ActiveSubscriptionMemberBlockForbiddenPayload as ActiveSubscriptionMemberBlockForbiddenPayload, membersV1MemberMembers_universal_d_DisconnectMemberRequest as DisconnectMemberRequest, membersV1MemberMembers_universal_d_DisconnectMemberResponse as DisconnectMemberResponse, membersV1MemberMembers_universal_d_DeleteMemberRequest as DeleteMemberRequest, membersV1MemberMembers_universal_d_DeleteMemberResponse as DeleteMemberResponse, membersV1MemberMembers_universal_d_ContentReassignmentRequested as ContentReassignmentRequested, membersV1MemberMembers_universal_d_ContentDeletionRequested as ContentDeletionRequested, membersV1MemberMembers_universal_d_OwnerOrContributorDeleteForbiddenPayload as OwnerOrContributorDeleteForbiddenPayload, membersV1MemberMembers_universal_d_ActiveSubscriptionMemberDeleteForbiddenPayload as ActiveSubscriptionMemberDeleteForbiddenPayload, membersV1MemberMembers_universal_d_DeleteMyMemberRequest as DeleteMyMemberRequest, membersV1MemberMembers_universal_d_DeleteMyMemberResponse as DeleteMyMemberResponse, membersV1MemberMembers_universal_d_BulkDeleteMembersRequest as BulkDeleteMembersRequest, membersV1MemberMembers_universal_d_BulkDeleteMembersResponse as BulkDeleteMembersResponse, membersV1MemberMembers_universal_d_ItemMetadata as ItemMetadata, membersV1MemberMembers_universal_d_ApplicationError as ApplicationError, membersV1MemberMembers_universal_d_BulkMemberResult as BulkMemberResult, membersV1MemberMembers_universal_d_BulkActionMetadata as BulkActionMetadata, membersV1MemberMembers_universal_d_BulkDeleteMembersByFilterRequest as BulkDeleteMembersByFilterRequest, membersV1MemberMembers_universal_d_BulkDeleteMembersByFilterResponse as BulkDeleteMembersByFilterResponse, membersV1MemberMembers_universal_d_BulkApproveMembersRequest as BulkApproveMembersRequest, membersV1MemberMembers_universal_d_BulkApproveMembersResponse as BulkApproveMembersResponse, membersV1MemberMembers_universal_d_BulkBlockMembersRequest as BulkBlockMembersRequest, membersV1MemberMembers_universal_d_BulkBlockMembersResponse as BulkBlockMembersResponse, membersV1MemberMembers_universal_d_CreateMemberRequest as CreateMemberRequest, membersV1MemberMembers_universal_d_CreateMemberResponse as CreateMemberResponse, membersV1MemberMembers_universal_d_UpdateMemberRequest as UpdateMemberRequest, membersV1MemberMembers_universal_d_UpdateMemberResponse as UpdateMemberResponse, membersV1MemberMembers_universal_d_InvalidCustomFieldUrlPayload as InvalidCustomFieldUrlPayload, membersV1MemberMembers_universal_d_DeleteMemberPhonesRequest as DeleteMemberPhonesRequest, membersV1MemberMembers_universal_d_DeleteMemberPhonesResponse as DeleteMemberPhonesResponse, membersV1MemberMembers_universal_d_DeleteMemberEmailsRequest as DeleteMemberEmailsRequest, membersV1MemberMembers_universal_d_DeleteMemberEmailsResponse as DeleteMemberEmailsResponse, membersV1MemberMembers_universal_d_DeleteMemberAddressesRequest as DeleteMemberAddressesRequest, membersV1MemberMembers_universal_d_DeleteMemberAddressesResponse as DeleteMemberAddressesResponse, membersV1MemberMembers_universal_d_Empty as Empty, DomainEvent$1 as DomainEvent, DomainEventBodyOneOf$1 as DomainEventBodyOneOf, EntityCreatedEvent$1 as EntityCreatedEvent, RestoreInfo$1 as RestoreInfo, EntityUpdatedEvent$1 as EntityUpdatedEvent, EntityDeletedEvent$1 as EntityDeletedEvent, ActionEvent$1 as ActionEvent, membersV1MemberMembers_universal_d_MetaSiteSpecialEvent as MetaSiteSpecialEvent, membersV1MemberMembers_universal_d_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf, membersV1MemberMembers_universal_d_Asset as Asset, membersV1MemberMembers_universal_d_State as State, membersV1MemberMembers_universal_d_SiteCreated as SiteCreated, membersV1MemberMembers_universal_d_SiteCreatedContext as SiteCreatedContext, membersV1MemberMembers_universal_d_Namespace as Namespace, membersV1MemberMembers_universal_d_SiteTransferred as SiteTransferred, membersV1MemberMembers_universal_d_SiteDeleted as SiteDeleted, membersV1MemberMembers_universal_d_DeleteContext as DeleteContext, membersV1MemberMembers_universal_d_DeleteStatus as DeleteStatus, membersV1MemberMembers_universal_d_SiteUndeleted as SiteUndeleted, membersV1MemberMembers_universal_d_SitePublished as SitePublished, membersV1MemberMembers_universal_d_SiteUnpublished as SiteUnpublished, membersV1MemberMembers_universal_d_SiteMarkedAsTemplate as SiteMarkedAsTemplate, membersV1MemberMembers_universal_d_SiteMarkedAsWixSite as SiteMarkedAsWixSite, membersV1MemberMembers_universal_d_ServiceProvisioned as ServiceProvisioned, membersV1MemberMembers_universal_d_ServiceRemoved as ServiceRemoved, membersV1MemberMembers_universal_d_SiteRenamed as SiteRenamed, membersV1MemberMembers_universal_d_SiteHardDeleted as SiteHardDeleted, membersV1MemberMembers_universal_d_NamespaceChanged as NamespaceChanged, membersV1MemberMembers_universal_d_StudioAssigned as StudioAssigned, membersV1MemberMembers_universal_d_StudioUnassigned as StudioUnassigned, membersV1MemberMembers_universal_d_MemberOwnershipTransferred as MemberOwnershipTransferred, membersV1MemberMembers_universal_d_MemberIdChanged as MemberIdChanged, MessageEnvelope$1 as MessageEnvelope, IdentificationData$1 as IdentificationData, IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf, WebhookIdentityType$1 as WebhookIdentityType, membersV1MemberMembers_universal_d_updateCurrentMemberSlug as updateCurrentMemberSlug, membersV1MemberMembers_universal_d_updateMemberSlug as updateMemberSlug, membersV1MemberMembers_universal_d_joinCommunity as joinCommunity, membersV1MemberMembers_universal_d_leaveCommunity as leaveCommunity, membersV1MemberMembers_universal_d_getCurrentMember as getCurrentMember, membersV1MemberMembers_universal_d_GetCurrentMemberOptions as GetCurrentMemberOptions, membersV1MemberMembers_universal_d_getMember as getMember, membersV1MemberMembers_universal_d_GetMemberOptions as GetMemberOptions, membersV1MemberMembers_universal_d_listMembers as listMembers, membersV1MemberMembers_universal_d_ListMembersOptions as ListMembersOptions, membersV1MemberMembers_universal_d_queryMembers as queryMembers, membersV1MemberMembers_universal_d_QueryMembersOptions as QueryMembersOptions, membersV1MemberMembers_universal_d_MembersQueryResult as MembersQueryResult, membersV1MemberMembers_universal_d_MembersQueryBuilder as MembersQueryBuilder, membersV1MemberMembers_universal_d_muteMember as muteMember, membersV1MemberMembers_universal_d_unmuteMember as unmuteMember, membersV1MemberMembers_universal_d_approveMember as approveMember, membersV1MemberMembers_universal_d_blockMember as blockMember, membersV1MemberMembers_universal_d_disconnectMember as disconnectMember, membersV1MemberMembers_universal_d_deleteMember as deleteMember, membersV1MemberMembers_universal_d_DeleteMemberOptions as DeleteMemberOptions, membersV1MemberMembers_universal_d_deleteMyMember as deleteMyMember, membersV1MemberMembers_universal_d_DeleteMyMemberOptions as DeleteMyMemberOptions, membersV1MemberMembers_universal_d_bulkDeleteMembers as bulkDeleteMembers, membersV1MemberMembers_universal_d_bulkDeleteMembersByFilter as bulkDeleteMembersByFilter, membersV1MemberMembers_universal_d_BulkDeleteMembersByFilterOptions as BulkDeleteMembersByFilterOptions, membersV1MemberMembers_universal_d_bulkApproveMembers as bulkApproveMembers, membersV1MemberMembers_universal_d_bulkBlockMembers as bulkBlockMembers, membersV1MemberMembers_universal_d_createMember as createMember, membersV1MemberMembers_universal_d_CreateMemberOptions as CreateMemberOptions, membersV1MemberMembers_universal_d_updateMember as updateMember, membersV1MemberMembers_universal_d_UpdateMember as UpdateMember, membersV1MemberMembers_universal_d_deleteMemberPhones as deleteMemberPhones, membersV1MemberMembers_universal_d_deleteMemberEmails as deleteMemberEmails, membersV1MemberMembers_universal_d_deleteMemberAddresses as deleteMemberAddresses, };\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. 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;\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    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        /** Pagination options.  */\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        /** Pagination options. */\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    interface ListMembersWithBadgesRequest {\n        /** Cursor paging options */\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 ListMembersWithBadgesResponse {\n        /** List of members */\n        memberIds?: string[];\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        /** 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 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        /** 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    interface EntityDeletedEvent {\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 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     * @permissionScope Manage Badges\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-BADGES\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Created badge.\n     * @fqn com.wixpress.badges.v3.BadgesServiceV3.CreateBadge\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     * @permissionScope Manage Badges\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-BADGES\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Updated badge.\n     * @fqn com.wixpress.badges.v3.BadgesServiceV3.UpdateBadge\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     * @permissionScope Manage Badges\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-BADGES\n     * @permissionScope Read Badges\n     * @permissionScopeId SCOPE.DC-MEMBERS.READ-BADGES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @fqn com.wixpress.badges.v3.BadgesServiceV3.ListBadges\n     */\n    function listBadges(options?: ListBadgesOptions): Promise<ListBadgesResponse>;\n    interface ListBadgesOptions {\n        /** Pagination options.  */\n        paging?: Paging;\n    }\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        /** Pagination options. */\n        paging?: Paging;\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     * @permissionScope Manage Badges\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-BADGES\n     * @permissionScope Read Badges\n     * @permissionScopeId SCOPE.DC-MEMBERS.READ-BADGES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @returns Badge.\n     * @fqn com.wixpress.badges.v3.BadgesServiceV3.GetBadge\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     * @permissionScope Manage Badges\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-BADGES\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.badges.v3.BadgesServiceV3.DeleteBadge\n     */\n    function deleteBadge(_id: string): Promise<void>;\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     * @permissionScope Manage Badges\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-BADGES\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.badges.v3.BadgesServiceV3.AssignBadge\n     */\n    function assignBadge(_id: string, memberIds: string[]): Promise<AssignBadgeResponse>;\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     * @permissionScope Manage Badges\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-BADGES\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.badges.v3.BadgesServiceV3.UnassignBadge\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     * @permissionScope Manage Badges\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-BADGES\n     * @permissionScope Read Badges\n     * @permissionScopeId SCOPE.DC-MEMBERS.READ-BADGES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @fqn com.wixpress.badges.v3.BadgesServiceV3.ListMembers\n     */\n    function listMembersByBadge(_id: string, options?: ListMembersByBadgeOptions): Promise<ListMembersResponse>;\n    interface ListMembersByBadgeOptions {\n        /** Pagination options. */\n        paging?: Paging;\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     * @permissionScope Manage Badges\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-BADGES\n     * @permissionScope Read Badges\n     * @permissionScopeId SCOPE.DC-MEMBERS.READ-BADGES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @fqn com.wixpress.badges.v3.BadgesServiceV3.ListMembersBadgeIds\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     * @permissionScope Manage Badges\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-BADGES\n     * @permissionScope Read Badges\n     * @permissionScopeId SCOPE.DC-MEMBERS.READ-BADGES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @fqn com.wixpress.badges.v3.BadgesServiceV3.GetMemberCountsPerBadge\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     * @permissionScope Manage Badges\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-BADGES\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.badges.v3.BadgesServiceV3.UpdateBadgesDisplayOrder\n     */\n    function updateBadgesDisplayOrder(badgeIds: string[]): Promise<UpdateBadgesDisplayOrderResponse>;\n    type badgesV3BadgeBadges_universal_d_Badge = Badge;\n    type badgesV3BadgeBadges_universal_d_CreateBadgeRequest = CreateBadgeRequest;\n    type badgesV3BadgeBadges_universal_d_CreateBadgeResponse = CreateBadgeResponse;\n    type badgesV3BadgeBadges_universal_d_UpdateBadgeRequest = UpdateBadgeRequest;\n    type badgesV3BadgeBadges_universal_d_UpdateBadgeResponse = UpdateBadgeResponse;\n    type badgesV3BadgeBadges_universal_d_ListBadgesRequest = ListBadgesRequest;\n    type badgesV3BadgeBadges_universal_d_Paging = Paging;\n    type badgesV3BadgeBadges_universal_d_ListBadgesResponse = ListBadgesResponse;\n    type badgesV3BadgeBadges_universal_d_PagingMetadata = PagingMetadata;\n    type badgesV3BadgeBadges_universal_d_QueryBadgesRequest = QueryBadgesRequest;\n    type badgesV3BadgeBadges_universal_d_Sorting = Sorting;\n    type badgesV3BadgeBadges_universal_d_SortOrder = SortOrder;\n    const badgesV3BadgeBadges_universal_d_SortOrder: typeof SortOrder;\n    type badgesV3BadgeBadges_universal_d_QueryBadgesResponse = QueryBadgesResponse;\n    type badgesV3BadgeBadges_universal_d_GetBadgeRequest = GetBadgeRequest;\n    type badgesV3BadgeBadges_universal_d_GetBadgeResponse = GetBadgeResponse;\n    type badgesV3BadgeBadges_universal_d_DeleteBadgeRequest = DeleteBadgeRequest;\n    type badgesV3BadgeBadges_universal_d_DeleteBadgeResponse = DeleteBadgeResponse;\n    type badgesV3BadgeBadges_universal_d_CountBadgesRequest = CountBadgesRequest;\n    type badgesV3BadgeBadges_universal_d_CountBadgesResponse = CountBadgesResponse;\n    type badgesV3BadgeBadges_universal_d_AssignBadgeRequest = AssignBadgeRequest;\n    type badgesV3BadgeBadges_universal_d_AssignBadgeResponse = AssignBadgeResponse;\n    type badgesV3BadgeBadges_universal_d_BadgeAssigned = BadgeAssigned;\n    type badgesV3BadgeBadges_universal_d_AssignBadgesRequest = AssignBadgesRequest;\n    type badgesV3BadgeBadges_universal_d_AssignBadgesResponse = AssignBadgesResponse;\n    type badgesV3BadgeBadges_universal_d_UnassignBadgeRequest = UnassignBadgeRequest;\n    type badgesV3BadgeBadges_universal_d_UnassignBadgeResponse = UnassignBadgeResponse;\n    type badgesV3BadgeBadges_universal_d_BadgeUnassigned = BadgeUnassigned;\n    type badgesV3BadgeBadges_universal_d_ListMembersRequest = ListMembersRequest;\n    type badgesV3BadgeBadges_universal_d_ListMembersResponse = ListMembersResponse;\n    type badgesV3BadgeBadges_universal_d_ListMembersBadgeIdsRequest = ListMembersBadgeIdsRequest;\n    type badgesV3BadgeBadges_universal_d_ListMembersBadgeIdsResponse = ListMembersBadgeIdsResponse;\n    type badgesV3BadgeBadges_universal_d_MemberBadgeIds = MemberBadgeIds;\n    type badgesV3BadgeBadges_universal_d_GetMemberCountsPerBadgeRequest = GetMemberCountsPerBadgeRequest;\n    type badgesV3BadgeBadges_universal_d_GetMemberCountsPerBadgeResponse = GetMemberCountsPerBadgeResponse;\n    type badgesV3BadgeBadges_universal_d_BadgeMemberCount = BadgeMemberCount;\n    type badgesV3BadgeBadges_universal_d_UpdateBadgesDisplayOrderRequest = UpdateBadgesDisplayOrderRequest;\n    type badgesV3BadgeBadges_universal_d_UpdateBadgesDisplayOrderResponse = UpdateBadgesDisplayOrderResponse;\n    type badgesV3BadgeBadges_universal_d_ListMembersWithBadgesRequest = ListMembersWithBadgesRequest;\n    type badgesV3BadgeBadges_universal_d_CursorPaging = CursorPaging;\n    type badgesV3BadgeBadges_universal_d_ListMembersWithBadgesResponse = ListMembersWithBadgesResponse;\n    type badgesV3BadgeBadges_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n    type badgesV3BadgeBadges_universal_d_Cursors = Cursors;\n    type badgesV3BadgeBadges_universal_d_DomainEvent = DomainEvent;\n    type badgesV3BadgeBadges_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n    type badgesV3BadgeBadges_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n    type badgesV3BadgeBadges_universal_d_RestoreInfo = RestoreInfo;\n    type badgesV3BadgeBadges_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n    type badgesV3BadgeBadges_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n    type badgesV3BadgeBadges_universal_d_ActionEvent = ActionEvent;\n    type badgesV3BadgeBadges_universal_d_MessageEnvelope = MessageEnvelope;\n    type badgesV3BadgeBadges_universal_d_IdentificationData = IdentificationData;\n    type badgesV3BadgeBadges_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n    type badgesV3BadgeBadges_universal_d_WebhookIdentityType = WebhookIdentityType;\n    const badgesV3BadgeBadges_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n    const badgesV3BadgeBadges_universal_d_createBadge: typeof createBadge;\n    const badgesV3BadgeBadges_universal_d_updateBadge: typeof updateBadge;\n    type badgesV3BadgeBadges_universal_d_UpdateBadge = UpdateBadge;\n    const badgesV3BadgeBadges_universal_d_listBadges: typeof listBadges;\n    type badgesV3BadgeBadges_universal_d_ListBadgesOptions = ListBadgesOptions;\n    type badgesV3BadgeBadges_universal_d_QueryBadgesOptions = QueryBadgesOptions;\n    const badgesV3BadgeBadges_universal_d_getBadge: typeof getBadge;\n    const badgesV3BadgeBadges_universal_d_deleteBadge: typeof deleteBadge;\n    type badgesV3BadgeBadges_universal_d_CountBadgesOptions = CountBadgesOptions;\n    const badgesV3BadgeBadges_universal_d_assignBadge: typeof assignBadge;\n    const badgesV3BadgeBadges_universal_d_unassignBadge: typeof unassignBadge;\n    const badgesV3BadgeBadges_universal_d_listMembersByBadge: typeof listMembersByBadge;\n    type badgesV3BadgeBadges_universal_d_ListMembersByBadgeOptions = ListMembersByBadgeOptions;\n    const badgesV3BadgeBadges_universal_d_listBadgesPerMember: typeof listBadgesPerMember;\n    const badgesV3BadgeBadges_universal_d_getMemberCountsPerBadge: typeof getMemberCountsPerBadge;\n    const badgesV3BadgeBadges_universal_d_updateBadgesDisplayOrder: typeof updateBadgesDisplayOrder;\n    namespace badgesV3BadgeBadges_universal_d {\n        export { badgesV3BadgeBadges_universal_d_Badge as Badge, badgesV3BadgeBadges_universal_d_CreateBadgeRequest as CreateBadgeRequest, badgesV3BadgeBadges_universal_d_CreateBadgeResponse as CreateBadgeResponse, badgesV3BadgeBadges_universal_d_UpdateBadgeRequest as UpdateBadgeRequest, badgesV3BadgeBadges_universal_d_UpdateBadgeResponse as UpdateBadgeResponse, badgesV3BadgeBadges_universal_d_ListBadgesRequest as ListBadgesRequest, badgesV3BadgeBadges_universal_d_Paging as Paging, badgesV3BadgeBadges_universal_d_ListBadgesResponse as ListBadgesResponse, badgesV3BadgeBadges_universal_d_PagingMetadata as PagingMetadata, badgesV3BadgeBadges_universal_d_QueryBadgesRequest as QueryBadgesRequest, badgesV3BadgeBadges_universal_d_Sorting as Sorting, badgesV3BadgeBadges_universal_d_SortOrder as SortOrder, badgesV3BadgeBadges_universal_d_QueryBadgesResponse as QueryBadgesResponse, badgesV3BadgeBadges_universal_d_GetBadgeRequest as GetBadgeRequest, badgesV3BadgeBadges_universal_d_GetBadgeResponse as GetBadgeResponse, badgesV3BadgeBadges_universal_d_DeleteBadgeRequest as DeleteBadgeRequest, badgesV3BadgeBadges_universal_d_DeleteBadgeResponse as DeleteBadgeResponse, badgesV3BadgeBadges_universal_d_CountBadgesRequest as CountBadgesRequest, badgesV3BadgeBadges_universal_d_CountBadgesResponse as CountBadgesResponse, badgesV3BadgeBadges_universal_d_AssignBadgeRequest as AssignBadgeRequest, badgesV3BadgeBadges_universal_d_AssignBadgeResponse as AssignBadgeResponse, badgesV3BadgeBadges_universal_d_BadgeAssigned as BadgeAssigned, badgesV3BadgeBadges_universal_d_AssignBadgesRequest as AssignBadgesRequest, badgesV3BadgeBadges_universal_d_AssignBadgesResponse as AssignBadgesResponse, badgesV3BadgeBadges_universal_d_UnassignBadgeRequest as UnassignBadgeRequest, badgesV3BadgeBadges_universal_d_UnassignBadgeResponse as UnassignBadgeResponse, badgesV3BadgeBadges_universal_d_BadgeUnassigned as BadgeUnassigned, badgesV3BadgeBadges_universal_d_ListMembersRequest as ListMembersRequest, badgesV3BadgeBadges_universal_d_ListMembersResponse as ListMembersResponse, badgesV3BadgeBadges_universal_d_ListMembersBadgeIdsRequest as ListMembersBadgeIdsRequest, badgesV3BadgeBadges_universal_d_ListMembersBadgeIdsResponse as ListMembersBadgeIdsResponse, badgesV3BadgeBadges_universal_d_MemberBadgeIds as MemberBadgeIds, badgesV3BadgeBadges_universal_d_GetMemberCountsPerBadgeRequest as GetMemberCountsPerBadgeRequest, badgesV3BadgeBadges_universal_d_GetMemberCountsPerBadgeResponse as GetMemberCountsPerBadgeResponse, badgesV3BadgeBadges_universal_d_BadgeMemberCount as BadgeMemberCount, badgesV3BadgeBadges_universal_d_UpdateBadgesDisplayOrderRequest as UpdateBadgesDisplayOrderRequest, badgesV3BadgeBadges_universal_d_UpdateBadgesDisplayOrderResponse as UpdateBadgesDisplayOrderResponse, badgesV3BadgeBadges_universal_d_ListMembersWithBadgesRequest as ListMembersWithBadgesRequest, badgesV3BadgeBadges_universal_d_CursorPaging as CursorPaging, badgesV3BadgeBadges_universal_d_ListMembersWithBadgesResponse as ListMembersWithBadgesResponse, badgesV3BadgeBadges_universal_d_CursorPagingMetadata as CursorPagingMetadata, badgesV3BadgeBadges_universal_d_Cursors as Cursors, badgesV3BadgeBadges_universal_d_DomainEvent as DomainEvent, badgesV3BadgeBadges_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf, badgesV3BadgeBadges_universal_d_EntityCreatedEvent as EntityCreatedEvent, badgesV3BadgeBadges_universal_d_RestoreInfo as RestoreInfo, badgesV3BadgeBadges_universal_d_EntityUpdatedEvent as EntityUpdatedEvent, badgesV3BadgeBadges_universal_d_EntityDeletedEvent as EntityDeletedEvent, badgesV3BadgeBadges_universal_d_ActionEvent as ActionEvent, badgesV3BadgeBadges_universal_d_MessageEnvelope as MessageEnvelope, badgesV3BadgeBadges_universal_d_IdentificationData as IdentificationData, badgesV3BadgeBadges_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf, badgesV3BadgeBadges_universal_d_WebhookIdentityType as WebhookIdentityType, badgesV3BadgeBadges_universal_d_createBadge as createBadge, badgesV3BadgeBadges_universal_d_updateBadge as updateBadge, badgesV3BadgeBadges_universal_d_UpdateBadge as UpdateBadge, badgesV3BadgeBadges_universal_d_listBadges as listBadges, badgesV3BadgeBadges_universal_d_ListBadgesOptions as ListBadgesOptions, badgesV3BadgeBadges_universal_d_QueryBadgesOptions as QueryBadgesOptions, badgesV3BadgeBadges_universal_d_getBadge as getBadge, badgesV3BadgeBadges_universal_d_deleteBadge as deleteBadge, badgesV3BadgeBadges_universal_d_CountBadgesOptions as CountBadgesOptions, badgesV3BadgeBadges_universal_d_assignBadge as assignBadge, badgesV3BadgeBadges_universal_d_unassignBadge as unassignBadge, badgesV3BadgeBadges_universal_d_listMembersByBadge as listMembersByBadge, badgesV3BadgeBadges_universal_d_ListMembersByBadgeOptions as ListMembersByBadgeOptions, badgesV3BadgeBadges_universal_d_listBadgesPerMember as listBadgesPerMember, badgesV3BadgeBadges_universal_d_getMemberCountsPerBadge as getMemberCountsPerBadge, badgesV3BadgeBadges_universal_d_updateBadgesDisplayOrder as updateBadgesDisplayOrder, };\n    }\n    export { identityMembersV1MemberAuthentication_universal_d as authentication, badgesV3BadgeBadges_universal_d as badges, membersV1MemberMembers_universal_d as members };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-groups.v2.d.ts",
      "content": "declare module \"wix-groups.v2\" {\n    interface GroupMember$1 {\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;\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        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$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 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    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         * IDs of the site members to add to the group.\n         *\n         *\n         */\n        memberIds?: string[];\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        /**  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    interface ListGroupMembersResponse {\n        /** Retrieved members. */\n        members?: GroupMember$1[];\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    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$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    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 QueryGroupMembersResponse {\n        /** Group members. */\n        members?: GroupMember$1[];\n        /** Paging information. */\n        metadata?: PagingMetadata$2;\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        /** 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$2;\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$1;\n        /** Group member role. When membership status is not `JOINED`, this is empty. */\n        role?: GroupRole$1;\n    }\n    enum MembershipStatus$1 {\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        /** 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$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. */\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        /** 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$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    interface EntityDeletedEvent$3 {\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 JoinGroupOptions {\n        /** Answers to membership questions. A Join Request will fail, if the answer to a required question is omitted. */\n        membershipQuestionAnswers?: MembershipQuestionAnswer$1[];\n        autoInviteId?: string | null;\n    }\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    /**\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    /**\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    /**\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    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        /** 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        query?: Query$2;\n    }\n    type socialGroupsV2GroupMemberMembers_universal_d_JoinRequest = JoinRequest;\n    type socialGroupsV2GroupMemberMembers_universal_d_JoinResponse = JoinResponse;\n    type socialGroupsV2GroupMemberMembers_universal_d_MemberJoined = MemberJoined;\n    type socialGroupsV2GroupMemberMembers_universal_d_JoinBy = JoinBy;\n    const socialGroupsV2GroupMemberMembers_universal_d_JoinBy: typeof JoinBy;\n    type socialGroupsV2GroupMemberMembers_universal_d_LeaveRequest = LeaveRequest;\n    type socialGroupsV2GroupMemberMembers_universal_d_LeaveResponse = LeaveResponse;\n    type socialGroupsV2GroupMemberMembers_universal_d_MemberLeft = MemberLeft;\n    type socialGroupsV2GroupMemberMembers_universal_d_AddGroupMembersRequest = AddGroupMembersRequest;\n    type socialGroupsV2GroupMemberMembers_universal_d_AddGroupMembersResponse = AddGroupMembersResponse;\n    type socialGroupsV2GroupMemberMembers_universal_d_MemberAdded = MemberAdded;\n    type socialGroupsV2GroupMemberMembers_universal_d_RemoveGroupMembersRequest = RemoveGroupMembersRequest;\n    type socialGroupsV2GroupMemberMembers_universal_d_RemoveGroupMembersResponse = RemoveGroupMembersResponse;\n    type socialGroupsV2GroupMemberMembers_universal_d_MemberRemoved = MemberRemoved;\n    type socialGroupsV2GroupMemberMembers_universal_d_ListGroupMembersRequest = ListGroupMembersRequest;\n    type socialGroupsV2GroupMemberMembers_universal_d_ListGroupMembersResponse = ListGroupMembersResponse;\n    type socialGroupsV2GroupMemberMembers_universal_d_QueryGroupMembersRequest = QueryGroupMembersRequest;\n    type socialGroupsV2GroupMemberMembers_universal_d_QueryGroupMembersResponse = QueryGroupMembersResponse;\n    type socialGroupsV2GroupMemberMembers_universal_d_QueryNonGroupMembersRequest = QueryNonGroupMembersRequest;\n    type socialGroupsV2GroupMemberMembers_universal_d_QueryNonGroupMembersResponse = QueryNonGroupMembersResponse;\n    type socialGroupsV2GroupMemberMembers_universal_d_ListMembershipsRequest = ListMembershipsRequest;\n    type socialGroupsV2GroupMemberMembers_universal_d_ListMembershipsResponse = ListMembershipsResponse;\n    type socialGroupsV2GroupMemberMembers_universal_d_Membership = Membership;\n    type socialGroupsV2GroupMemberMembers_universal_d_QueryMembershipsRequest = QueryMembershipsRequest;\n    type socialGroupsV2GroupMemberMembers_universal_d_QueryMembershipsResponse = QueryMembershipsResponse;\n    type socialGroupsV2GroupMemberMembers_universal_d_JoinGroupOptions = JoinGroupOptions;\n    const socialGroupsV2GroupMemberMembers_universal_d_addGroupMembers: typeof addGroupMembers;\n    type socialGroupsV2GroupMemberMembers_universal_d_AddGroupMembersOptions = AddGroupMembersOptions;\n    const socialGroupsV2GroupMemberMembers_universal_d_removeGroupMembers: typeof removeGroupMembers;\n    type socialGroupsV2GroupMemberMembers_universal_d_RemoveGroupMembersOptions = RemoveGroupMembersOptions;\n    const socialGroupsV2GroupMemberMembers_universal_d_listGroupMembers: typeof listGroupMembers;\n    type socialGroupsV2GroupMemberMembers_universal_d_ListGroupMembersOptions = ListGroupMembersOptions;\n    const socialGroupsV2GroupMemberMembers_universal_d_queryGroupMembers: typeof queryGroupMembers;\n    type socialGroupsV2GroupMemberMembers_universal_d_MembersQueryResult = MembersQueryResult;\n    type socialGroupsV2GroupMemberMembers_universal_d_MembersQueryBuilder = MembersQueryBuilder;\n    type socialGroupsV2GroupMemberMembers_universal_d_QueryNonGroupMembersOptions = QueryNonGroupMembersOptions;\n    const socialGroupsV2GroupMemberMembers_universal_d_listMemberships: typeof listMemberships;\n    type socialGroupsV2GroupMemberMembers_universal_d_ListMembershipsOptions = ListMembershipsOptions;\n    const socialGroupsV2GroupMemberMembers_universal_d_queryMemberships: typeof queryMemberships;\n    type socialGroupsV2GroupMemberMembers_universal_d_QueryMembershipsOptions = QueryMembershipsOptions;\n    namespace socialGroupsV2GroupMemberMembers_universal_d {\n        export { GroupMember$1 as GroupMember, GroupRole$1 as GroupRole, Role$1 as Role, SocialGroupsEvent$1 as SocialGroupsEvent, SocialGroupsEventPayloadOneOf$1 as SocialGroupsEventPayloadOneOf, MemberJoinedGroup$1 as MemberJoinedGroup, MembersAddedToGroup$1 as MembersAddedToGroup, JoinRequestsApproved$1 as JoinRequestsApproved, MembersInvitedToGroup$1 as MembersInvitedToGroup, socialGroupsV2GroupMemberMembers_universal_d_JoinRequest as JoinRequest, MembershipQuestionAnswer$1 as MembershipQuestionAnswer, socialGroupsV2GroupMemberMembers_universal_d_JoinResponse as JoinResponse, socialGroupsV2GroupMemberMembers_universal_d_MemberJoined as MemberJoined, socialGroupsV2GroupMemberMembers_universal_d_JoinBy as JoinBy, socialGroupsV2GroupMemberMembers_universal_d_LeaveRequest as LeaveRequest, socialGroupsV2GroupMemberMembers_universal_d_LeaveResponse as LeaveResponse, socialGroupsV2GroupMemberMembers_universal_d_MemberLeft as MemberLeft, socialGroupsV2GroupMemberMembers_universal_d_AddGroupMembersRequest as AddGroupMembersRequest, socialGroupsV2GroupMemberMembers_universal_d_AddGroupMembersResponse as AddGroupMembersResponse, socialGroupsV2GroupMemberMembers_universal_d_MemberAdded as MemberAdded, socialGroupsV2GroupMemberMembers_universal_d_RemoveGroupMembersRequest as RemoveGroupMembersRequest, socialGroupsV2GroupMemberMembers_universal_d_RemoveGroupMembersResponse as RemoveGroupMembersResponse, socialGroupsV2GroupMemberMembers_universal_d_MemberRemoved as MemberRemoved, socialGroupsV2GroupMemberMembers_universal_d_ListGroupMembersRequest as ListGroupMembersRequest, socialGroupsV2GroupMemberMembers_universal_d_ListGroupMembersResponse as ListGroupMembersResponse, PagingMetadata$2 as PagingMetadata, socialGroupsV2GroupMemberMembers_universal_d_QueryGroupMembersRequest as QueryGroupMembersRequest, Query$2 as Query, Sorting$2 as Sorting, SortOrder$2 as SortOrder, Paging$2 as Paging, socialGroupsV2GroupMemberMembers_universal_d_QueryGroupMembersResponse as QueryGroupMembersResponse, socialGroupsV2GroupMemberMembers_universal_d_QueryNonGroupMembersRequest as QueryNonGroupMembersRequest, socialGroupsV2GroupMemberMembers_universal_d_QueryNonGroupMembersResponse as QueryNonGroupMembersResponse, socialGroupsV2GroupMemberMembers_universal_d_ListMembershipsRequest as ListMembershipsRequest, socialGroupsV2GroupMemberMembers_universal_d_ListMembershipsResponse as ListMembershipsResponse, socialGroupsV2GroupMemberMembers_universal_d_Membership as Membership, MembershipStatus$1 as MembershipStatus, socialGroupsV2GroupMemberMembers_universal_d_QueryMembershipsRequest as QueryMembershipsRequest, socialGroupsV2GroupMemberMembers_universal_d_QueryMembershipsResponse as QueryMembershipsResponse, DomainEvent$3 as DomainEvent, DomainEventBodyOneOf$3 as DomainEventBodyOneOf, EntityCreatedEvent$3 as EntityCreatedEvent, RestoreInfo$3 as RestoreInfo, EntityUpdatedEvent$3 as EntityUpdatedEvent, EntityDeletedEvent$3 as EntityDeletedEvent, ActionEvent$3 as ActionEvent, MessageEnvelope$3 as MessageEnvelope, IdentificationData$3 as IdentificationData, IdentificationDataIdOneOf$3 as IdentificationDataIdOneOf, WebhookIdentityType$3 as WebhookIdentityType, socialGroupsV2GroupMemberMembers_universal_d_JoinGroupOptions as JoinGroupOptions, socialGroupsV2GroupMemberMembers_universal_d_addGroupMembers as addGroupMembers, socialGroupsV2GroupMemberMembers_universal_d_AddGroupMembersOptions as AddGroupMembersOptions, socialGroupsV2GroupMemberMembers_universal_d_removeGroupMembers as removeGroupMembers, socialGroupsV2GroupMemberMembers_universal_d_RemoveGroupMembersOptions as RemoveGroupMembersOptions, socialGroupsV2GroupMemberMembers_universal_d_listGroupMembers as listGroupMembers, socialGroupsV2GroupMemberMembers_universal_d_ListGroupMembersOptions as ListGroupMembersOptions, socialGroupsV2GroupMemberMembers_universal_d_queryGroupMembers as queryGroupMembers, socialGroupsV2GroupMemberMembers_universal_d_MembersQueryResult as MembersQueryResult, socialGroupsV2GroupMemberMembers_universal_d_MembersQueryBuilder as MembersQueryBuilder, socialGroupsV2GroupMemberMembers_universal_d_QueryNonGroupMembersOptions as QueryNonGroupMembersOptions, socialGroupsV2GroupMemberMembers_universal_d_listMemberships as listMemberships, socialGroupsV2GroupMemberMembers_universal_d_ListMembershipsOptions as ListMembershipsOptions, socialGroupsV2GroupMemberMembers_universal_d_queryMemberships as queryMemberships, socialGroupsV2GroupMemberMembers_universal_d_QueryMembershipsOptions as QueryMembershipsOptions, };\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        /** Member IDs. Limited to 100 member IDs. See the Members API for details. */\n        memberIds?: string[];\n        /** Role to assign. */\n        role?: GroupRole;\n    }\n    interface AssignRoleResponse {\n        /** Group ID. */\n        groupId?: string;\n        /** Member IDs. Limited to 100 member IDs. See the Members API 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         * Member ID. See the Members API 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    interface UnassignRoleRequest {\n        /** Group ID. */\n        groupId: string;\n        /** Member IDs. Limited to 100 member IDs. See the Members API 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 the Members API 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    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        /** 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$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    interface EntityDeletedEvent$2 {\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     * Assigns a specific role to group members.\n     *\n     * Calling this method overrides the group member's current `role.value`.\n     *\n     * >**Notes:**\n     * > + Only group admins can assign roles.\n     * > + You cannot create new members with this method.\n     * @param groupId - Group ID.\n     * @param memberIds - Member IDs. Limited to 100 member IDs. See the Members API for details.\n     * @param role - Role to assign.\n     * @public\n     * @requiredField groupId\n     * @requiredField memberIds\n     * @requiredField role\n     * @adminMethod\n     * @fqn wix.social.groups.api.v2.GroupRolesService.AssignRole\n     */\n    function assignRole(groupId: string, memberIds: string[], role: GroupRole, options?: AssignRoleOptions): Promise<AssignRoleResponse>;\n    interface AssignRoleOptions {\n    }\n    /**\n     * Unassigns a role from group members.\n     *\n     * You can only unassign `ADMIN` roles. Calling this method with group members\n     * with `role.value` set to `MEMBER` returns an error.\n     *\n     * > **Notes:**\n     * > + Only group admins can assign roles.\n     * > + You cannot remove members with this method.\n     * @param groupId - Group ID.\n     * @param memberIds - Member IDs. Limited to 100 member IDs. See the Members API for details.\n     * @param role - Role to unassign.\n     * @public\n     * @requiredField groupId\n     * @requiredField memberIds\n     * @requiredField role\n     * @adminMethod\n     * @fqn wix.social.groups.api.v2.GroupRolesService.UnassignRole\n     */\n    function unassignRole(groupId: string, memberIds: string[], role: GroupRole, options?: UnassignRoleOptions): Promise<UnassignRoleResponse>;\n    interface UnassignRoleOptions {\n    }\n    type socialGroupsV2GroupRoleRoles_universal_d_GroupRole = GroupRole;\n    type socialGroupsV2GroupRoleRoles_universal_d_Role = Role;\n    const socialGroupsV2GroupRoleRoles_universal_d_Role: typeof Role;\n    type socialGroupsV2GroupRoleRoles_universal_d_AssignRoleRequest = AssignRoleRequest;\n    type socialGroupsV2GroupRoleRoles_universal_d_AssignRoleResponse = AssignRoleResponse;\n    type socialGroupsV2GroupRoleRoles_universal_d_RoleAssignedToGroupMember = RoleAssignedToGroupMember;\n    type socialGroupsV2GroupRoleRoles_universal_d_GroupMember = GroupMember;\n    type socialGroupsV2GroupRoleRoles_universal_d_UnassignRoleRequest = UnassignRoleRequest;\n    type socialGroupsV2GroupRoleRoles_universal_d_UnassignRoleResponse = UnassignRoleResponse;\n    type socialGroupsV2GroupRoleRoles_universal_d_RoleUnassignedFromGroupMember = RoleUnassignedFromGroupMember;\n    const socialGroupsV2GroupRoleRoles_universal_d_assignRole: typeof assignRole;\n    type socialGroupsV2GroupRoleRoles_universal_d_AssignRoleOptions = AssignRoleOptions;\n    const socialGroupsV2GroupRoleRoles_universal_d_unassignRole: typeof unassignRole;\n    type socialGroupsV2GroupRoleRoles_universal_d_UnassignRoleOptions = UnassignRoleOptions;\n    namespace socialGroupsV2GroupRoleRoles_universal_d {\n        export { socialGroupsV2GroupRoleRoles_universal_d_GroupRole as GroupRole, socialGroupsV2GroupRoleRoles_universal_d_Role as Role, socialGroupsV2GroupRoleRoles_universal_d_AssignRoleRequest as AssignRoleRequest, socialGroupsV2GroupRoleRoles_universal_d_AssignRoleResponse as AssignRoleResponse, socialGroupsV2GroupRoleRoles_universal_d_RoleAssignedToGroupMember as RoleAssignedToGroupMember, socialGroupsV2GroupRoleRoles_universal_d_GroupMember as GroupMember, socialGroupsV2GroupRoleRoles_universal_d_UnassignRoleRequest as UnassignRoleRequest, socialGroupsV2GroupRoleRoles_universal_d_UnassignRoleResponse as UnassignRoleResponse, socialGroupsV2GroupRoleRoles_universal_d_RoleUnassignedFromGroupMember as RoleUnassignedFromGroupMember, DomainEvent$2 as DomainEvent, DomainEventBodyOneOf$2 as DomainEventBodyOneOf, EntityCreatedEvent$2 as EntityCreatedEvent, RestoreInfo$2 as RestoreInfo, EntityUpdatedEvent$2 as EntityUpdatedEvent, EntityDeletedEvent$2 as EntityDeletedEvent, ActionEvent$2 as ActionEvent, MessageEnvelope$2 as MessageEnvelope, IdentificationData$2 as IdentificationData, IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf, WebhookIdentityType$2 as WebhookIdentityType, socialGroupsV2GroupRoleRoles_universal_d_assignRole as assignRole, socialGroupsV2GroupRoleRoles_universal_d_AssignRoleOptions as AssignRoleOptions, socialGroupsV2GroupRoleRoles_universal_d_unassignRole as unassignRole, socialGroupsV2GroupRoleRoles_universal_d_UnassignRoleOptions as UnassignRoleOptions, };\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        /** Group privacy status. */\n        privacyStatus?: PrivacyStatus;\n        /** Group name. */\n        name?: string | null;\n        /** Group description in [DraftJS](https://draftjs.org) format. */\n        description?: string | null;\n        /** Group teaser. */\n        teaser?: string | null;\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        /**\n         * Group specific settings.\n         *\n         * These settings can also be found in [a site'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%2Fwix-groups/settings?).\n         */\n        settings?: GroupSettings;\n        /**\n         * Total count of current group members.\n         * @readonly\n         */\n        membersCount?: number | null;\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         * Date and time of the most recent group activity, for example a post or comment.\n         * @readonly\n         */\n        lastActivityDate?: Date | 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        /** 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        /** 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    /** Cover image. You cannot upload your own cover image. */\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         * Alternative text is typically a relatively short phrase that describes what the image depicts.\n         *\n         * The alternative text is used:\n         * + If the browser cannot display the image.\n         * + If the user is utilizing a screen reader.\n         * + By search engines to understand what images are on your site.\n         */\n        altText?: string | null;\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         * @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        /** 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        /** Determines who can invite members to the group */\n        allowedToInviteMembers?: AllowPolicy;\n        /** Determines who can approve member join requests to the group */\n        allowedToApproveJoinRequests?: AllowPolicy;\n    }\n    interface Identity {\n        /** Member ID of the group creator.  See the Members API for more details. */\n        _id?: string | null;\n        identityType?: IdentityType;\n    }\n    enum IdentityType {\n        /** Wix user. */\n        USER = \"USER\",\n        /** Wix member. */\n        MEMBER = \"MEMBER\"\n    }\n    interface CreateGroupRequest {\n        /** Group to create. */\n        group: Group;\n        /** ID of the member who created the group, from the Members API. This member will automatically become an admin. */\n        creatorId?: string | null;\n        /** Content type. */\n        contentType?: ContentType;\n    }\n    enum ContentType {\n        PLAIN_TEXT = \"PLAIN_TEXT\",\n        DRAFTJS = \"DRAFTJS\",\n        RICH_CONTENT = \"RICH_CONTENT\"\n    }\n    interface CreateGroupResponse {\n        /** Created group. */\n        group?: Group;\n    }\n    interface UpdateGroupRequest {\n        /** Group to update. */\n        group: Group;\n        /** Content type. */\n        contentType?: ContentType;\n    }\n    interface UpdateGroupResponse {\n        /** Updated group. */\n        group?: Group;\n    }\n    interface GroupCoverChanged {\n        /** Old URL of group cover. */\n        oldUrl?: string | null;\n        /** New URL of group cover. */\n        newUrl?: string | null;\n    }\n    interface GroupDescriptionChanged {\n        /** Group's old description. */\n        oldDescription?: string | null;\n        /** Group's new description. */\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;\n    }\n    interface GetGroupRequest {\n        /** ID of the group to retrieve. */\n        groupId: string;\n        /** Content type. */\n        contentType?: ContentType;\n    }\n    interface GetGroupResponse {\n        /** Retrieved group. */\n        group?: Group;\n    }\n    interface GetGroupBySlugRequest {\n        /** Unique part of the group's URL. For example, if a group's URL is `https:/example.com/groups/{my-fitness-group}`, the slug is `my-fitness-group`. Case-sensitive. */\n        slug: string;\n        autoInviteId?: string | null;\n        /** Content type. */\n        contentType?: ContentType;\n    }\n    interface GetGroupBySlugResponse {\n        /** Retrieved group. */\n        group?: Group;\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. */\n        contentType?: ContentType;\n    }\n    interface ListGroupsResponse {\n        /** Retrieved Groups. */\n        groups?: Group[];\n        /** Paging metadata. */\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    interface ListGroupsByUserIdRequest {\n        /** Content type. */\n        contentType?: ContentType;\n    }\n    interface ListGroupsByUserIdResponse {\n        groups?: GroupWithMsId[];\n    }\n    /** Retrieved Groups by metasite id */\n    interface GroupWithMsId {\n        metaSiteId?: string;\n        groups?: Group[];\n    }\n    interface QueryGroupsRequest {\n        /** Query options. */\n        query?: Query$1;\n        /** Content type. */\n        contentType?: ContentType;\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    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 QueryGroupsResponse {\n        /** Retrieved groups. */\n        groups?: Group[];\n        /** Paging metadata. */\n        metadata?: PagingMetadata$1;\n    }\n    interface QueryJoinedGroupsRequest {\n        /** Query options. */\n        query?: Query$1;\n        /** Content type. */\n        contentType?: ContentType;\n    }\n    interface QueryJoinedGroupsResponse {\n        /** Retrieved groups. */\n        groups?: Group[];\n        /** Paging metadata. */\n        metadata?: PagingMetadata$1;\n    }\n    interface QueryGroupsByMembershipRequest {\n        /** Query options. */\n        query?: Query$1;\n        membershipStatus?: MembershipStatus;\n        /** Filter groups by permissions. */\n        permissionsFilter?: GroupPermissions;\n        /** Content type. */\n        contentType?: ContentType;\n    }\n    enum MembershipStatus {\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[];\n        /** Paging metadata. */\n        metadata?: PagingMetadata$1;\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 options. */\n        query?: Query$1;\n        /** ID of the member to find common groups with */\n        memberId?: string;\n        /** Content type. */\n        contentType?: ContentType;\n    }\n    interface QueryJoinedGroupsWithMemberResponse {\n        /** Retrieved groups. */\n        groups?: Group[];\n        /** Paging metadata. */\n        metadata?: PagingMetadata$1;\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>;\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        /** 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    interface EntityDeletedEvent$1 {\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 group.\n     *\n     * When a group is created, the newly created group is added to the [Groups List](https://support.wix.com/en/article/wix-groups-about-your-groups-pages#groups-group-list) page\n     * of a site.\n     *\n     * Specify a `creatorId` to set the group's creator. The group's creator will automatically become a group admin, see Terminology ([REST](https://dev.wix.com/docs/rest/crm/community/groups/terminology) | [SDK](https://dev.wix.com/docs/sdk/backend-modules/groups/terminology)).\n     *\n     * Wix users determine who can create a group.\n     * This setting can be found in [a site'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%2Fwix-groups/settings?) under **Groups > General Settings > Group Creation**.\n     * If set to **members with approval**, site members can create a group with the Create Group method, and the group becomes a `createRequest` with a status of `PENDING`.\n     * A Wix user either approves or rejects the request to create a group.\n     * If set to **all site members**, site members can create a group with the Create Group method and no approval is required.\n     * If set to **only admins**, only Wix users can create a group with the Create Group method.\n     * Default is set to **members with 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     * @fqn wix.social.groups.api.v2.GroupsService.CreateGroup\n     */\n    function createGroup(group: Group, options?: CreateGroupOptions): Promise<Group>;\n    interface CreateGroupOptions {\n        /** ID of the member who created the group, from the Members API. This member will automatically become an admin. */\n        creatorId?: string | null;\n        /** Content type. */\n        contentType?: ContentType;\n    }\n    /**\n     * Updates a group.\n     *\n     * When a public or private group's name is updated, the slug is updated to reflect the new group name.\n     * Only group admins can update their group.\n     *\n     * > **Notes:**\n     * > + When `group.privacyStatus` is updated from `PRIVATE` to `PUBLIC`, all pending group join requests are automatically approved.\n     * > + When `group.privacyStatus` is updated from `PRIVATE` to `SECRET`, all pending group join requests are automatically rejected.\n     * @param _id - Group ID.\n     * @public\n     * @requiredField _id\n     * @requiredField group\n     * @adminMethod\n     * @returns Updated group.\n     * @fqn wix.social.groups.api.v2.GroupsService.UpdateGroup\n     */\n    function updateGroup(_id: string | null, group: UpdateGroup, options?: UpdateGroupOptions): Promise<Group>;\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        /** Group privacy status. */\n        privacyStatus?: PrivacyStatus;\n        /** Group name. */\n        name?: string | null;\n        /** Group description in [DraftJS](https://draftjs.org) format. */\n        description?: string | null;\n        /** Group teaser. */\n        teaser?: string | null;\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        /**\n         * Group specific settings.\n         *\n         * These settings can also be found in [a site'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%2Fwix-groups/settings?).\n         */\n        settings?: GroupSettings;\n        /**\n         * Total count of current group members.\n         * @readonly\n         */\n        membersCount?: number | null;\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         * Date and time of the most recent group activity, for example a post or comment.\n         * @readonly\n         */\n        lastActivityDate?: Date | null;\n    }\n    interface UpdateGroupOptions {\n        /** Content type. */\n        contentType?: ContentType;\n    }\n    /**\n     * Hides a group from the [Groups List](https://support.wix.com/en/article/wix-groups-about-your-groups-pages#groups-group-list) or cancels a group request.\n     *\n     * >**Notes:**\n     * > + Only group admins can delete their group.\n     * > + The group will no longer be visible in the live site or the dashboard.\n     * > + It is not possible to restore a deleted group with the Update Group method.\n     * > + It is still possible to retrieve the group with the Get Group, List Groups, and Query Groups methods.\n     * @param groupId - ID of the group to delete.\n     * @public\n     * @requiredField groupId\n     * @adminMethod\n     * @fqn wix.social.groups.api.v2.GroupsService.DeleteGroup\n     */\n    function deleteGroup(groupId: string): Promise<DeleteGroupResponse>;\n    /**\n     * Retrieves a group.\n     *\n     * For groups with `group.privacyStatus` set to `SECRET`, only group admins and group members can see the 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     * @fqn wix.social.groups.api.v2.GroupsService.GetGroup\n     */\n    function getGroup(groupId: string, options?: GetGroupOptions): Promise<Group>;\n    interface GetGroupOptions {\n        /** Content type. */\n        contentType?: ContentType;\n    }\n    /**\n     * Retrieves a group by slug.\n     *\n     * The slug is the end of a group's URL that refers to a specific group.\n     * For example, if a group's URL is `https:/example.com/groups/{my-fitness-group}`, the slug is `my-fitness-group`.\n     * Slugs are case-sensitive. It is generally based on the group name, but for secret groups it is an autogenerated string of characters,\n     * for example, `https:/example.com/groups/{5D3yTX}`.\n     *\n     * For groups with `group.privacyStatus` set to `SECRET`, only group admins and group members can see the group and its content.\n     * @param slug - Unique part of the group's URL. For example, if a group's URL is `https:/example.com/groups/{my-fitness-group}`, the slug is `my-fitness-group`. Case-sensitive.\n     * @public\n     * @requiredField slug\n     * @adminMethod\n     * @fqn wix.social.groups.api.v2.GroupsService.GetGroupBySlug\n     */\n    function getGroupBySlug(slug: string, options?: GetGroupBySlugOptions): Promise<GetGroupBySlugResponse>;\n    interface GetGroupBySlugOptions {\n        autoInviteId?: string | null;\n        /** Content type. */\n        contentType?: ContentType;\n    }\n    interface GetGroupIdBySlugOptions {\n        autoInviteId?: string | null;\n    }\n    /**\n     * Retrieves up to 100 groups.\n     *\n     *\n     * Default sorts by `_createdDate` in descending order. For `SECRET` groups, only group admins and group members can see a list of groups and their content.\n     *\n     * > **Note:** 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     * @fqn wix.social.groups.api.v2.GroupsService.ListGroups\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. */\n        contentType?: ContentType;\n    }\n    interface ListGroupsByUserIdOptions {\n        /** Content type. */\n        contentType?: ContentType;\n    }\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     *\n     * For groups with `group.privacyStatus` set to `SECRET`, only group admins and group members can see the group and its content.\n     * @public\n     * @adminMethod\n     * @fqn wix.social.groups.api.v2.GroupsService.QueryGroups\n     */\n    function queryGroups(options?: QueryGroupsOptions): GroupsQueryBuilder;\n    interface QueryGroupsOptions {\n        /** Content type. */\n        contentType?: ContentType | 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 GroupsQueryResult extends QueryOffsetResult$1 {\n        items: Group[];\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: string, value: any) => GroupsQueryBuilder;\n        /** @param propertyName - Property whose value is compared with `value`.\n         * @param value - Value to compare against.\n         */\n        ne: (propertyName: string, 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: string, 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: string, value: any[]) => GroupsQueryBuilder;\n        in: (propertyName: string, value: any) => GroupsQueryBuilder;\n        exists: (propertyName: string, 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<\"membersCount\" | \"_createdDate\">) => GroupsQueryBuilder;\n        /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n        descending: (...propertyNames: Array<\"membersCount\" | \"_createdDate\">) => 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    interface QueryJoinedGroupsOptions {\n        /** Query options. */\n        query?: Query$1;\n        /** Content type. */\n        contentType?: ContentType;\n    }\n    interface QueryGroupsByMembershipOptions {\n        /** Query options. */\n        query?: Query$1;\n        membershipStatus?: MembershipStatus;\n        /** Filter groups by permissions. */\n        permissionsFilter?: GroupPermissions;\n        /** Content type. */\n        contentType?: ContentType;\n    }\n    interface ListGroupIntegrationsDataOptions {\n        groupIds?: string[];\n    }\n    interface QueryJoinedGroupsWithMemberOptions {\n        /** Query options. */\n        query?: Query$1;\n        /** ID of the member to find common groups with */\n        memberId?: string;\n        /** Content type. */\n        contentType?: ContentType;\n    }\n    type socialGroupsV2GroupGroups_universal_d_Group = Group;\n    type socialGroupsV2GroupGroups_universal_d_Type = Type;\n    const socialGroupsV2GroupGroups_universal_d_Type: typeof Type;\n    type socialGroupsV2GroupGroups_universal_d_Events = Events;\n    type socialGroupsV2GroupGroups_universal_d_Logo = Logo;\n    type socialGroupsV2GroupGroups_universal_d_GroupDetailsPosition = GroupDetailsPosition;\n    type socialGroupsV2GroupGroups_universal_d_Image = Image;\n    type socialGroupsV2GroupGroups_universal_d_Position = Position;\n    type socialGroupsV2GroupGroups_universal_d_AllowPolicy = AllowPolicy;\n    const socialGroupsV2GroupGroups_universal_d_AllowPolicy: typeof AllowPolicy;\n    type socialGroupsV2GroupGroups_universal_d_OnboardingStepSettings = OnboardingStepSettings;\n    type socialGroupsV2GroupGroups_universal_d_StepKey = StepKey;\n    const socialGroupsV2GroupGroups_universal_d_StepKey: typeof StepKey;\n    type socialGroupsV2GroupGroups_universal_d_PrivacyStatus = PrivacyStatus;\n    const socialGroupsV2GroupGroups_universal_d_PrivacyStatus: typeof PrivacyStatus;\n    type socialGroupsV2GroupGroups_universal_d_AccessRestriction = AccessRestriction;\n    type socialGroupsV2GroupGroups_universal_d_AccessRestrictionDataOneOf = AccessRestrictionDataOneOf;\n    type socialGroupsV2GroupGroups_universal_d_GroupDetails = GroupDetails;\n    type socialGroupsV2GroupGroups_universal_d_CoverImage = CoverImage;\n    type socialGroupsV2GroupGroups_universal_d_GroupSettings = GroupSettings;\n    type socialGroupsV2GroupGroups_universal_d_Identity = Identity;\n    type socialGroupsV2GroupGroups_universal_d_IdentityType = IdentityType;\n    const socialGroupsV2GroupGroups_universal_d_IdentityType: typeof IdentityType;\n    type socialGroupsV2GroupGroups_universal_d_CreateGroupRequest = CreateGroupRequest;\n    type socialGroupsV2GroupGroups_universal_d_ContentType = ContentType;\n    const socialGroupsV2GroupGroups_universal_d_ContentType: typeof ContentType;\n    type socialGroupsV2GroupGroups_universal_d_CreateGroupResponse = CreateGroupResponse;\n    type socialGroupsV2GroupGroups_universal_d_UpdateGroupRequest = UpdateGroupRequest;\n    type socialGroupsV2GroupGroups_universal_d_UpdateGroupResponse = UpdateGroupResponse;\n    type socialGroupsV2GroupGroups_universal_d_GroupCoverChanged = GroupCoverChanged;\n    type socialGroupsV2GroupGroups_universal_d_GroupDescriptionChanged = GroupDescriptionChanged;\n    type socialGroupsV2GroupGroups_universal_d_DeleteGroupRequest = DeleteGroupRequest;\n    type socialGroupsV2GroupGroups_universal_d_DeleteGroupResponse = DeleteGroupResponse;\n    type socialGroupsV2GroupGroups_universal_d_GetGroupRequest = GetGroupRequest;\n    type socialGroupsV2GroupGroups_universal_d_GetGroupResponse = GetGroupResponse;\n    type socialGroupsV2GroupGroups_universal_d_GetGroupBySlugRequest = GetGroupBySlugRequest;\n    type socialGroupsV2GroupGroups_universal_d_GetGroupBySlugResponse = GetGroupBySlugResponse;\n    type socialGroupsV2GroupGroups_universal_d_GetGroupIdBySlugRequest = GetGroupIdBySlugRequest;\n    type socialGroupsV2GroupGroups_universal_d_GetGroupIdBySlugResponse = GetGroupIdBySlugResponse;\n    type socialGroupsV2GroupGroups_universal_d_GlobalFeedPermissions = GlobalFeedPermissions;\n    type socialGroupsV2GroupGroups_universal_d_FeedPermissions = FeedPermissions;\n    type socialGroupsV2GroupGroups_universal_d_FeedItemPermissions = FeedItemPermissions;\n    type socialGroupsV2GroupGroups_universal_d_ListGroupsRequest = ListGroupsRequest;\n    type socialGroupsV2GroupGroups_universal_d_ListGroupsResponse = ListGroupsResponse;\n    type socialGroupsV2GroupGroups_universal_d_ListGroupsByUserIdRequest = ListGroupsByUserIdRequest;\n    type socialGroupsV2GroupGroups_universal_d_ListGroupsByUserIdResponse = ListGroupsByUserIdResponse;\n    type socialGroupsV2GroupGroups_universal_d_GroupWithMsId = GroupWithMsId;\n    type socialGroupsV2GroupGroups_universal_d_QueryGroupsRequest = QueryGroupsRequest;\n    type socialGroupsV2GroupGroups_universal_d_QueryGroupsResponse = QueryGroupsResponse;\n    type socialGroupsV2GroupGroups_universal_d_QueryJoinedGroupsRequest = QueryJoinedGroupsRequest;\n    type socialGroupsV2GroupGroups_universal_d_QueryJoinedGroupsResponse = QueryJoinedGroupsResponse;\n    type socialGroupsV2GroupGroups_universal_d_QueryGroupsByMembershipRequest = QueryGroupsByMembershipRequest;\n    type socialGroupsV2GroupGroups_universal_d_MembershipStatus = MembershipStatus;\n    const socialGroupsV2GroupGroups_universal_d_MembershipStatus: typeof MembershipStatus;\n    type socialGroupsV2GroupGroups_universal_d_GroupPermissions = GroupPermissions;\n    type socialGroupsV2GroupGroups_universal_d_QueryGroupsByMembershipResponse = QueryGroupsByMembershipResponse;\n    type socialGroupsV2GroupGroups_universal_d_ListGroupIntegrationsDataRequest = ListGroupIntegrationsDataRequest;\n    type socialGroupsV2GroupGroups_universal_d_ListGroupIntegrationsDataResponse = ListGroupIntegrationsDataResponse;\n    type socialGroupsV2GroupGroups_universal_d_GroupIntegrationsData = GroupIntegrationsData;\n    type socialGroupsV2GroupGroups_universal_d_GetGroupMembersGroupIdsRequest = GetGroupMembersGroupIdsRequest;\n    type socialGroupsV2GroupGroups_universal_d_GetGroupMembersGroupIdsResponse = GetGroupMembersGroupIdsResponse;\n    type socialGroupsV2GroupGroups_universal_d_GetGroupBMFeaturesRequest = GetGroupBMFeaturesRequest;\n    type socialGroupsV2GroupGroups_universal_d_GetGroupBMFeaturesResponse = GetGroupBMFeaturesResponse;\n    type socialGroupsV2GroupGroups_universal_d_BMFeatures = BMFeatures;\n    type socialGroupsV2GroupGroups_universal_d_BMFeaturesBMFeatures = BMFeaturesBMFeatures;\n    const socialGroupsV2GroupGroups_universal_d_BMFeaturesBMFeatures: typeof BMFeaturesBMFeatures;\n    type socialGroupsV2GroupGroups_universal_d_QueryJoinedGroupsWithMemberRequest = QueryJoinedGroupsWithMemberRequest;\n    type socialGroupsV2GroupGroups_universal_d_QueryJoinedGroupsWithMemberResponse = QueryJoinedGroupsWithMemberResponse;\n    type socialGroupsV2GroupGroups_universal_d_GetPrivacyRequest = GetPrivacyRequest;\n    type socialGroupsV2GroupGroups_universal_d_GetPrivacyResponse = GetPrivacyResponse;\n    const socialGroupsV2GroupGroups_universal_d_createGroup: typeof createGroup;\n    type socialGroupsV2GroupGroups_universal_d_CreateGroupOptions = CreateGroupOptions;\n    const socialGroupsV2GroupGroups_universal_d_updateGroup: typeof updateGroup;\n    type socialGroupsV2GroupGroups_universal_d_UpdateGroup = UpdateGroup;\n    type socialGroupsV2GroupGroups_universal_d_UpdateGroupOptions = UpdateGroupOptions;\n    const socialGroupsV2GroupGroups_universal_d_deleteGroup: typeof deleteGroup;\n    const socialGroupsV2GroupGroups_universal_d_getGroup: typeof getGroup;\n    type socialGroupsV2GroupGroups_universal_d_GetGroupOptions = GetGroupOptions;\n    const socialGroupsV2GroupGroups_universal_d_getGroupBySlug: typeof getGroupBySlug;\n    type socialGroupsV2GroupGroups_universal_d_GetGroupBySlugOptions = GetGroupBySlugOptions;\n    type socialGroupsV2GroupGroups_universal_d_GetGroupIdBySlugOptions = GetGroupIdBySlugOptions;\n    const socialGroupsV2GroupGroups_universal_d_listGroups: typeof listGroups;\n    type socialGroupsV2GroupGroups_universal_d_ListGroupsOptions = ListGroupsOptions;\n    type socialGroupsV2GroupGroups_universal_d_ListGroupsByUserIdOptions = ListGroupsByUserIdOptions;\n    const socialGroupsV2GroupGroups_universal_d_queryGroups: typeof queryGroups;\n    type socialGroupsV2GroupGroups_universal_d_QueryGroupsOptions = QueryGroupsOptions;\n    type socialGroupsV2GroupGroups_universal_d_GroupsQueryResult = GroupsQueryResult;\n    type socialGroupsV2GroupGroups_universal_d_GroupsQueryBuilder = GroupsQueryBuilder;\n    type socialGroupsV2GroupGroups_universal_d_QueryJoinedGroupsOptions = QueryJoinedGroupsOptions;\n    type socialGroupsV2GroupGroups_universal_d_QueryGroupsByMembershipOptions = QueryGroupsByMembershipOptions;\n    type socialGroupsV2GroupGroups_universal_d_ListGroupIntegrationsDataOptions = ListGroupIntegrationsDataOptions;\n    type socialGroupsV2GroupGroups_universal_d_QueryJoinedGroupsWithMemberOptions = QueryJoinedGroupsWithMemberOptions;\n    namespace socialGroupsV2GroupGroups_universal_d {\n        export { socialGroupsV2GroupGroups_universal_d_Group as Group, socialGroupsV2GroupGroups_universal_d_Type as Type, socialGroupsV2GroupGroups_universal_d_Events as Events, socialGroupsV2GroupGroups_universal_d_Logo as Logo, socialGroupsV2GroupGroups_universal_d_GroupDetailsPosition as GroupDetailsPosition, socialGroupsV2GroupGroups_universal_d_Image as Image, socialGroupsV2GroupGroups_universal_d_Position as Position, socialGroupsV2GroupGroups_universal_d_AllowPolicy as AllowPolicy, socialGroupsV2GroupGroups_universal_d_OnboardingStepSettings as OnboardingStepSettings, socialGroupsV2GroupGroups_universal_d_StepKey as StepKey, socialGroupsV2GroupGroups_universal_d_PrivacyStatus as PrivacyStatus, socialGroupsV2GroupGroups_universal_d_AccessRestriction as AccessRestriction, socialGroupsV2GroupGroups_universal_d_AccessRestrictionDataOneOf as AccessRestrictionDataOneOf, socialGroupsV2GroupGroups_universal_d_GroupDetails as GroupDetails, socialGroupsV2GroupGroups_universal_d_CoverImage as CoverImage, socialGroupsV2GroupGroups_universal_d_GroupSettings as GroupSettings, socialGroupsV2GroupGroups_universal_d_Identity as Identity, socialGroupsV2GroupGroups_universal_d_IdentityType as IdentityType, socialGroupsV2GroupGroups_universal_d_CreateGroupRequest as CreateGroupRequest, socialGroupsV2GroupGroups_universal_d_ContentType as ContentType, socialGroupsV2GroupGroups_universal_d_CreateGroupResponse as CreateGroupResponse, socialGroupsV2GroupGroups_universal_d_UpdateGroupRequest as UpdateGroupRequest, socialGroupsV2GroupGroups_universal_d_UpdateGroupResponse as UpdateGroupResponse, socialGroupsV2GroupGroups_universal_d_GroupCoverChanged as GroupCoverChanged, socialGroupsV2GroupGroups_universal_d_GroupDescriptionChanged as GroupDescriptionChanged, socialGroupsV2GroupGroups_universal_d_DeleteGroupRequest as DeleteGroupRequest, socialGroupsV2GroupGroups_universal_d_DeleteGroupResponse as DeleteGroupResponse, socialGroupsV2GroupGroups_universal_d_GetGroupRequest as GetGroupRequest, socialGroupsV2GroupGroups_universal_d_GetGroupResponse as GetGroupResponse, socialGroupsV2GroupGroups_universal_d_GetGroupBySlugRequest as GetGroupBySlugRequest, socialGroupsV2GroupGroups_universal_d_GetGroupBySlugResponse as GetGroupBySlugResponse, socialGroupsV2GroupGroups_universal_d_GetGroupIdBySlugRequest as GetGroupIdBySlugRequest, socialGroupsV2GroupGroups_universal_d_GetGroupIdBySlugResponse as GetGroupIdBySlugResponse, socialGroupsV2GroupGroups_universal_d_GlobalFeedPermissions as GlobalFeedPermissions, socialGroupsV2GroupGroups_universal_d_FeedPermissions as FeedPermissions, socialGroupsV2GroupGroups_universal_d_FeedItemPermissions as FeedItemPermissions, socialGroupsV2GroupGroups_universal_d_ListGroupsRequest as ListGroupsRequest, socialGroupsV2GroupGroups_universal_d_ListGroupsResponse as ListGroupsResponse, PagingMetadata$1 as PagingMetadata, socialGroupsV2GroupGroups_universal_d_ListGroupsByUserIdRequest as ListGroupsByUserIdRequest, socialGroupsV2GroupGroups_universal_d_ListGroupsByUserIdResponse as ListGroupsByUserIdResponse, socialGroupsV2GroupGroups_universal_d_GroupWithMsId as GroupWithMsId, socialGroupsV2GroupGroups_universal_d_QueryGroupsRequest as QueryGroupsRequest, Query$1 as Query, Sorting$1 as Sorting, SortOrder$1 as SortOrder, Paging$1 as Paging, socialGroupsV2GroupGroups_universal_d_QueryGroupsResponse as QueryGroupsResponse, socialGroupsV2GroupGroups_universal_d_QueryJoinedGroupsRequest as QueryJoinedGroupsRequest, socialGroupsV2GroupGroups_universal_d_QueryJoinedGroupsResponse as QueryJoinedGroupsResponse, socialGroupsV2GroupGroups_universal_d_QueryGroupsByMembershipRequest as QueryGroupsByMembershipRequest, socialGroupsV2GroupGroups_universal_d_MembershipStatus as MembershipStatus, socialGroupsV2GroupGroups_universal_d_GroupPermissions as GroupPermissions, socialGroupsV2GroupGroups_universal_d_QueryGroupsByMembershipResponse as QueryGroupsByMembershipResponse, socialGroupsV2GroupGroups_universal_d_ListGroupIntegrationsDataRequest as ListGroupIntegrationsDataRequest, socialGroupsV2GroupGroups_universal_d_ListGroupIntegrationsDataResponse as ListGroupIntegrationsDataResponse, socialGroupsV2GroupGroups_universal_d_GroupIntegrationsData as GroupIntegrationsData, socialGroupsV2GroupGroups_universal_d_GetGroupMembersGroupIdsRequest as GetGroupMembersGroupIdsRequest, socialGroupsV2GroupGroups_universal_d_GetGroupMembersGroupIdsResponse as GetGroupMembersGroupIdsResponse, socialGroupsV2GroupGroups_universal_d_GetGroupBMFeaturesRequest as GetGroupBMFeaturesRequest, socialGroupsV2GroupGroups_universal_d_GetGroupBMFeaturesResponse as GetGroupBMFeaturesResponse, socialGroupsV2GroupGroups_universal_d_BMFeatures as BMFeatures, socialGroupsV2GroupGroups_universal_d_BMFeaturesBMFeatures as BMFeaturesBMFeatures, socialGroupsV2GroupGroups_universal_d_QueryJoinedGroupsWithMemberRequest as QueryJoinedGroupsWithMemberRequest, socialGroupsV2GroupGroups_universal_d_QueryJoinedGroupsWithMemberResponse as QueryJoinedGroupsWithMemberResponse, socialGroupsV2GroupGroups_universal_d_GetPrivacyRequest as GetPrivacyRequest, socialGroupsV2GroupGroups_universal_d_GetPrivacyResponse as GetPrivacyResponse, DomainEvent$1 as DomainEvent, DomainEventBodyOneOf$1 as DomainEventBodyOneOf, EntityCreatedEvent$1 as EntityCreatedEvent, RestoreInfo$1 as RestoreInfo, EntityUpdatedEvent$1 as EntityUpdatedEvent, EntityDeletedEvent$1 as EntityDeletedEvent, ActionEvent$1 as ActionEvent, MessageEnvelope$1 as MessageEnvelope, IdentificationData$1 as IdentificationData, IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf, WebhookIdentityType$1 as WebhookIdentityType, socialGroupsV2GroupGroups_universal_d_createGroup as createGroup, socialGroupsV2GroupGroups_universal_d_CreateGroupOptions as CreateGroupOptions, socialGroupsV2GroupGroups_universal_d_updateGroup as updateGroup, socialGroupsV2GroupGroups_universal_d_UpdateGroup as UpdateGroup, socialGroupsV2GroupGroups_universal_d_UpdateGroupOptions as UpdateGroupOptions, socialGroupsV2GroupGroups_universal_d_deleteGroup as deleteGroup, socialGroupsV2GroupGroups_universal_d_getGroup as getGroup, socialGroupsV2GroupGroups_universal_d_GetGroupOptions as GetGroupOptions, socialGroupsV2GroupGroups_universal_d_getGroupBySlug as getGroupBySlug, socialGroupsV2GroupGroups_universal_d_GetGroupBySlugOptions as GetGroupBySlugOptions, socialGroupsV2GroupGroups_universal_d_GetGroupIdBySlugOptions as GetGroupIdBySlugOptions, socialGroupsV2GroupGroups_universal_d_listGroups as listGroups, socialGroupsV2GroupGroups_universal_d_ListGroupsOptions as ListGroupsOptions, socialGroupsV2GroupGroups_universal_d_ListGroupsByUserIdOptions as ListGroupsByUserIdOptions, socialGroupsV2GroupGroups_universal_d_queryGroups as queryGroups, socialGroupsV2GroupGroups_universal_d_QueryGroupsOptions as QueryGroupsOptions, socialGroupsV2GroupGroups_universal_d_GroupsQueryResult as GroupsQueryResult, socialGroupsV2GroupGroups_universal_d_GroupsQueryBuilder as GroupsQueryBuilder, socialGroupsV2GroupGroups_universal_d_QueryJoinedGroupsOptions as QueryJoinedGroupsOptions, socialGroupsV2GroupGroups_universal_d_QueryGroupsByMembershipOptions as QueryGroupsByMembershipOptions, socialGroupsV2GroupGroups_universal_d_ListGroupIntegrationsDataOptions as ListGroupIntegrationsDataOptions, socialGroupsV2GroupGroups_universal_d_QueryJoinedGroupsWithMemberOptions as QueryJoinedGroupsWithMemberOptions, };\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    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 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[];\n        autoInviteId?: string | null;\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 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        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[];\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         * @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 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        /** Rejection data. */\n        rejections?: Rejection[];\n    }\n    interface Rejection {\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        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;\n    }\n    interface PagingMetadata {\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    interface QueryJoinGroupRequestsRequest {\n        /** ID of the group requested to join. */\n        groupId: string;\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 QueryJoinGroupRequestsResponse {\n        /** Requests to join a group. */\n        joinGroupRequests?: JoinGroupRequest[];\n        metadata?: PagingMetadata;\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;\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        /** 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    interface EntityDeletedEvent {\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 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[];\n        autoInviteId?: string | null;\n    }\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[];\n    }\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         * @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    /**\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        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    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    interface ListAllJoinGroupRequestsOptions {\n        query?: Query;\n    }\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_JoinGroupRequest = JoinGroupRequest;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_RequestStatus = RequestStatus;\n    const socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_RequestStatus: typeof RequestStatus;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_RequestDetails = RequestDetails;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_SocialGroupsEvent = SocialGroupsEvent;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_SocialGroupsEventPayloadOneOf = SocialGroupsEventPayloadOneOf;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_MemberJoinedGroup = MemberJoinedGroup;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_MembersAddedToGroup = MembersAddedToGroup;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_JoinRequestsApproved = JoinRequestsApproved;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_MembersInvitedToGroup = MembersInvitedToGroup;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_GetJoinRequirementsRequest = GetJoinRequirementsRequest;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_MembershipQuestionAnswer = MembershipQuestionAnswer;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_GetJoinRequirementsResponse = GetJoinRequirementsResponse;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_PaidPlan = PaidPlan;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ViolationType = ViolationType;\n    const socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ViolationType: typeof ViolationType;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_EventsViolationOptions = EventsViolationOptions;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_PricingPlanViolationOptions = PricingPlanViolationOptions;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_MembershipQuestionViolationOptions = MembershipQuestionViolationOptions;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_Violation = Violation;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ViolationViolationOptionsOneOf = ViolationViolationOptionsOneOf;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_SubmitJoinGroupRequestRequest = SubmitJoinGroupRequestRequest;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_SubmitJoinGroupRequestResponse = SubmitJoinGroupRequestResponse;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_CancelJoinGroupRequestRequest = CancelJoinGroupRequestRequest;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_CancelJoinGroupRequestResponse = CancelJoinGroupRequestResponse;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_JoinGroupRequestCancelled = JoinGroupRequestCancelled;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ApproveJoinGroupRequestsRequest = ApproveJoinGroupRequestsRequest;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ItemsToUpdate = ItemsToUpdate;\n    const socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ItemsToUpdate: typeof ItemsToUpdate;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ApproveJoinGroupRequestsResponse = ApproveJoinGroupRequestsResponse;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_JoinGroupRequestApproved = JoinGroupRequestApproved;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_RejectJoinGroupRequestsRequest = RejectJoinGroupRequestsRequest;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_Rejection = Rejection;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_RejectJoinGroupRequestsResponse = RejectJoinGroupRequestsResponse;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_JoinGroupRequestRejected = JoinGroupRequestRejected;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ListJoinGroupRequestsRequest = ListJoinGroupRequestsRequest;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_OwnershipFilter = OwnershipFilter;\n    const socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_OwnershipFilter: typeof OwnershipFilter;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ListJoinGroupRequestsResponse = ListJoinGroupRequestsResponse;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_PagingMetadata = PagingMetadata;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_QueryJoinGroupRequestsRequest = QueryJoinGroupRequestsRequest;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_Query = Query;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_Sorting = Sorting;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_SortOrder = SortOrder;\n    const socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_SortOrder: typeof SortOrder;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_Paging = Paging;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_QueryJoinGroupRequestsResponse = QueryJoinGroupRequestsResponse;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_RejectAllJoinGroupRequestsRequest = RejectAllJoinGroupRequestsRequest;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_RejectAllJoinGroupRequestsResponse = RejectAllJoinGroupRequestsResponse;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ApproveAllJoinGroupRequestsRequest = ApproveAllJoinGroupRequestsRequest;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ApproveAllJoinGroupRequestsResponse = ApproveAllJoinGroupRequestsResponse;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ListAllJoinGroupRequestsRequest = ListAllJoinGroupRequestsRequest;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ListAllJoinGroupRequestsResponse = ListAllJoinGroupRequestsResponse;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_DomainEvent = DomainEvent;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_RestoreInfo = RestoreInfo;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ActionEvent = ActionEvent;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_MessageEnvelope = MessageEnvelope;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_IdentificationData = IdentificationData;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_WebhookIdentityType = WebhookIdentityType;\n    const socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_GetJoinRequirementsOptions = GetJoinRequirementsOptions;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_SubmitJoinGroupRequestOptions = SubmitJoinGroupRequestOptions;\n    const socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_approveJoinGroupRequests: typeof approveJoinGroupRequests;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ApproveJoinGroupRequestsOptions = ApproveJoinGroupRequestsOptions;\n    const socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_rejectJoinGroupRequests: typeof rejectJoinGroupRequests;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_RejectJoinGroupRequestsOptions = RejectJoinGroupRequestsOptions;\n    const socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_listJoinGroupRequests: typeof listJoinGroupRequests;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ListJoinGroupRequestsOptions = ListJoinGroupRequestsOptions;\n    const socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_queryJoinGroupRequests: typeof queryJoinGroupRequests;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_QueryJoinGroupRequestsOptions = QueryJoinGroupRequestsOptions;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_JoinGroupRequestsQueryResult = JoinGroupRequestsQueryResult;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_JoinGroupRequestsQueryBuilder = JoinGroupRequestsQueryBuilder;\n    type socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ListAllJoinGroupRequestsOptions = ListAllJoinGroupRequestsOptions;\n    namespace socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d {\n        export { socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_JoinGroupRequest as JoinGroupRequest, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_RequestStatus as RequestStatus, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_RequestDetails as RequestDetails, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_SocialGroupsEvent as SocialGroupsEvent, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_SocialGroupsEventPayloadOneOf as SocialGroupsEventPayloadOneOf, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_MemberJoinedGroup as MemberJoinedGroup, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_MembersAddedToGroup as MembersAddedToGroup, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_JoinRequestsApproved as JoinRequestsApproved, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_MembersInvitedToGroup as MembersInvitedToGroup, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_GetJoinRequirementsRequest as GetJoinRequirementsRequest, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_MembershipQuestionAnswer as MembershipQuestionAnswer, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_GetJoinRequirementsResponse as GetJoinRequirementsResponse, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_PaidPlan as PaidPlan, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ViolationType as ViolationType, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_EventsViolationOptions as EventsViolationOptions, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_PricingPlanViolationOptions as PricingPlanViolationOptions, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_MembershipQuestionViolationOptions as MembershipQuestionViolationOptions, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_Violation as Violation, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ViolationViolationOptionsOneOf as ViolationViolationOptionsOneOf, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_SubmitJoinGroupRequestRequest as SubmitJoinGroupRequestRequest, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_SubmitJoinGroupRequestResponse as SubmitJoinGroupRequestResponse, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_CancelJoinGroupRequestRequest as CancelJoinGroupRequestRequest, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_CancelJoinGroupRequestResponse as CancelJoinGroupRequestResponse, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_JoinGroupRequestCancelled as JoinGroupRequestCancelled, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ApproveJoinGroupRequestsRequest as ApproveJoinGroupRequestsRequest, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ItemsToUpdate as ItemsToUpdate, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ApproveJoinGroupRequestsResponse as ApproveJoinGroupRequestsResponse, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_JoinGroupRequestApproved as JoinGroupRequestApproved, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_RejectJoinGroupRequestsRequest as RejectJoinGroupRequestsRequest, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_Rejection as Rejection, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_RejectJoinGroupRequestsResponse as RejectJoinGroupRequestsResponse, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_JoinGroupRequestRejected as JoinGroupRequestRejected, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ListJoinGroupRequestsRequest as ListJoinGroupRequestsRequest, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_OwnershipFilter as OwnershipFilter, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ListJoinGroupRequestsResponse as ListJoinGroupRequestsResponse, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_PagingMetadata as PagingMetadata, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_QueryJoinGroupRequestsRequest as QueryJoinGroupRequestsRequest, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_Query as Query, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_Sorting as Sorting, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_SortOrder as SortOrder, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_Paging as Paging, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_QueryJoinGroupRequestsResponse as QueryJoinGroupRequestsResponse, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_RejectAllJoinGroupRequestsRequest as RejectAllJoinGroupRequestsRequest, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_RejectAllJoinGroupRequestsResponse as RejectAllJoinGroupRequestsResponse, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ApproveAllJoinGroupRequestsRequest as ApproveAllJoinGroupRequestsRequest, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ApproveAllJoinGroupRequestsResponse as ApproveAllJoinGroupRequestsResponse, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ListAllJoinGroupRequestsRequest as ListAllJoinGroupRequestsRequest, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ListAllJoinGroupRequestsResponse as ListAllJoinGroupRequestsResponse, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_DomainEvent as DomainEvent, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_EntityCreatedEvent as EntityCreatedEvent, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_RestoreInfo as RestoreInfo, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_EntityUpdatedEvent as EntityUpdatedEvent, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_EntityDeletedEvent as EntityDeletedEvent, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ActionEvent as ActionEvent, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_MessageEnvelope as MessageEnvelope, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_IdentificationData as IdentificationData, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_WebhookIdentityType as WebhookIdentityType, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_GetJoinRequirementsOptions as GetJoinRequirementsOptions, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_SubmitJoinGroupRequestOptions as SubmitJoinGroupRequestOptions, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_approveJoinGroupRequests as approveJoinGroupRequests, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ApproveJoinGroupRequestsOptions as ApproveJoinGroupRequestsOptions, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_rejectJoinGroupRequests as rejectJoinGroupRequests, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_RejectJoinGroupRequestsOptions as RejectJoinGroupRequestsOptions, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_listJoinGroupRequests as listJoinGroupRequests, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ListJoinGroupRequestsOptions as ListJoinGroupRequestsOptions, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_queryJoinGroupRequests as queryJoinGroupRequests, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_QueryJoinGroupRequestsOptions as QueryJoinGroupRequestsOptions, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_JoinGroupRequestsQueryResult as JoinGroupRequestsQueryResult, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_JoinGroupRequestsQueryBuilder as JoinGroupRequestsQueryBuilder, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d_ListAllJoinGroupRequestsOptions as ListAllJoinGroupRequestsOptions, };\n    }\n    export { socialGroupsV2GroupGroups_universal_d as groups, socialGroupsV2JoinGroupRequestJoinGroupRequests_universal_d as joinGroupRequests, socialGroupsV2GroupMemberMembers_universal_d as members, socialGroupsV2GroupRoleRoles_universal_d as roles };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/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        /** 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 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        /** 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    interface EntityDeletedEvent {\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 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     * @permissionScope Manage Coupons\n     * @permissionScopeId SCOPE.DC-COUPONS.MANAGE-COUPONS\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @applicableIdentity APP\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     * @permissionScope Manage Coupons\n     * @permissionScopeId SCOPE.DC-COUPONS.MANAGE-COUPONS\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @applicableIdentity APP\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     * @permissionScope Manage Coupons\n     * @permissionScopeId SCOPE.DC-COUPONS.MANAGE-COUPONS\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @applicableIdentity APP\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     * @permissionScope Manage Coupons\n     * @permissionScopeId SCOPE.DC-COUPONS.MANAGE-COUPONS\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @applicableIdentity APP\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     * @permissionScope Manage Coupons\n     * @permissionScopeId SCOPE.DC-COUPONS.MANAGE-COUPONS\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function queryCoupons(query: Query): Promise<QueryCouponsResponse>;\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    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     * 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     * @permissionScope Manage Coupons\n     * @permissionScopeId SCOPE.DC-COUPONS.MANAGE-COUPONS\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @applicableIdentity APP\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     * @permissionScope Manage Coupons\n     * @permissionScopeId SCOPE.DC-COUPONS.MANAGE-COUPONS\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @applicableIdentity APP\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    type ecommerceCouponsV2CouponCoupons_universal_d_Coupon = Coupon;\n    type ecommerceCouponsV2CouponCoupons_universal_d_MediaItem = MediaItem;\n    type ecommerceCouponsV2CouponCoupons_universal_d_Specification = Specification;\n    type ecommerceCouponsV2CouponCoupons_universal_d_SpecificationScopeOrMinSubtotalOneOf = SpecificationScopeOrMinSubtotalOneOf;\n    type ecommerceCouponsV2CouponCoupons_universal_d_SpecificationBehaviorOneOf = SpecificationBehaviorOneOf;\n    type ecommerceCouponsV2CouponCoupons_universal_d_Scope = Scope;\n    type ecommerceCouponsV2CouponCoupons_universal_d_Group = Group;\n    type ecommerceCouponsV2CouponCoupons_universal_d_BuyXGetY = BuyXGetY;\n    type ecommerceCouponsV2CouponCoupons_universal_d_DisplayData = DisplayData;\n    type ecommerceCouponsV2CouponCoupons_universal_d_CreateCouponRequest = CreateCouponRequest;\n    type ecommerceCouponsV2CouponCoupons_universal_d_CreateCouponResponse = CreateCouponResponse;\n    type ecommerceCouponsV2CouponCoupons_universal_d_UpdateCouponRequest = UpdateCouponRequest;\n    type ecommerceCouponsV2CouponCoupons_universal_d_UpdateCouponResponse = UpdateCouponResponse;\n    type ecommerceCouponsV2CouponCoupons_universal_d_GetCouponRequest = GetCouponRequest;\n    type ecommerceCouponsV2CouponCoupons_universal_d_GetCouponResponse = GetCouponResponse;\n    type ecommerceCouponsV2CouponCoupons_universal_d_DeleteCouponRequest = DeleteCouponRequest;\n    type ecommerceCouponsV2CouponCoupons_universal_d_DeleteCouponResponse = DeleteCouponResponse;\n    type ecommerceCouponsV2CouponCoupons_universal_d_QueryCouponsRequest = QueryCouponsRequest;\n    type ecommerceCouponsV2CouponCoupons_universal_d_Query = Query;\n    type ecommerceCouponsV2CouponCoupons_universal_d_Paging = Paging;\n    type ecommerceCouponsV2CouponCoupons_universal_d_QueryCouponsResponse = QueryCouponsResponse;\n    type ecommerceCouponsV2CouponCoupons_universal_d_CalculateRequest = CalculateRequest;\n    type ecommerceCouponsV2CouponCoupons_universal_d_CalculateRequestCalculateByOneOf = CalculateRequestCalculateByOneOf;\n    type ecommerceCouponsV2CouponCoupons_universal_d_Cart = Cart;\n    type ecommerceCouponsV2CouponCoupons_universal_d_AppliedDiscount = AppliedDiscount;\n    type ecommerceCouponsV2CouponCoupons_universal_d_LineItem = LineItem;\n    type ecommerceCouponsV2CouponCoupons_universal_d_Shipping = Shipping;\n    type ecommerceCouponsV2CouponCoupons_universal_d_Totals = Totals;\n    type ecommerceCouponsV2CouponCoupons_universal_d_CalculateResponse = CalculateResponse;\n    type ecommerceCouponsV2CouponCoupons_universal_d_AppliedCoupon = AppliedCoupon;\n    type ecommerceCouponsV2CouponCoupons_universal_d_Error = Error;\n    type ecommerceCouponsV2CouponCoupons_universal_d_IncreaseUsageRequest = IncreaseUsageRequest;\n    type ecommerceCouponsV2CouponCoupons_universal_d_IncreaseUsageResponse = IncreaseUsageResponse;\n    type ecommerceCouponsV2CouponCoupons_universal_d_CouponApplied = CouponApplied;\n    type ecommerceCouponsV2CouponCoupons_universal_d_HasCouponsRequest = HasCouponsRequest;\n    type ecommerceCouponsV2CouponCoupons_universal_d_HasCouponsResponse = HasCouponsResponse;\n    type ecommerceCouponsV2CouponCoupons_universal_d_BulkDeleteCouponsRequest = BulkDeleteCouponsRequest;\n    type ecommerceCouponsV2CouponCoupons_universal_d_BulkDeleteCouponsResponse = BulkDeleteCouponsResponse;\n    type ecommerceCouponsV2CouponCoupons_universal_d_ItemMetadata = ItemMetadata;\n    type ecommerceCouponsV2CouponCoupons_universal_d_ApplicationError = ApplicationError;\n    type ecommerceCouponsV2CouponCoupons_universal_d_BulkActionMetadata = BulkActionMetadata;\n    type ecommerceCouponsV2CouponCoupons_universal_d_BulkCreateCouponsRequest = BulkCreateCouponsRequest;\n    type ecommerceCouponsV2CouponCoupons_universal_d_BulkCreateCouponsResponse = BulkCreateCouponsResponse;\n    type ecommerceCouponsV2CouponCoupons_universal_d_BulkCreateCouponResult = BulkCreateCouponResult;\n    type ecommerceCouponsV2CouponCoupons_universal_d_DomainEvent = DomainEvent;\n    type ecommerceCouponsV2CouponCoupons_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n    type ecommerceCouponsV2CouponCoupons_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n    type ecommerceCouponsV2CouponCoupons_universal_d_RestoreInfo = RestoreInfo;\n    type ecommerceCouponsV2CouponCoupons_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n    type ecommerceCouponsV2CouponCoupons_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n    type ecommerceCouponsV2CouponCoupons_universal_d_ActionEvent = ActionEvent;\n    type ecommerceCouponsV2CouponCoupons_universal_d_MessageEnvelope = MessageEnvelope;\n    type ecommerceCouponsV2CouponCoupons_universal_d_IdentificationData = IdentificationData;\n    type ecommerceCouponsV2CouponCoupons_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n    type ecommerceCouponsV2CouponCoupons_universal_d_WebhookIdentityType = WebhookIdentityType;\n    const ecommerceCouponsV2CouponCoupons_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n    const ecommerceCouponsV2CouponCoupons_universal_d_createCoupon: typeof createCoupon;\n    const ecommerceCouponsV2CouponCoupons_universal_d_updateCoupon: typeof updateCoupon;\n    const ecommerceCouponsV2CouponCoupons_universal_d_getCoupon: typeof getCoupon;\n    const ecommerceCouponsV2CouponCoupons_universal_d_deleteCoupon: typeof deleteCoupon;\n    const ecommerceCouponsV2CouponCoupons_universal_d_queryCoupons: typeof queryCoupons;\n    type ecommerceCouponsV2CouponCoupons_universal_d_CalculateCartOptions = CalculateCartOptions;\n    type ecommerceCouponsV2CouponCoupons_universal_d_IncreaseUsageOptions = IncreaseUsageOptions;\n    const ecommerceCouponsV2CouponCoupons_universal_d_bulkDeleteCoupons: typeof bulkDeleteCoupons;\n    const ecommerceCouponsV2CouponCoupons_universal_d_bulkCreateCoupons: typeof bulkCreateCoupons;\n    type ecommerceCouponsV2CouponCoupons_universal_d_BulkCreateCouponsOptions = BulkCreateCouponsOptions;\n    namespace ecommerceCouponsV2CouponCoupons_universal_d {\n        export { ecommerceCouponsV2CouponCoupons_universal_d_Coupon as Coupon, ecommerceCouponsV2CouponCoupons_universal_d_MediaItem as MediaItem, ecommerceCouponsV2CouponCoupons_universal_d_Specification as Specification, ecommerceCouponsV2CouponCoupons_universal_d_SpecificationScopeOrMinSubtotalOneOf as SpecificationScopeOrMinSubtotalOneOf, ecommerceCouponsV2CouponCoupons_universal_d_SpecificationBehaviorOneOf as SpecificationBehaviorOneOf, ecommerceCouponsV2CouponCoupons_universal_d_Scope as Scope, ecommerceCouponsV2CouponCoupons_universal_d_Group as Group, ecommerceCouponsV2CouponCoupons_universal_d_BuyXGetY as BuyXGetY, ecommerceCouponsV2CouponCoupons_universal_d_DisplayData as DisplayData, ecommerceCouponsV2CouponCoupons_universal_d_CreateCouponRequest as CreateCouponRequest, ecommerceCouponsV2CouponCoupons_universal_d_CreateCouponResponse as CreateCouponResponse, ecommerceCouponsV2CouponCoupons_universal_d_UpdateCouponRequest as UpdateCouponRequest, ecommerceCouponsV2CouponCoupons_universal_d_UpdateCouponResponse as UpdateCouponResponse, ecommerceCouponsV2CouponCoupons_universal_d_GetCouponRequest as GetCouponRequest, ecommerceCouponsV2CouponCoupons_universal_d_GetCouponResponse as GetCouponResponse, ecommerceCouponsV2CouponCoupons_universal_d_DeleteCouponRequest as DeleteCouponRequest, ecommerceCouponsV2CouponCoupons_universal_d_DeleteCouponResponse as DeleteCouponResponse, ecommerceCouponsV2CouponCoupons_universal_d_QueryCouponsRequest as QueryCouponsRequest, ecommerceCouponsV2CouponCoupons_universal_d_Query as Query, ecommerceCouponsV2CouponCoupons_universal_d_Paging as Paging, ecommerceCouponsV2CouponCoupons_universal_d_QueryCouponsResponse as QueryCouponsResponse, ecommerceCouponsV2CouponCoupons_universal_d_CalculateRequest as CalculateRequest, ecommerceCouponsV2CouponCoupons_universal_d_CalculateRequestCalculateByOneOf as CalculateRequestCalculateByOneOf, ecommerceCouponsV2CouponCoupons_universal_d_Cart as Cart, ecommerceCouponsV2CouponCoupons_universal_d_AppliedDiscount as AppliedDiscount, ecommerceCouponsV2CouponCoupons_universal_d_LineItem as LineItem, ecommerceCouponsV2CouponCoupons_universal_d_Shipping as Shipping, ecommerceCouponsV2CouponCoupons_universal_d_Totals as Totals, ecommerceCouponsV2CouponCoupons_universal_d_CalculateResponse as CalculateResponse, ecommerceCouponsV2CouponCoupons_universal_d_AppliedCoupon as AppliedCoupon, ecommerceCouponsV2CouponCoupons_universal_d_Error as Error, ecommerceCouponsV2CouponCoupons_universal_d_IncreaseUsageRequest as IncreaseUsageRequest, ecommerceCouponsV2CouponCoupons_universal_d_IncreaseUsageResponse as IncreaseUsageResponse, ecommerceCouponsV2CouponCoupons_universal_d_CouponApplied as CouponApplied, ecommerceCouponsV2CouponCoupons_universal_d_HasCouponsRequest as HasCouponsRequest, ecommerceCouponsV2CouponCoupons_universal_d_HasCouponsResponse as HasCouponsResponse, ecommerceCouponsV2CouponCoupons_universal_d_BulkDeleteCouponsRequest as BulkDeleteCouponsRequest, ecommerceCouponsV2CouponCoupons_universal_d_BulkDeleteCouponsResponse as BulkDeleteCouponsResponse, ecommerceCouponsV2CouponCoupons_universal_d_ItemMetadata as ItemMetadata, ecommerceCouponsV2CouponCoupons_universal_d_ApplicationError as ApplicationError, ecommerceCouponsV2CouponCoupons_universal_d_BulkActionMetadata as BulkActionMetadata, ecommerceCouponsV2CouponCoupons_universal_d_BulkCreateCouponsRequest as BulkCreateCouponsRequest, ecommerceCouponsV2CouponCoupons_universal_d_BulkCreateCouponsResponse as BulkCreateCouponsResponse, ecommerceCouponsV2CouponCoupons_universal_d_BulkCreateCouponResult as BulkCreateCouponResult, ecommerceCouponsV2CouponCoupons_universal_d_DomainEvent as DomainEvent, ecommerceCouponsV2CouponCoupons_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf, ecommerceCouponsV2CouponCoupons_universal_d_EntityCreatedEvent as EntityCreatedEvent, ecommerceCouponsV2CouponCoupons_universal_d_RestoreInfo as RestoreInfo, ecommerceCouponsV2CouponCoupons_universal_d_EntityUpdatedEvent as EntityUpdatedEvent, ecommerceCouponsV2CouponCoupons_universal_d_EntityDeletedEvent as EntityDeletedEvent, ecommerceCouponsV2CouponCoupons_universal_d_ActionEvent as ActionEvent, ecommerceCouponsV2CouponCoupons_universal_d_MessageEnvelope as MessageEnvelope, ecommerceCouponsV2CouponCoupons_universal_d_IdentificationData as IdentificationData, ecommerceCouponsV2CouponCoupons_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf, ecommerceCouponsV2CouponCoupons_universal_d_WebhookIdentityType as WebhookIdentityType, ecommerceCouponsV2CouponCoupons_universal_d_createCoupon as createCoupon, ecommerceCouponsV2CouponCoupons_universal_d_updateCoupon as updateCoupon, ecommerceCouponsV2CouponCoupons_universal_d_getCoupon as getCoupon, ecommerceCouponsV2CouponCoupons_universal_d_deleteCoupon as deleteCoupon, ecommerceCouponsV2CouponCoupons_universal_d_queryCoupons as queryCoupons, ecommerceCouponsV2CouponCoupons_universal_d_CalculateCartOptions as CalculateCartOptions, ecommerceCouponsV2CouponCoupons_universal_d_IncreaseUsageOptions as IncreaseUsageOptions, ecommerceCouponsV2CouponCoupons_universal_d_bulkDeleteCoupons as bulkDeleteCoupons, ecommerceCouponsV2CouponCoupons_universal_d_bulkCreateCoupons as bulkCreateCoupons, ecommerceCouponsV2CouponCoupons_universal_d_BulkCreateCouponsOptions as BulkCreateCouponsOptions, };\n    }\n    export { ecommerceCouponsV2CouponCoupons_universal_d as coupons };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-ecom.v2.d.ts",
      "content": "declare module \"wix-ecom.v2\" {\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;\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;\n    }\n    /**\n     * Returns an array of currencies. The array lists all currencies for which Wix supports conversion and their symbols.\n     * @public\n     * @permissionScope Manage Currencies\n     * @permissionScopeId SCOPE.DC-CURRENCY-CONVERTER.MANAGE-CURRENCIES\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @applicableIdentity APP\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     * @permissionScope Manage Currencies\n     * @permissionScopeId SCOPE.DC-CURRENCY-CONVERTER.MANAGE-CURRENCIES\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @applicableIdentity APP\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     * @permissionScope Manage Currencies\n     * @permissionScopeId SCOPE.DC-CURRENCY-CONVERTER.MANAGE-CURRENCIES\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @applicableIdentity APP\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    type ecommerceCurrencyConverterV1CurrencyRateCurrencies_universal_d_CurrencyRate = CurrencyRate;\n    type ecommerceCurrencyConverterV1CurrencyRateCurrencies_universal_d_ListCurrenciesRequest = ListCurrenciesRequest;\n    type ecommerceCurrencyConverterV1CurrencyRateCurrencies_universal_d_ListCurrenciesResponse = ListCurrenciesResponse;\n    type ecommerceCurrencyConverterV1CurrencyRateCurrencies_universal_d_Currency = Currency;\n    type ecommerceCurrencyConverterV1CurrencyRateCurrencies_universal_d_ConvertCurrencyRequest = ConvertCurrencyRequest;\n    type ecommerceCurrencyConverterV1CurrencyRateCurrencies_universal_d_DecimalValue = DecimalValue;\n    type ecommerceCurrencyConverterV1CurrencyRateCurrencies_universal_d_ConvertCurrencyResponse = ConvertCurrencyResponse;\n    type ecommerceCurrencyConverterV1CurrencyRateCurrencies_universal_d_ConversionRateRequest = ConversionRateRequest;\n    type ecommerceCurrencyConverterV1CurrencyRateCurrencies_universal_d_ConversionRateResponse = ConversionRateResponse;\n    const ecommerceCurrencyConverterV1CurrencyRateCurrencies_universal_d_listCurrencies: typeof listCurrencies;\n    const ecommerceCurrencyConverterV1CurrencyRateCurrencies_universal_d_convertCurrency: typeof convertCurrency;\n    type ecommerceCurrencyConverterV1CurrencyRateCurrencies_universal_d_ConvertCurrencyIdentifiers = ConvertCurrencyIdentifiers;\n    const ecommerceCurrencyConverterV1CurrencyRateCurrencies_universal_d_getConversionRate: typeof getConversionRate;\n    type ecommerceCurrencyConverterV1CurrencyRateCurrencies_universal_d_GetConversionRateIdentifiers = GetConversionRateIdentifiers;\n    namespace ecommerceCurrencyConverterV1CurrencyRateCurrencies_universal_d {\n        export { ecommerceCurrencyConverterV1CurrencyRateCurrencies_universal_d_CurrencyRate as CurrencyRate, ecommerceCurrencyConverterV1CurrencyRateCurrencies_universal_d_ListCurrenciesRequest as ListCurrenciesRequest, ecommerceCurrencyConverterV1CurrencyRateCurrencies_universal_d_ListCurrenciesResponse as ListCurrenciesResponse, ecommerceCurrencyConverterV1CurrencyRateCurrencies_universal_d_Currency as Currency, ecommerceCurrencyConverterV1CurrencyRateCurrencies_universal_d_ConvertCurrencyRequest as ConvertCurrencyRequest, ecommerceCurrencyConverterV1CurrencyRateCurrencies_universal_d_DecimalValue as DecimalValue, ecommerceCurrencyConverterV1CurrencyRateCurrencies_universal_d_ConvertCurrencyResponse as ConvertCurrencyResponse, ecommerceCurrencyConverterV1CurrencyRateCurrencies_universal_d_ConversionRateRequest as ConversionRateRequest, ecommerceCurrencyConverterV1CurrencyRateCurrencies_universal_d_ConversionRateResponse as ConversionRateResponse, ecommerceCurrencyConverterV1CurrencyRateCurrencies_universal_d_listCurrencies as listCurrencies, ecommerceCurrencyConverterV1CurrencyRateCurrencies_universal_d_convertCurrency as convertCurrency, ecommerceCurrencyConverterV1CurrencyRateCurrencies_universal_d_ConvertCurrencyIdentifiers as ConvertCurrencyIdentifiers, ecommerceCurrencyConverterV1CurrencyRateCurrencies_universal_d_getConversionRate as getConversionRate, ecommerceCurrencyConverterV1CurrencyRateCurrencies_universal_d_GetConversionRateIdentifiers as GetConversionRateIdentifiers, };\n    }\n    export { ecommerceCurrencyConverterV1CurrencyRateCurrencies_universal_d as currencies };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/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    interface ActionProvider {\n    }\n    interface ValidateConfigurationRequest {\n        /**\n         * Action key as defined in your app's action configuration in the Wix Developers Center.\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. */\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 Wix Developers Center.\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        /** Whether the quotas for your action are enforced */\n        enforced?: boolean;\n        /** The plans your service provides together with the quotas enforced by each plan. */\n        quotaInfo?: QuotaInfo[];\n    }\n    interface QuotaInfo {\n        /** Plan details. */\n        plans?: Plan[];\n        /** Quota details. */\n        quotas?: Quota[];\n        /** Details for a call-to-action button. Displayed in the site contributor’s dashboard together with the quota details. */\n        upgradeCta?: UpgradeCTA;\n    }\n    interface Plan {\n        /** Plan ID. */\n        _id?: string;\n        /** Plan name displayed in the site contributor’s dashboard. */\n        name?: string;\n    }\n    interface Quota {\n        /** Name of the feature the quota is related to. */\n        featureName?: string;\n        /** Quota renewal date in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */\n        renewalDate?: Date;\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    interface InvokeRequest {\n        /**\n         * Data for executing your action.\n         * Structured according to the [input schema]()\n         * you provided when configuring the action in the Wix Developer’s Center.\n         */\n        actionParams: Record<string, any> | null;\n        /**\n         * Action key as defined in your app's action configuration in the Wix Developers Center.\n         * For example, `send-email` or `generate-invoice`.\n         */\n        actionKey: string;\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    }\n    interface InvokeResponse {\n        /**\n         * If the action has no output schema this should be empty.\n         * If the action defines an output schema, the result should be 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 ActionProviderSPIConfig {\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 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        /** Chosen interface for action */\n        interfaceConfiguration?: InterfaceConfiguration;\n        /** Icon representing the action in the 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 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    }\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    /**\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 ValidateConfigurationOptions {\n        /**\n         * Action key as defined in your app's action configuration in the Wix Developers Center.\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 DuplicateInputMappingOptions {\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 GenerateApplicationAutomationInputMappingOptions {\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 GetQuotaInfoOptions {\n        /**\n         * Action key as defined in your app's action configuration in the Wix Developers Center.\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]()\n         * you provided when configuring the action in the Wix Developer’s Center.\n         */\n        actionParams: Record<string, any> | null;\n        /**\n         * Action key as defined in your app's action configuration in the Wix Developers Center.\n         * For example, `send-email` or `generate-invoice`.\n         */\n        actionKey: string;\n    }\n    interface ResetActionOptions {\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 OnRemoveActionOptions {\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 OnBeforeSaveOptions {\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 GenerateActionInputMappingFromTemplateOptions {\n        /** action input mapping template the action spi provider will generate input mapping from */\n        actionInputMappingTemplate: Record<string, any> | null;\n    }\n    export { ActionProvider, ActionProviderSPIConfig, ActionQuotaInfo, ActionSPIConfig, ActivationContext, AdditionalInfo, BusinessError, CTA, Context, DuplicateInputMappingOptions, DuplicateInputMappingRequest, DuplicateInputMappingResponse, ExecutionType, GenerateActionInputMappingFromTemplateOptions, GenerateActionInputMappingFromTemplateRequest, GenerateActionInputMappingFromTemplateResponse, GenerateApplicationAutomationInputMappingOptions, GenerateApplicationAutomationInputMappingRequest, GenerateApplicationAutomationInputMappingResponse, GenericOptions, GetQuotaInfoOptions, GetQuotaInfoRequest, GetQuotaInfoResponse, IdentificationData, IdentificationDataIdOneOf, IdentityType, ImplementedMethods, InterfaceConfiguration, InterfaceConfigurationOptionsOneOf, InvokeOptions, InvokeRequest, InvokeResponse, Metadata, OnBeforeSaveOptions, OnBeforeSaveRequest, OnBeforeSaveResponse, OnRemoveActionOptions, OnRemoveActionRequest, OnRemoveActionResponse, Plan, ProviderConfigurationError, Quota, QuotaInfo, ResetActionOptions, ResetActionRequest, ResetActionResponse, Type, UpgradeCTA, ValidateConfigurationOptions, ValidateConfigurationRequest, ValidateConfigurationResponse, WidgetComponentOptions };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-data.v2.d.ts",
      "content": "declare module \"wix-data.v2\" {\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?: Field$1[];\n        /**\n         * Current status of the index.\n         * @readonly\n         */\n        status?: Status$1;\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 Field$1 {\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 Status$1 {\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        /** 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        /** Details of the index to be created. */\n        index: Index$1;\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$1;\n    }\n    interface DropIndexRequest {\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        /** 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$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 ListIndexesResponse {\n        /** List of all indexes for the requested data collection. */\n        indexes?: Index$1[];\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    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     * @permissionScope Manage Data Indexes\n     * @permissionScopeId SCOPE.DC-DATA.INDEXES-MANAGE\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Details of the index being generated.\n     */\n    function createIndex(dataCollectionId: string, index: Index$1, options?: CreateIndexOptions): Promise<Index$1>;\n    interface CreateIndexOptions {\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     * @permissionScope Manage Data Indexes\n     * @permissionScopeId SCOPE.DC-DATA.INDEXES-MANAGE\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function dropIndex(dataCollectionId: string, indexName: string, options?: DropIndexOptions): Promise<void>;\n    interface DropIndexOptions {\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     * @permissionScope Manage Data Indexes\n     * @permissionScopeId SCOPE.DC-DATA.INDEXES-MANAGE\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function listIndexes(dataCollectionId: string, options?: ListIndexesOptions): Promise<ListIndexesResponse>;\n    interface ListIndexesOptions {\n        /** Paging options to limit and skip the number of items. */\n        paging?: Paging$2;\n    }\n    type dataV2IndexIndexes_universal_d_CreateIndexRequest = CreateIndexRequest;\n    type dataV2IndexIndexes_universal_d_Environment = Environment;\n    const dataV2IndexIndexes_universal_d_Environment: typeof Environment;\n    type dataV2IndexIndexes_universal_d_CreateIndexResponse = CreateIndexResponse;\n    type dataV2IndexIndexes_universal_d_DropIndexRequest = DropIndexRequest;\n    type dataV2IndexIndexes_universal_d_DropIndexResponse = DropIndexResponse;\n    type dataV2IndexIndexes_universal_d_ListIndexesRequest = ListIndexesRequest;\n    type dataV2IndexIndexes_universal_d_ListIndexesResponse = ListIndexesResponse;\n    type dataV2IndexIndexes_universal_d_ListAvailableIndexesRequest = ListAvailableIndexesRequest;\n    type dataV2IndexIndexes_universal_d_ListAvailableIndexesResponse = ListAvailableIndexesResponse;\n    const dataV2IndexIndexes_universal_d_createIndex: typeof createIndex;\n    type dataV2IndexIndexes_universal_d_CreateIndexOptions = CreateIndexOptions;\n    const dataV2IndexIndexes_universal_d_dropIndex: typeof dropIndex;\n    type dataV2IndexIndexes_universal_d_DropIndexOptions = DropIndexOptions;\n    const dataV2IndexIndexes_universal_d_listIndexes: typeof listIndexes;\n    type dataV2IndexIndexes_universal_d_ListIndexesOptions = ListIndexesOptions;\n    namespace dataV2IndexIndexes_universal_d {\n        export { Index$1 as Index, Order$1 as Order, Field$1 as Field, Status$1 as Status, Failure$1 as Failure, dataV2IndexIndexes_universal_d_CreateIndexRequest as CreateIndexRequest, dataV2IndexIndexes_universal_d_Environment as Environment, dataV2IndexIndexes_universal_d_CreateIndexResponse as CreateIndexResponse, dataV2IndexIndexes_universal_d_DropIndexRequest as DropIndexRequest, dataV2IndexIndexes_universal_d_DropIndexResponse as DropIndexResponse, dataV2IndexIndexes_universal_d_ListIndexesRequest as ListIndexesRequest, Paging$2 as Paging, dataV2IndexIndexes_universal_d_ListIndexesResponse as ListIndexesResponse, PagingMetadata$1 as PagingMetadata, dataV2IndexIndexes_universal_d_ListAvailableIndexesRequest as ListAvailableIndexesRequest, dataV2IndexIndexes_universal_d_ListAvailableIndexesResponse as ListAvailableIndexesResponse, dataV2IndexIndexes_universal_d_createIndex as createIndex, dataV2IndexIndexes_universal_d_CreateIndexOptions as CreateIndexOptions, dataV2IndexIndexes_universal_d_dropIndex as dropIndex, dataV2IndexIndexes_universal_d_DropIndexOptions as DropIndexOptions, dataV2IndexIndexes_universal_d_listIndexes as listIndexes, dataV2IndexIndexes_universal_d_ListIndexesOptions as ListIndexesOptions, };\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 CMS. 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         * @readonly\n         */\n        displayNamespace?: string | null;\n        /** The 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[];\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        /**\n         * Data operations the collection supports. The listed operations can be performed on data the collection contains.\n         *\n         * Supported values: `AGGREGATE`, `BULK_INSERT`, `BULK_REMOVE`, `BULK_SAVE`, `BULK_UPDATE`, `COUNT`, `DISTINCT`, `FIND`, `GET`, `INSERT`, `INSERT_REFERENCE`, `IS_REFERENCED`, `QUERY_REFERENCED`, `REMOVE`, `REMOVE_REFERENCE`, `REPLACE_REFERENCES`, `SAVE`, `TRUNCATE`, `UPDATE`.\n         */\n        dataOperations?: DataOperation[];\n        /**\n         * Collection operations supported. The listed operations can be performed on the collection itself.\n         * + `UPDATE`: 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         * + `REMOVE`: Allows deleting the entire collection. If not included, the collection can't be deleted.\n         */\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    }\n    enum CollectionOperation {\n        /** Supports updating this collection. */\n        UPDATE = \"UPDATE\",\n        /** Supports removing this collections. */\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 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 CMS. For example, `First Name`. */\n        displayName?: string | null;\n        /** Field's data type. */\n        type?: Type;\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        /**\n         * Capabilities the field supports.\n         * @readonly\n         */\n        capabilities?: FieldCapabilities;\n        /** Indicates if field is encrypted. */\n        encrypted?: boolean;\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        /** Additional optional plugins for the field. */\n        plugins?: FieldPlugin[];\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 Type {\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;\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;\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        /**\n         * Query operators that can be used for this field.\n         *\n         * Supported values: `EQ`, `LT`, `GT`, `NE`, `LTE`, `GTE`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `HAS_SOME`, `HAS_ALL`, `EXISTS`, `URLIZED`.\n         */\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 | null;\n        /** Field type. */\n        type?: Type;\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 key. */\n        referencingFieldKey?: string;\n        /** Display name in the CMS for the referenced data. */\n        referencingDisplayName?: string;\n    }\n    interface _Object {\n        /** Fields within the object. */\n        fields?: ObjectField[];\n    }\n    interface _Array {\n        /** Element's data type. */\n        elementType?: Type;\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        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. */\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        /** 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 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         * 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         * * `MULTILINGUAL`: 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         * * `CMS`: Contains CMS-related collection attributes\n         */\n        type?: PluginType;\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 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 {\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        ORIGINAL = \"ORIGINAL\",\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 PluginType {\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 {\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 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    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?: FieldUpdate[];\n        /** list of removed fields */\n        fieldsRemoved?: Field[];\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 {\n        /** previous state of the field */\n        previous?: Field;\n        /** current state of the field */\n        current?: Field;\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 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 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;\n        /** Pagination information. */\n        paging?: Paging$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    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 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    }\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         * 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 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 CreateDataCollectionFieldRequest {\n        /** ID of data collection to update */\n        dataCollectionId: string;\n        /** field to create */\n        field: Field;\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;\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 key to delete */\n        fieldKey: string;\n    }\n    interface DeleteDataCollectionFieldResponse {\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$1;\n    }\n    interface BulkGetDataCollectionsPageBySnapshotsResponse {\n        /** List of snapshot collection map */\n        snapshotCollections?: SnapshotCollection[];\n        /** Paging information. */\n        pagingMetadata?: PagingMetadataV2;\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[];\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?: IndexField[];\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?: IndexStatus;\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 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;\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 {\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        /** 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        /** collection IDs to restore, if empty – all collections would be restored */\n        dataCollectionIds?: string[];\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 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    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    interface EntityDeletedEvent$1 {\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 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     * @permissionScope Manage Data Collections\n     * @permissionScopeId SCOPE.DC-DATA.DATA-COLLECTIONS-MANAGE\n     * @applicableIdentity APP\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     * @permissionScope Manage Data Collections\n     * @permissionScopeId SCOPE.DC-DATA.DATA-COLLECTIONS-MANAGE\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @returns Details of the collection requested.\n     */\n    function getDataCollection(dataCollectionId: string, options?: GetDataCollectionOptions): Promise<DataCollection>;\n    interface GetDataCollectionOptions {\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 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     * @permissionScope Manage Data Collections\n     * @permissionScopeId SCOPE.DC-DATA.DATA-COLLECTIONS-MANAGE\n     * @applicableIdentity APP\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;\n        /** Pagination information. */\n        paging?: Paging$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    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         * 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     * Updates a data collection.\n     *\n     * A collection ID, revision number, permissions, and at least 1 field must be provided within `options.collection`.\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 `updateDataCollection()` call. 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     * @permissionScope Manage Data Collections\n     * @permissionScopeId SCOPE.DC-DATA.DATA-COLLECTIONS-MANAGE\n     * @applicableIdentity APP\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't be restored.\n     * @param dataCollectionId - ID of the collection to delete.\n     * @public\n     * @requiredField dataCollectionId\n     * @permissionScope Manage Data Collections\n     * @permissionScopeId SCOPE.DC-DATA.DATA-COLLECTIONS-MANAGE\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function deleteDataCollection(dataCollectionId: string): Promise<void>;\n    interface CreateDataCollectionFieldOptions {\n        /** field to create */\n        field: Field;\n    }\n    interface UpdateDataCollectionFieldOptions {\n        /** Field to update */\n        field: Field;\n    }\n    interface DeleteDataCollectionFieldOptions {\n        /** Field key to delete */\n        fieldKey: string;\n    }\n    type dataV2DataCollectionCollections_universal_d_DataCollection = DataCollection;\n    type dataV2DataCollectionCollections_universal_d_CollectionType = CollectionType;\n    const dataV2DataCollectionCollections_universal_d_CollectionType: typeof CollectionType;\n    type dataV2DataCollectionCollections_universal_d_Sort = Sort;\n    type dataV2DataCollectionCollections_universal_d_Direction = Direction;\n    const dataV2DataCollectionCollections_universal_d_Direction: typeof Direction;\n    type dataV2DataCollectionCollections_universal_d_CollectionCapabilities = CollectionCapabilities;\n    type dataV2DataCollectionCollections_universal_d_DataOperation = DataOperation;\n    const dataV2DataCollectionCollections_universal_d_DataOperation: typeof DataOperation;\n    type dataV2DataCollectionCollections_universal_d_CollectionOperation = CollectionOperation;\n    const dataV2DataCollectionCollections_universal_d_CollectionOperation: typeof CollectionOperation;\n    type dataV2DataCollectionCollections_universal_d_IndexLimits = IndexLimits;\n    type dataV2DataCollectionCollections_universal_d_Field = Field;\n    type dataV2DataCollectionCollections_universal_d_FieldRangeValidationsOneOf = FieldRangeValidationsOneOf;\n    type dataV2DataCollectionCollections_universal_d_Type = Type;\n    const dataV2DataCollectionCollections_universal_d_Type: typeof Type;\n    type dataV2DataCollectionCollections_universal_d_TypeMetadata = TypeMetadata;\n    type dataV2DataCollectionCollections_universal_d_TypeMetadataMetadataOneOf = TypeMetadataMetadataOneOf;\n    type dataV2DataCollectionCollections_universal_d_FieldCapabilities = FieldCapabilities;\n    type dataV2DataCollectionCollections_universal_d_QueryOperator = QueryOperator;\n    const dataV2DataCollectionCollections_universal_d_QueryOperator: typeof QueryOperator;\n    type dataV2DataCollectionCollections_universal_d_ObjectField = ObjectField;\n    type dataV2DataCollectionCollections_universal_d_FieldsPattern = FieldsPattern;\n    type dataV2DataCollectionCollections_universal_d_UrlizedOnlyPattern = UrlizedOnlyPattern;\n    type dataV2DataCollectionCollections_universal_d_Calculator = Calculator;\n    type dataV2DataCollectionCollections_universal_d_CalculatorPatternOneOf = CalculatorPatternOneOf;\n    type dataV2DataCollectionCollections_universal_d_Reference = Reference;\n    type dataV2DataCollectionCollections_universal_d_MultiReference = MultiReference;\n    type dataV2DataCollectionCollections_universal_d__Object = _Object;\n    type dataV2DataCollectionCollections_universal_d__Array = _Array;\n    type dataV2DataCollectionCollections_universal_d_PageLink = PageLink;\n    type dataV2DataCollectionCollections_universal_d_NumberRange = NumberRange;\n    type dataV2DataCollectionCollections_universal_d_StringLengthRange = StringLengthRange;\n    type dataV2DataCollectionCollections_universal_d_ArraySizeRange = ArraySizeRange;\n    type dataV2DataCollectionCollections_universal_d_FieldPlugin = FieldPlugin;\n    type dataV2DataCollectionCollections_universal_d_FieldPluginOptionsOneOf = FieldPluginOptionsOneOf;\n    type dataV2DataCollectionCollections_universal_d_FieldPluginType = FieldPluginType;\n    const dataV2DataCollectionCollections_universal_d_FieldPluginType: typeof FieldPluginType;\n    type dataV2DataCollectionCollections_universal_d_CmsOptions = CmsOptions;\n    type dataV2DataCollectionCollections_universal_d_Permissions = Permissions;\n    type dataV2DataCollectionCollections_universal_d_Role = Role;\n    const dataV2DataCollectionCollections_universal_d_Role: typeof Role;\n    type dataV2DataCollectionCollections_universal_d_Plugin = Plugin;\n    type dataV2DataCollectionCollections_universal_d_PluginOptionsOneOf = PluginOptionsOneOf;\n    type dataV2DataCollectionCollections_universal_d_Status = Status;\n    const dataV2DataCollectionCollections_universal_d_Status: typeof Status;\n    type dataV2DataCollectionCollections_universal_d_Format = Format;\n    const dataV2DataCollectionCollections_universal_d_Format: typeof Format;\n    type dataV2DataCollectionCollections_universal_d_SiteSort = SiteSort;\n    type dataV2DataCollectionCollections_universal_d_PluginType = PluginType;\n    const dataV2DataCollectionCollections_universal_d_PluginType: typeof PluginType;\n    type dataV2DataCollectionCollections_universal_d_PublishPluginOptions = PublishPluginOptions;\n    type dataV2DataCollectionCollections_universal_d_SingleItemPluginOptions = SingleItemPluginOptions;\n    type dataV2DataCollectionCollections_universal_d_UrlizedPluginOptions = UrlizedPluginOptions;\n    type dataV2DataCollectionCollections_universal_d_MultilingualOptions = MultilingualOptions;\n    type dataV2DataCollectionCollections_universal_d_PageLinkPluginOptions = PageLinkPluginOptions;\n    type dataV2DataCollectionCollections_universal_d_PluginCmsOptions = PluginCmsOptions;\n    type dataV2DataCollectionCollections_universal_d_PagingMode = PagingMode;\n    const dataV2DataCollectionCollections_universal_d_PagingMode: typeof PagingMode;\n    type dataV2DataCollectionCollections_universal_d_DataCollectionClonedEvent = DataCollectionClonedEvent;\n    type dataV2DataCollectionCollections_universal_d_DataCollectionChangedEvent = DataCollectionChangedEvent;\n    type dataV2DataCollectionCollections_universal_d_FieldUpdate = FieldUpdate;\n    type dataV2DataCollectionCollections_universal_d_PluginUpdate = PluginUpdate;\n    type dataV2DataCollectionCollections_universal_d_CreateDataCollectionRequest = CreateDataCollectionRequest;\n    type dataV2DataCollectionCollections_universal_d_CreateDataCollectionResponse = CreateDataCollectionResponse;\n    type dataV2DataCollectionCollections_universal_d_GetDataCollectionRequest = GetDataCollectionRequest;\n    type dataV2DataCollectionCollections_universal_d_GetDataCollectionResponse = GetDataCollectionResponse;\n    type dataV2DataCollectionCollections_universal_d_ListDataCollectionsRequest = ListDataCollectionsRequest;\n    type dataV2DataCollectionCollections_universal_d_Sorting = Sorting;\n    type dataV2DataCollectionCollections_universal_d_SortOrder = SortOrder;\n    const dataV2DataCollectionCollections_universal_d_SortOrder: typeof SortOrder;\n    type dataV2DataCollectionCollections_universal_d_ListDataCollectionsResponse = ListDataCollectionsResponse;\n    type dataV2DataCollectionCollections_universal_d_PagingMetadataV2 = PagingMetadataV2;\n    type dataV2DataCollectionCollections_universal_d_BulkGetDataCollectionsRequest = BulkGetDataCollectionsRequest;\n    type dataV2DataCollectionCollections_universal_d_BulkGetDataCollectionsResponse = BulkGetDataCollectionsResponse;\n    type dataV2DataCollectionCollections_universal_d_UpdateDataCollectionRequest = UpdateDataCollectionRequest;\n    type dataV2DataCollectionCollections_universal_d_UpdateDataCollectionResponse = UpdateDataCollectionResponse;\n    type dataV2DataCollectionCollections_universal_d_DeleteDataCollectionRequest = DeleteDataCollectionRequest;\n    type dataV2DataCollectionCollections_universal_d_DeleteDataCollectionResponse = DeleteDataCollectionResponse;\n    type dataV2DataCollectionCollections_universal_d_CreateDataCollectionFieldRequest = CreateDataCollectionFieldRequest;\n    type dataV2DataCollectionCollections_universal_d_CreateDataCollectionFieldResponse = CreateDataCollectionFieldResponse;\n    type dataV2DataCollectionCollections_universal_d_UpdateDataCollectionFieldRequest = UpdateDataCollectionFieldRequest;\n    type dataV2DataCollectionCollections_universal_d_UpdateDataCollectionFieldResponse = UpdateDataCollectionFieldResponse;\n    type dataV2DataCollectionCollections_universal_d_DeleteDataCollectionFieldRequest = DeleteDataCollectionFieldRequest;\n    type dataV2DataCollectionCollections_universal_d_DeleteDataCollectionFieldResponse = DeleteDataCollectionFieldResponse;\n    type dataV2DataCollectionCollections_universal_d_BulkGetDataCollectionsPageBySnapshotsRequest = BulkGetDataCollectionsPageBySnapshotsRequest;\n    type dataV2DataCollectionCollections_universal_d_BulkGetDataCollectionsPageBySnapshotsResponse = BulkGetDataCollectionsPageBySnapshotsResponse;\n    type dataV2DataCollectionCollections_universal_d_SnapshotCollection = SnapshotCollection;\n    type dataV2DataCollectionCollections_universal_d_Index = Index;\n    type dataV2DataCollectionCollections_universal_d_Order = Order;\n    const dataV2DataCollectionCollections_universal_d_Order: typeof Order;\n    type dataV2DataCollectionCollections_universal_d_IndexField = IndexField;\n    type dataV2DataCollectionCollections_universal_d_IndexStatus = IndexStatus;\n    const dataV2DataCollectionCollections_universal_d_IndexStatus: typeof IndexStatus;\n    type dataV2DataCollectionCollections_universal_d_Failure = Failure;\n    type dataV2DataCollectionCollections_universal_d_CreateDataCollectionsSnapshotRequest = CreateDataCollectionsSnapshotRequest;\n    type dataV2DataCollectionCollections_universal_d_CreateDataCollectionsSnapshotResponse = CreateDataCollectionsSnapshotResponse;\n    type dataV2DataCollectionCollections_universal_d_RestoreDataCollectionsFromSnapshotRequest = RestoreDataCollectionsFromSnapshotRequest;\n    type dataV2DataCollectionCollections_universal_d_RestoreDataCollectionsFromSnapshotResponse = RestoreDataCollectionsFromSnapshotResponse;\n    type dataV2DataCollectionCollections_universal_d_DeleteDataCollectionsSnapshotRequest = DeleteDataCollectionsSnapshotRequest;\n    type dataV2DataCollectionCollections_universal_d_DeleteDataCollectionsSnapshotResponse = DeleteDataCollectionsSnapshotResponse;\n    const dataV2DataCollectionCollections_universal_d_createDataCollection: typeof createDataCollection;\n    const dataV2DataCollectionCollections_universal_d_getDataCollection: typeof getDataCollection;\n    type dataV2DataCollectionCollections_universal_d_GetDataCollectionOptions = GetDataCollectionOptions;\n    const dataV2DataCollectionCollections_universal_d_listDataCollections: typeof listDataCollections;\n    type dataV2DataCollectionCollections_universal_d_ListDataCollectionsOptions = ListDataCollectionsOptions;\n    type dataV2DataCollectionCollections_universal_d_BulkGetDataCollectionsOptions = BulkGetDataCollectionsOptions;\n    const dataV2DataCollectionCollections_universal_d_updateDataCollection: typeof updateDataCollection;\n    const dataV2DataCollectionCollections_universal_d_deleteDataCollection: typeof deleteDataCollection;\n    type dataV2DataCollectionCollections_universal_d_CreateDataCollectionFieldOptions = CreateDataCollectionFieldOptions;\n    type dataV2DataCollectionCollections_universal_d_UpdateDataCollectionFieldOptions = UpdateDataCollectionFieldOptions;\n    type dataV2DataCollectionCollections_universal_d_DeleteDataCollectionFieldOptions = DeleteDataCollectionFieldOptions;\n    namespace dataV2DataCollectionCollections_universal_d {\n        export { dataV2DataCollectionCollections_universal_d_DataCollection as DataCollection, dataV2DataCollectionCollections_universal_d_CollectionType as CollectionType, dataV2DataCollectionCollections_universal_d_Sort as Sort, dataV2DataCollectionCollections_universal_d_Direction as Direction, dataV2DataCollectionCollections_universal_d_CollectionCapabilities as CollectionCapabilities, dataV2DataCollectionCollections_universal_d_DataOperation as DataOperation, dataV2DataCollectionCollections_universal_d_CollectionOperation as CollectionOperation, dataV2DataCollectionCollections_universal_d_IndexLimits as IndexLimits, dataV2DataCollectionCollections_universal_d_Field as Field, dataV2DataCollectionCollections_universal_d_FieldRangeValidationsOneOf as FieldRangeValidationsOneOf, dataV2DataCollectionCollections_universal_d_Type as Type, dataV2DataCollectionCollections_universal_d_TypeMetadata as TypeMetadata, dataV2DataCollectionCollections_universal_d_TypeMetadataMetadataOneOf as TypeMetadataMetadataOneOf, dataV2DataCollectionCollections_universal_d_FieldCapabilities as FieldCapabilities, dataV2DataCollectionCollections_universal_d_QueryOperator as QueryOperator, dataV2DataCollectionCollections_universal_d_ObjectField as ObjectField, dataV2DataCollectionCollections_universal_d_FieldsPattern as FieldsPattern, dataV2DataCollectionCollections_universal_d_UrlizedOnlyPattern as UrlizedOnlyPattern, dataV2DataCollectionCollections_universal_d_Calculator as Calculator, dataV2DataCollectionCollections_universal_d_CalculatorPatternOneOf as CalculatorPatternOneOf, dataV2DataCollectionCollections_universal_d_Reference as Reference, dataV2DataCollectionCollections_universal_d_MultiReference as MultiReference, dataV2DataCollectionCollections_universal_d__Object as _Object, dataV2DataCollectionCollections_universal_d__Array as _Array, dataV2DataCollectionCollections_universal_d_PageLink as PageLink, dataV2DataCollectionCollections_universal_d_NumberRange as NumberRange, dataV2DataCollectionCollections_universal_d_StringLengthRange as StringLengthRange, dataV2DataCollectionCollections_universal_d_ArraySizeRange as ArraySizeRange, dataV2DataCollectionCollections_universal_d_FieldPlugin as FieldPlugin, dataV2DataCollectionCollections_universal_d_FieldPluginOptionsOneOf as FieldPluginOptionsOneOf, dataV2DataCollectionCollections_universal_d_FieldPluginType as FieldPluginType, dataV2DataCollectionCollections_universal_d_CmsOptions as CmsOptions, dataV2DataCollectionCollections_universal_d_Permissions as Permissions, dataV2DataCollectionCollections_universal_d_Role as Role, dataV2DataCollectionCollections_universal_d_Plugin as Plugin, dataV2DataCollectionCollections_universal_d_PluginOptionsOneOf as PluginOptionsOneOf, dataV2DataCollectionCollections_universal_d_Status as Status, dataV2DataCollectionCollections_universal_d_Format as Format, dataV2DataCollectionCollections_universal_d_SiteSort as SiteSort, dataV2DataCollectionCollections_universal_d_PluginType as PluginType, dataV2DataCollectionCollections_universal_d_PublishPluginOptions as PublishPluginOptions, dataV2DataCollectionCollections_universal_d_SingleItemPluginOptions as SingleItemPluginOptions, dataV2DataCollectionCollections_universal_d_UrlizedPluginOptions as UrlizedPluginOptions, dataV2DataCollectionCollections_universal_d_MultilingualOptions as MultilingualOptions, dataV2DataCollectionCollections_universal_d_PageLinkPluginOptions as PageLinkPluginOptions, dataV2DataCollectionCollections_universal_d_PluginCmsOptions as PluginCmsOptions, dataV2DataCollectionCollections_universal_d_PagingMode as PagingMode, dataV2DataCollectionCollections_universal_d_DataCollectionClonedEvent as DataCollectionClonedEvent, dataV2DataCollectionCollections_universal_d_DataCollectionChangedEvent as DataCollectionChangedEvent, dataV2DataCollectionCollections_universal_d_FieldUpdate as FieldUpdate, dataV2DataCollectionCollections_universal_d_PluginUpdate as PluginUpdate, dataV2DataCollectionCollections_universal_d_CreateDataCollectionRequest as CreateDataCollectionRequest, dataV2DataCollectionCollections_universal_d_CreateDataCollectionResponse as CreateDataCollectionResponse, dataV2DataCollectionCollections_universal_d_GetDataCollectionRequest as GetDataCollectionRequest, dataV2DataCollectionCollections_universal_d_GetDataCollectionResponse as GetDataCollectionResponse, dataV2DataCollectionCollections_universal_d_ListDataCollectionsRequest as ListDataCollectionsRequest, dataV2DataCollectionCollections_universal_d_Sorting as Sorting, dataV2DataCollectionCollections_universal_d_SortOrder as SortOrder, Paging$1 as Paging, dataV2DataCollectionCollections_universal_d_ListDataCollectionsResponse as ListDataCollectionsResponse, dataV2DataCollectionCollections_universal_d_PagingMetadataV2 as PagingMetadataV2, dataV2DataCollectionCollections_universal_d_BulkGetDataCollectionsRequest as BulkGetDataCollectionsRequest, dataV2DataCollectionCollections_universal_d_BulkGetDataCollectionsResponse as BulkGetDataCollectionsResponse, dataV2DataCollectionCollections_universal_d_UpdateDataCollectionRequest as UpdateDataCollectionRequest, dataV2DataCollectionCollections_universal_d_UpdateDataCollectionResponse as UpdateDataCollectionResponse, dataV2DataCollectionCollections_universal_d_DeleteDataCollectionRequest as DeleteDataCollectionRequest, dataV2DataCollectionCollections_universal_d_DeleteDataCollectionResponse as DeleteDataCollectionResponse, dataV2DataCollectionCollections_universal_d_CreateDataCollectionFieldRequest as CreateDataCollectionFieldRequest, dataV2DataCollectionCollections_universal_d_CreateDataCollectionFieldResponse as CreateDataCollectionFieldResponse, dataV2DataCollectionCollections_universal_d_UpdateDataCollectionFieldRequest as UpdateDataCollectionFieldRequest, dataV2DataCollectionCollections_universal_d_UpdateDataCollectionFieldResponse as UpdateDataCollectionFieldResponse, dataV2DataCollectionCollections_universal_d_DeleteDataCollectionFieldRequest as DeleteDataCollectionFieldRequest, dataV2DataCollectionCollections_universal_d_DeleteDataCollectionFieldResponse as DeleteDataCollectionFieldResponse, dataV2DataCollectionCollections_universal_d_BulkGetDataCollectionsPageBySnapshotsRequest as BulkGetDataCollectionsPageBySnapshotsRequest, dataV2DataCollectionCollections_universal_d_BulkGetDataCollectionsPageBySnapshotsResponse as BulkGetDataCollectionsPageBySnapshotsResponse, dataV2DataCollectionCollections_universal_d_SnapshotCollection as SnapshotCollection, dataV2DataCollectionCollections_universal_d_Index as Index, dataV2DataCollectionCollections_universal_d_Order as Order, dataV2DataCollectionCollections_universal_d_IndexField as IndexField, dataV2DataCollectionCollections_universal_d_IndexStatus as IndexStatus, dataV2DataCollectionCollections_universal_d_Failure as Failure, dataV2DataCollectionCollections_universal_d_CreateDataCollectionsSnapshotRequest as CreateDataCollectionsSnapshotRequest, dataV2DataCollectionCollections_universal_d_CreateDataCollectionsSnapshotResponse as CreateDataCollectionsSnapshotResponse, dataV2DataCollectionCollections_universal_d_RestoreDataCollectionsFromSnapshotRequest as RestoreDataCollectionsFromSnapshotRequest, dataV2DataCollectionCollections_universal_d_RestoreDataCollectionsFromSnapshotResponse as RestoreDataCollectionsFromSnapshotResponse, dataV2DataCollectionCollections_universal_d_DeleteDataCollectionsSnapshotRequest as DeleteDataCollectionsSnapshotRequest, dataV2DataCollectionCollections_universal_d_DeleteDataCollectionsSnapshotResponse as DeleteDataCollectionsSnapshotResponse, DomainEvent$1 as DomainEvent, DomainEventBodyOneOf$1 as DomainEventBodyOneOf, EntityCreatedEvent$1 as EntityCreatedEvent, EntityUpdatedEvent$1 as EntityUpdatedEvent, EntityDeletedEvent$1 as EntityDeletedEvent, ActionEvent$1 as ActionEvent, MessageEnvelope$1 as MessageEnvelope, IdentificationData$1 as IdentificationData, IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf, WebhookIdentityType$1 as WebhookIdentityType, dataV2DataCollectionCollections_universal_d_createDataCollection as createDataCollection, dataV2DataCollectionCollections_universal_d_getDataCollection as getDataCollection, dataV2DataCollectionCollections_universal_d_GetDataCollectionOptions as GetDataCollectionOptions, dataV2DataCollectionCollections_universal_d_listDataCollections as listDataCollections, dataV2DataCollectionCollections_universal_d_ListDataCollectionsOptions as ListDataCollectionsOptions, dataV2DataCollectionCollections_universal_d_BulkGetDataCollectionsOptions as BulkGetDataCollectionsOptions, dataV2DataCollectionCollections_universal_d_updateDataCollection as updateDataCollection, dataV2DataCollectionCollections_universal_d_deleteDataCollection as deleteDataCollection, dataV2DataCollectionCollections_universal_d_CreateDataCollectionFieldOptions as CreateDataCollectionFieldOptions, dataV2DataCollectionCollections_universal_d_UpdateDataCollectionFieldOptions as UpdateDataCollectionFieldOptions, dataV2DataCollectionCollections_universal_d_DeleteDataCollectionFieldOptions as DeleteDataCollectionFieldOptions, };\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         *\n         * An external database connection can connect to one or more external data collections or tables. These appear as `connectionName/dataCollectionId`.\n         */\n        name?: string;\n        /** Base URL for accessing and managing data in the external database. For example: `https://example.com/my-external-database`. */\n        endpoint?: string | null;\n        /**\n         * Settings specified to the external database connection as part of each request.\n         *\n         * These settings can relate to authentication, tenancy, or provide any other information necessary for processing a request. 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         * Public key used to validate requests to the external database.\n         * @readonly\n         */\n        publicKey?: string | null;\n        /**\n         * Capabilities of the external database.\n         * @readonly\n         */\n        capabilities?: Capabilities;\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 collections. */\n        YES = \"YES\",\n        /** External database does not have any collections. */\n        NO = \"NO\"\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 ConnectionStatus {\n        /** Whether the connection was established successfully. */\n        successful?: boolean;\n        /** Whether and why the connection attempt failed. */\n        causeOfFailure?: CauseOfFailure;\n        /**\n         * Whether the external database has 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        /** Field types the external database supports. Applies only when `collectionModificationsSupported` is set to `true`. */\n        fieldTypes?: FieldType[];\n    }\n    interface GetExternalDatabaseConnectionRequest {\n        /** Name of the external database connection to retrieve. */\n        name: string;\n    }\n    interface GetExternalDatabaseConnectionResponse {\n        /** Details of the retrieved external database connection. */\n        externalDatabaseConnection?: ExternalDatabaseConnection;\n    }\n    interface ListExternalDatabaseConnectionsRequest {\n        /** Paging metadata. */\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 ListExternalDatabaseConnectionsResponse {\n        /** List of external database connections. */\n        externalDatabaseConnections?: ExternalDatabaseConnection[];\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    interface CreateExternalDatabaseConnectionRequest {\n        /** External database connection details. */\n        externalDatabaseConnection: ExternalDatabaseConnection;\n        /**\n         * Connection type. The connection type determines the type of adaptor by which the external collection is integrated with the site.\n         *\n         * Learn more about [external database adaptors](https://dev.wix.com/docs/rest/business-solutions/cms/external-database-connection/introduction#about-external-database-adaptors).\n         */\n        connectionType: ConnectionType;\n    }\n    enum ConnectionType {\n        /** Unknown connection type. */\n        UNKNOWN_CONNECTION_TYPE = \"UNKNOWN_CONNECTION_TYPE\",\n        /** External database connection based on the legacy [external database collection service plugin](https://dev.wix.com/docs/velo/api-reference/wix-data-v2/service-plugins-spis/external-database-collection-legacy/introduction). */\n        STANDALONE = \"STANDALONE\",\n        /** External database connection based on the [external database service plugin](https://dev.wix.com/docs/rest/business-solutions/cms/service-plugins/external-database-service-plugin/introduction). */\n        WIX_SERVICE_PLUGIN = \"WIX_SERVICE_PLUGIN\"\n    }\n    interface CreateExternalDatabaseConnectionResponse {\n        /** Details of the created external database connection. */\n        externalDatabaseConnection?: ExternalDatabaseConnection;\n    }\n    interface UpdateExternalDatabaseConnectionRequest {\n        /** Updated external database connection. The existing connection is replaced with this version. */\n        externalDatabaseConnection: ExternalDatabaseConnection;\n    }\n    interface UpdateExternalDatabaseConnectionResponse {\n        /** Details of the updated external database connection. */\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 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        /** 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    interface EntityDeletedEvent {\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 specified external database connection.\n     * @param name - Name of the external database connection to retrieve.\n     * @public\n     * @requiredField name\n     * @permissionId WIX_DATA.GET_EXTERNAL_DATABASE_CONNECTION\n     * @permissionScope Manage External Database Connections\n     * @permissionScopeId SCOPE.DC-DATA.EXTERNAL-DATABASE-CONNECTIONS-MANAGE\n     * @permissionScope Manage All Data Resources\n     * @permissionScopeId SCOPE.DC-DATA.MANAGE-ALL\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Details of the retrieved external database connection.\n     * @fqn com.wixpress.cloud.data.api.externaldatabase.ExternalDatabaseConnectionService.GetExternalDatabaseConnection\n     */\n    function getExternalDatabaseConnection(name: string): Promise<ExternalDatabaseConnection>;\n    /**\n     * Lists the site's external database connections.\n     *\n     * > **Note**: The method lists both [adaptor types](https://dev.wix.com/docs/rest/business-solutions/cms/external-database-connection/introduction#about-external-database-adaptors).\n     * @public\n     * @permissionId WIX_DATA.LIST_EXTERNAL_DATABASE_CONNECTIONS\n     * @permissionScope Manage External Database Connections\n     * @permissionScopeId SCOPE.DC-DATA.EXTERNAL-DATABASE-CONNECTIONS-MANAGE\n     * @permissionScope Manage All Data Resources\n     * @permissionScopeId SCOPE.DC-DATA.MANAGE-ALL\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.cloud.data.api.externaldatabase.ExternalDatabaseConnectionService.ListExternalDatabaseConnections\n     */\n    function listExternalDatabaseConnections(options?: ListExternalDatabaseConnectionsOptions): Promise<ListExternalDatabaseConnectionsResponse>;\n    interface ListExternalDatabaseConnectionsOptions {\n        /** Paging metadata. */\n        paging?: Paging;\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     * @param connectionType - Connection type. The connection type determines the type of adaptor by which the external collection is integrated with the site.\n     *\n     * Learn more about [external database adaptors](https://dev.wix.com/docs/rest/business-solutions/cms/external-database-connection/introduction#about-external-database-adaptors).\n     * @public\n     * @requiredField connectionType\n     * @requiredField externalDatabaseConnection\n     * @requiredField externalDatabaseConnection.name\n     * @param options - Options for creating an external database connection.\n     * @permissionId WIX_DATA.CREATE_EXTERNAL_DATABASE_CONNECTION\n     * @permissionScope Manage External Database Connections\n     * @permissionScopeId SCOPE.DC-DATA.EXTERNAL-DATABASE-CONNECTIONS-MANAGE\n     * @permissionScope Manage All Data Resources\n     * @permissionScopeId SCOPE.DC-DATA.MANAGE-ALL\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Details of the created external database connection.\n     * @fqn com.wixpress.cloud.data.api.externaldatabase.ExternalDatabaseConnectionService.CreateExternalDatabaseConnection\n     */\n    function createExternalDatabaseConnection(externalDatabaseConnection: ExternalDatabaseConnection, connectionType: ConnectionType, options?: CreateExternalDatabaseConnectionOptions): Promise<ExternalDatabaseConnection>;\n    interface CreateExternalDatabaseConnectionOptions {\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     *\n     * An external database connection can connect to one or more external data collections or tables. These appear as `connectionName/dataCollectionId`.\n     * @public\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     * @permissionScope Manage External Database Connections\n     * @permissionScopeId SCOPE.DC-DATA.EXTERNAL-DATABASE-CONNECTIONS-MANAGE\n     * @permissionScope Manage All Data Resources\n     * @permissionScopeId SCOPE.DC-DATA.MANAGE-ALL\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Details of the updated external database connection.\n     * @fqn com.wixpress.cloud.data.api.externaldatabase.ExternalDatabaseConnectionService.UpdateExternalDatabaseConnection\n     */\n    function updateExternalDatabaseConnection(name: string, externalDatabaseConnection: UpdateExternalDatabaseConnection): Promise<ExternalDatabaseConnection>;\n    interface UpdateExternalDatabaseConnection {\n        /** Base URL for accessing and managing data in the external database. For example: `https://example.com/my-external-database`. */\n        endpoint?: string | null;\n        /**\n         * Settings specified to the external database connection as part of each request.\n         *\n         * These settings can relate to authentication, tenancy, or provide any other information necessary for processing a request. 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         * Public key used to validate requests to the external database.\n         * @readonly\n         */\n        publicKey?: string | null;\n        /**\n         * Capabilities of the external database.\n         * @readonly\n         */\n        capabilities?: Capabilities;\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     * @requiredField name\n     * @permissionId WIX_DATA.DELETE_EXTERNAL_DATABASE_CONNECTION\n     * @permissionScope Manage External Database Connections\n     * @permissionScopeId SCOPE.DC-DATA.EXTERNAL-DATABASE-CONNECTIONS-MANAGE\n     * @permissionScope Manage All Data Resources\n     * @permissionScopeId SCOPE.DC-DATA.MANAGE-ALL\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.cloud.data.api.externaldatabase.ExternalDatabaseConnectionService.DeleteExternalDatabaseConnection\n     */\n    function deleteExternalDatabaseConnection(name: string): Promise<void>;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_ExternalDatabaseConnection = ExternalDatabaseConnection;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_CauseOfFailure = CauseOfFailure;\n    const dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_CauseOfFailure: typeof CauseOfFailure;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_CollectionsFound = CollectionsFound;\n    const dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_CollectionsFound: typeof CollectionsFound;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_FieldType = FieldType;\n    const dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_FieldType: typeof FieldType;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_ConnectionStatus = ConnectionStatus;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_ProtocolVersion = ProtocolVersion;\n    const dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_ProtocolVersion: typeof ProtocolVersion;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_Capabilities = Capabilities;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_GetExternalDatabaseConnectionRequest = GetExternalDatabaseConnectionRequest;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_GetExternalDatabaseConnectionResponse = GetExternalDatabaseConnectionResponse;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_ListExternalDatabaseConnectionsRequest = ListExternalDatabaseConnectionsRequest;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_Paging = Paging;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_ListExternalDatabaseConnectionsResponse = ListExternalDatabaseConnectionsResponse;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_PagingMetadata = PagingMetadata;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_CreateExternalDatabaseConnectionRequest = CreateExternalDatabaseConnectionRequest;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_ConnectionType = ConnectionType;\n    const dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_ConnectionType: typeof ConnectionType;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_CreateExternalDatabaseConnectionResponse = CreateExternalDatabaseConnectionResponse;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_UpdateExternalDatabaseConnectionRequest = UpdateExternalDatabaseConnectionRequest;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_UpdateExternalDatabaseConnectionResponse = UpdateExternalDatabaseConnectionResponse;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_DeleteExternalDatabaseConnectionRequest = DeleteExternalDatabaseConnectionRequest;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_DeleteExternalDatabaseConnectionResponse = DeleteExternalDatabaseConnectionResponse;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_DomainEvent = DomainEvent;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_RestoreInfo = RestoreInfo;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_ActionEvent = ActionEvent;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_MessageEnvelope = MessageEnvelope;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_IdentificationData = IdentificationData;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_WebhookIdentityType = WebhookIdentityType;\n    const dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n    const dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_getExternalDatabaseConnection: typeof getExternalDatabaseConnection;\n    const dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_listExternalDatabaseConnections: typeof listExternalDatabaseConnections;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_ListExternalDatabaseConnectionsOptions = ListExternalDatabaseConnectionsOptions;\n    const dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_createExternalDatabaseConnection: typeof createExternalDatabaseConnection;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_CreateExternalDatabaseConnectionOptions = CreateExternalDatabaseConnectionOptions;\n    const dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_updateExternalDatabaseConnection: typeof updateExternalDatabaseConnection;\n    type dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_UpdateExternalDatabaseConnection = UpdateExternalDatabaseConnection;\n    const dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_deleteExternalDatabaseConnection: typeof deleteExternalDatabaseConnection;\n    namespace dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d {\n        export { dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_ExternalDatabaseConnection as ExternalDatabaseConnection, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_CauseOfFailure as CauseOfFailure, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_CollectionsFound as CollectionsFound, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_FieldType as FieldType, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_ConnectionStatus as ConnectionStatus, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_ProtocolVersion as ProtocolVersion, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_Capabilities as Capabilities, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_GetExternalDatabaseConnectionRequest as GetExternalDatabaseConnectionRequest, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_GetExternalDatabaseConnectionResponse as GetExternalDatabaseConnectionResponse, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_ListExternalDatabaseConnectionsRequest as ListExternalDatabaseConnectionsRequest, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_Paging as Paging, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_ListExternalDatabaseConnectionsResponse as ListExternalDatabaseConnectionsResponse, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_PagingMetadata as PagingMetadata, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_CreateExternalDatabaseConnectionRequest as CreateExternalDatabaseConnectionRequest, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_ConnectionType as ConnectionType, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_CreateExternalDatabaseConnectionResponse as CreateExternalDatabaseConnectionResponse, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_UpdateExternalDatabaseConnectionRequest as UpdateExternalDatabaseConnectionRequest, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_UpdateExternalDatabaseConnectionResponse as UpdateExternalDatabaseConnectionResponse, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_DeleteExternalDatabaseConnectionRequest as DeleteExternalDatabaseConnectionRequest, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_DeleteExternalDatabaseConnectionResponse as DeleteExternalDatabaseConnectionResponse, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_DomainEvent as DomainEvent, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_EntityCreatedEvent as EntityCreatedEvent, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_RestoreInfo as RestoreInfo, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_EntityUpdatedEvent as EntityUpdatedEvent, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_EntityDeletedEvent as EntityDeletedEvent, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_ActionEvent as ActionEvent, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_MessageEnvelope as MessageEnvelope, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_IdentificationData as IdentificationData, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_WebhookIdentityType as WebhookIdentityType, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_getExternalDatabaseConnection as getExternalDatabaseConnection, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_listExternalDatabaseConnections as listExternalDatabaseConnections, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_ListExternalDatabaseConnectionsOptions as ListExternalDatabaseConnectionsOptions, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_createExternalDatabaseConnection as createExternalDatabaseConnection, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_CreateExternalDatabaseConnectionOptions as CreateExternalDatabaseConnectionOptions, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_updateExternalDatabaseConnection as updateExternalDatabaseConnection, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_UpdateExternalDatabaseConnection as UpdateExternalDatabaseConnection, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d_deleteExternalDatabaseConnection as deleteExternalDatabaseConnection, };\n    }\n    export { dataV2DataCollectionCollections_universal_d as collections, dataV1ExternalDatabaseConnectionExternalDatabaseConnections_universal_d as externalDatabaseConnections, dataV2IndexIndexes_universal_d as indexes };\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/common/wix-workflows.v2.d.ts",
      "content": "declare module \"wix-workflows.v2\" {\n    const __debug$2: {\n        verboseLogging: {\n            on: () => boolean;\n            off: () => boolean;\n        };\n    };\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;\n        /** Name of the app or service that created the contact. */\n        source?: string | 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;\n        /**\n         * Date and time the card was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\n    }\n    interface Attachment$2 {\n        /**\n         * Attachment ID. For internal use.\n         * @readonly\n         */\n        attachmentId?: string;\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    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        /** 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         * 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        /** 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    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 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     *\n     * This function is not a universal function and runs only on the backend.\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     * @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         * 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        /** 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     *\n     * This function is not a universal function and runs only on the backend.\n     * @param _id - ID of the card to retrieve.\n     * @public\n     * @requiredField _id\n     * @adminMethod\n     */\n    function getCard(_id: string): Promise<GetCardResponse>;\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     *\n     * This function is not a universal function and runs only on the backend.\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     * @adminMethod\n     */\n    function updateCard(_id: string, cardInfo: CardInfo$2, options?: UpdateCardOptions): Promise<void>;\n    interface UpdateCardOptions {\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     *\n     * This function is not a universal function and runs only on the backend.\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     * @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     *\n     * This function is not a universal function and runs only on the backend.\n     * @param _id - ID of the card to delete.\n     * @public\n     * @requiredField _id\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     *\n     * This function is not a universal function and runs only on the backend.\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     * @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     *\n     * This function is not a universal function and runs only on the backend.\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     * @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     *\n     * This function is not a universal function and runs only on the backend.\n     * @param _id - ID of the card to archive.\n     * @public\n     * @requiredField _id\n     * @adminMethod\n     */\n    function archiveCard(_id: string): Promise<void>;\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_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 { __debug$2 as __debug, Card$2 as Card, CardInfo$2 as CardInfo, Attachment$2 as Attachment, AttachmentType$2 as AttachmentType, workflowsV1Card_universal_d_QueryCardsRequest as QueryCardsRequest, Query$2 as Query, Sorting$2 as Sorting, SortOrder$2 as SortOrder, Paging$2 as Paging, workflowsV1Card_universal_d_QueryCardsResponse as QueryCardsResponse, PaginationResponse$2 as PaginationResponse, workflowsV1Card_universal_d_ListCardsRequest as ListCardsRequest, workflowsV1Card_universal_d_ListCardsResponse as ListCardsResponse, workflowsV1Card_universal_d_GetCardRequest as GetCardRequest, workflowsV1Card_universal_d_GetCardResponse as GetCardResponse, workflowsV1Card_universal_d_UpdateCardRequest as UpdateCardRequest, workflowsV1Card_universal_d_UpdateCardResponse as UpdateCardResponse, workflowsV1Card_universal_d_CreateCardRequest as CreateCardRequest, workflowsV1Card_universal_d_CreateCardResponse as CreateCardResponse, workflowsV1Card_universal_d_DeleteCardRequest as DeleteCardRequest, workflowsV1Card_universal_d_DeleteCardResponse as DeleteCardResponse, workflowsV1Card_universal_d_MoveCardRequest as MoveCardRequest, workflowsV1Card_universal_d_MoveCardResponse as MoveCardResponse, workflowsV1Card_universal_d_RestoreCardRequest as RestoreCardRequest, workflowsV1Card_universal_d_RestoreCardResponse as RestoreCardResponse, workflowsV1Card_universal_d_ArchiveCardRequest as ArchiveCardRequest, workflowsV1Card_universal_d_ArchiveCardResponse as ArchiveCardResponse, workflowsV1Card_universal_d_QueryCardsOptions as QueryCardsOptions, workflowsV1Card_universal_d_listCards as listCards, workflowsV1Card_universal_d_ListCardsOptions as ListCardsOptions, workflowsV1Card_universal_d_getCard as getCard, workflowsV1Card_universal_d_updateCard as updateCard, workflowsV1Card_universal_d_UpdateCardOptions as UpdateCardOptions, workflowsV1Card_universal_d_createCard as createCard, workflowsV1Card_universal_d_CreateCardIdentifiers as CreateCardIdentifiers, workflowsV1Card_universal_d_CreateCardOptions as CreateCardOptions, workflowsV1Card_universal_d_deleteCard as deleteCard, workflowsV1Card_universal_d_moveCard as moveCard, workflowsV1Card_universal_d_MoveCardOptions as MoveCardOptions, workflowsV1Card_universal_d_restoreCard as restoreCard, workflowsV1Card_universal_d_RestoreCardOptions as RestoreCardOptions, workflowsV1Card_universal_d_archiveCard as archiveCard, };\n    }\n    const __debug$1: {\n        verboseLogging: {\n            on: () => boolean;\n            off: () => boolean;\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;\n        /** Name of the app or service that created the contact. */\n        source?: string | 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;\n        /**\n         * Date and time the card was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\n    }\n    interface Attachment$1 {\n        /**\n         * Attachment ID. For internal use.\n         * @readonly\n         */\n        attachmentId?: string;\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    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        /** 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         * 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    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     *\n     * This function is not a universal function and runs only on the backend.\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     * @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         * 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     *\n     * This function is not a universal function and runs only on the backend.\n     * @param _id - ID of the phase to retrieve.\n     * @public\n     * @requiredField _id\n     * @adminMethod\n     */\n    function getPhase(_id: string): Promise<GetPhaseResponse>;\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     *\n     * This function is not a universal function and runs only on the backend.\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     * @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     *\n     * This function is not a universal function and runs only on the backend.\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     * @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     *\n     * This function is not a universal function and runs only on the backend.\n     * @param _id - ID of the phase to delete.\n     * @public\n     * @requiredField _id\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     *\n     * This function is not a universal function and runs only on the backend.\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     * @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    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    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 { __debug$1 as __debug, Phase$1 as Phase, PhaseInfo$1 as PhaseInfo, CardsList$1 as CardsList, Card$1 as Card, CardInfo$1 as CardInfo, Attachment$1 as Attachment, AttachmentType$1 as AttachmentType, workflowsV1Phase_universal_d_QueryPhasesRequest as QueryPhasesRequest, Query$1 as Query, Sorting$1 as Sorting, SortOrder$1 as SortOrder, Paging$1 as Paging, workflowsV1Phase_universal_d_QueryPhasesResponse as QueryPhasesResponse, PaginationResponse$1 as PaginationResponse, workflowsV1Phase_universal_d_ListPhasesRequest as ListPhasesRequest, workflowsV1Phase_universal_d_ListPhasesResponse as ListPhasesResponse, workflowsV1Phase_universal_d_GetPhaseRequest as GetPhaseRequest, workflowsV1Phase_universal_d_GetPhaseResponse as GetPhaseResponse, workflowsV1Phase_universal_d_UpdatePhaseRequest as UpdatePhaseRequest, workflowsV1Phase_universal_d_UpdatePhaseResponse as UpdatePhaseResponse, workflowsV1Phase_universal_d_CreatePhaseRequest as CreatePhaseRequest, workflowsV1Phase_universal_d_CreatePhaseResponse as CreatePhaseResponse, workflowsV1Phase_universal_d_DeletePhaseRequest as DeletePhaseRequest, workflowsV1Phase_universal_d_DeletePhaseResponse as DeletePhaseResponse, workflowsV1Phase_universal_d_MovePhaseRequest as MovePhaseRequest, workflowsV1Phase_universal_d_MovePhaseResponse as MovePhaseResponse, workflowsV1Phase_universal_d_QueryPhasesOptions as QueryPhasesOptions, workflowsV1Phase_universal_d_listPhases as listPhases, workflowsV1Phase_universal_d_ListPhasesOptions as ListPhasesOptions, workflowsV1Phase_universal_d_getPhase as getPhase, workflowsV1Phase_universal_d_updatePhase as updatePhase, workflowsV1Phase_universal_d_createPhase as createPhase, workflowsV1Phase_universal_d_CreatePhaseOptions as CreatePhaseOptions, workflowsV1Phase_universal_d_deletePhase as deletePhase, workflowsV1Phase_universal_d_movePhase as movePhase, workflowsV1Phase_universal_d_MovePhaseIdentifiers as MovePhaseIdentifiers, };\n    }\n    const __debug: {\n        verboseLogging: {\n            on: () => boolean;\n            off: () => boolean;\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         * Indicates whether the workflow can be deleted.\n         * @readonly\n         */\n        isDeletable?: boolean | null;\n        /**\n         * Date and time the workflow was created.\n         * @readonly\n         */\n        _createdDate?: Date;\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;\n        /** Name of the app or service that created the contact. */\n        source?: string | 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;\n        /**\n         * Date and time the card was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\n    }\n    interface Attachment {\n        /**\n         * Attachment ID. For internal use.\n         * @readonly\n         */\n        attachmentId?: string;\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         * 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        /** 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    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         * 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     *\n     * This function is not a universal function and runs only on the backend.\n     * @public\n     * @param options - Options to use when retrieving a list of workflows.\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         * 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 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     *\n     * This function is not a universal function and runs only on the backend.\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     * @adminMethod\n     */\n    function getWorkflow(_id: string, cardsPerPhase: number | null, options?: GetWorkflowOptions): Promise<GetWorkflowResponse>;\n    interface GetWorkflowOptions {\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     *\n     * This function is not a universal function and runs only on the backend.\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     * @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     *\n     * This function is not a universal function and runs only on the backend.\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     * @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     *\n     * This function is not a universal function and runs only on the backend.\n     * @param _id - ID of the workflow to delete.\n     * @public\n     * @requiredField _id\n     * @adminMethod\n     */\n    function deleteWorkflow(_id: string): Promise<void>;\n    const workflowsV1Workflow_universal_d___debug: typeof __debug;\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    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    namespace workflowsV1Workflow_universal_d {\n        export { workflowsV1Workflow_universal_d___debug as __debug, workflowsV1Workflow_universal_d_Workflow as Workflow, workflowsV1Workflow_universal_d_WorkflowInfo as WorkflowInfo, workflowsV1Workflow_universal_d_Phase as Phase, workflowsV1Workflow_universal_d_PhaseInfo as PhaseInfo, workflowsV1Workflow_universal_d_CardsList as CardsList, workflowsV1Workflow_universal_d_Card as Card, workflowsV1Workflow_universal_d_CardInfo as CardInfo, workflowsV1Workflow_universal_d_Attachment as Attachment, workflowsV1Workflow_universal_d_AttachmentType as AttachmentType, workflowsV1Workflow_universal_d_PhasesList as PhasesList, workflowsV1Workflow_universal_d_ListWorkflowsRequest as ListWorkflowsRequest, workflowsV1Workflow_universal_d_ListWorkflowsResponse as ListWorkflowsResponse, workflowsV1Workflow_universal_d_PaginationResponse as PaginationResponse, workflowsV1Workflow_universal_d_QueryWorkflowsRequest as QueryWorkflowsRequest, workflowsV1Workflow_universal_d_Query as Query, workflowsV1Workflow_universal_d_Sorting as Sorting, workflowsV1Workflow_universal_d_SortOrder as SortOrder, workflowsV1Workflow_universal_d_Paging as Paging, workflowsV1Workflow_universal_d_QueryWorkflowsResponse as QueryWorkflowsResponse, workflowsV1Workflow_universal_d_GetWorkflowRequest as GetWorkflowRequest, workflowsV1Workflow_universal_d_GetWorkflowResponse as GetWorkflowResponse, workflowsV1Workflow_universal_d_UpdateWorkflowRequest as UpdateWorkflowRequest, workflowsV1Workflow_universal_d_UpdateWorkflowResponse as UpdateWorkflowResponse, workflowsV1Workflow_universal_d_CreateWorkflowRequest as CreateWorkflowRequest, workflowsV1Workflow_universal_d_CreateWorkflowResponse as CreateWorkflowResponse, workflowsV1Workflow_universal_d_DeleteWorkflowRequest as DeleteWorkflowRequest, workflowsV1Workflow_universal_d_DeleteWorkflowResponse as DeleteWorkflowResponse, workflowsV1Workflow_universal_d_SetupWorkflowRequest as SetupWorkflowRequest, workflowsV1Workflow_universal_d_SetupWorkflowResponse as SetupWorkflowResponse, workflowsV1Workflow_universal_d_listWorkflows as listWorkflows, workflowsV1Workflow_universal_d_ListWorkflowsOptions as ListWorkflowsOptions, workflowsV1Workflow_universal_d_QueryWorkflowsOptions as QueryWorkflowsOptions, workflowsV1Workflow_universal_d_getWorkflow as getWorkflow, workflowsV1Workflow_universal_d_GetWorkflowOptions as GetWorkflowOptions, workflowsV1Workflow_universal_d_updateWorkflow as updateWorkflow, workflowsV1Workflow_universal_d_createWorkflow as createWorkflow, workflowsV1Workflow_universal_d_deleteWorkflow as deleteWorkflow, };\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/common/wix-crm.v2.d.ts",
      "content": "declare module \"wix-crm.v2\" {\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        /** Information about the contact associated with the task. */\n        contact?: ContactInfo$1;\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$1 {\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    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$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$3[];\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$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        /** Sort by ascending order. */\n        ASC = \"ASC\",\n        /** Sort by descending order. */\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 QueryTasksResponse {\n        /** The retrieved tasks. */\n        tasks?: Task[];\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 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$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$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$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 {\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$1;\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 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$1;\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$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        /** 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    interface EntityDeletedEvent$3 {\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 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     * @permissionScope Manage Tasks\n     * @permissionScopeId SCOPE.DC-CRM.MANAGE-TASKS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns The created task.\n     * @fqn wix.crm.tasks.v2.Tasks.CreateTask\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     * @permissionScope Read Tasks\n     * @permissionScopeId SCOPE.DC-CRM.READ-TASKS\n     * @permissionScope Manage Tasks\n     * @permissionScopeId SCOPE.DC-CRM.MANAGE-TASKS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns The retrieved task.\n     * @fqn wix.crm.tasks.v2.Tasks.GetTask\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     * @permissionScope Manage Tasks\n     * @permissionScopeId SCOPE.DC-CRM.MANAGE-TASKS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns The updated task.\n     * @fqn wix.crm.tasks.v2.Tasks.UpdateTask\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        /** Information about the contact associated with the task. */\n        contact?: ContactInfo$1;\n    }\n    interface UpdateTaskOptions {\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     * @permissionScope Manage Tasks\n     * @permissionScopeId SCOPE.DC-CRM.MANAGE-TASKS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn wix.crm.tasks.v2.Tasks.DeleteTask\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     * @permissionScope Read Tasks\n     * @permissionScopeId SCOPE.DC-CRM.READ-TASKS\n     * @permissionScope Manage Tasks\n     * @permissionScopeId SCOPE.DC-CRM.MANAGE-TASKS\n     * @permissionId CRM_TASKS.TASK_READ\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn wix.crm.tasks.v2.Tasks.QueryTasks\n     */\n    function queryTasks(): TasksQueryBuilder;\n    interface QueryCursorResult {\n        cursors: Cursors$1;\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     * @permissionScope Read Tasks\n     * @permissionScopeId SCOPE.DC-CRM.READ-TASKS\n     * @permissionScope Manage Tasks\n     * @permissionScopeId SCOPE.DC-CRM.MANAGE-TASKS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn wix.crm.tasks.v2.Tasks.CountTasks\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     * @permissionScope Manage Tasks\n     * @permissionScopeId SCOPE.DC-CRM.MANAGE-TASKS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn wix.crm.tasks.v2.Tasks.MoveTaskAfter\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    type crmTasksV2TaskTasks_universal_d_Task = Task;\n    type crmTasksV2TaskTasks_universal_d_TaskStatus = TaskStatus;\n    const crmTasksV2TaskTasks_universal_d_TaskStatus: typeof TaskStatus;\n    type crmTasksV2TaskTasks_universal_d_TaskSource = TaskSource;\n    type crmTasksV2TaskTasks_universal_d_SourceType = SourceType;\n    const crmTasksV2TaskTasks_universal_d_SourceType: typeof SourceType;\n    type crmTasksV2TaskTasks_universal_d_DeleteCompletedTasksRequest = DeleteCompletedTasksRequest;\n    type crmTasksV2TaskTasks_universal_d_DeleteCompletedTasksResponse = DeleteCompletedTasksResponse;\n    type crmTasksV2TaskTasks_universal_d_SendTasksReminderRequest = SendTasksReminderRequest;\n    type crmTasksV2TaskTasks_universal_d_ReminderType = ReminderType;\n    const crmTasksV2TaskTasks_universal_d_ReminderType: typeof ReminderType;\n    type crmTasksV2TaskTasks_universal_d_SendTasksReminderResponse = SendTasksReminderResponse;\n    type crmTasksV2TaskTasks_universal_d_RepositionTask = RepositionTask;\n    type crmTasksV2TaskTasks_universal_d_TaskOverdue = TaskOverdue;\n    type crmTasksV2TaskTasks_universal_d_TaskAssigned = TaskAssigned;\n    type crmTasksV2TaskTasks_universal_d_CreateTaskRequest = CreateTaskRequest;\n    type crmTasksV2TaskTasks_universal_d_CreateTaskResponse = CreateTaskResponse;\n    type crmTasksV2TaskTasks_universal_d_ContactNotFoundError = ContactNotFoundError;\n    type crmTasksV2TaskTasks_universal_d_GetTaskRequest = GetTaskRequest;\n    type crmTasksV2TaskTasks_universal_d_GetTaskResponse = GetTaskResponse;\n    type crmTasksV2TaskTasks_universal_d_UpdateTaskRequest = UpdateTaskRequest;\n    type crmTasksV2TaskTasks_universal_d_UpdateTaskResponse = UpdateTaskResponse;\n    type crmTasksV2TaskTasks_universal_d_DeleteTaskRequest = DeleteTaskRequest;\n    type crmTasksV2TaskTasks_universal_d_DeleteTaskResponse = DeleteTaskResponse;\n    type crmTasksV2TaskTasks_universal_d_QueryTasksRequest = QueryTasksRequest;\n    type crmTasksV2TaskTasks_universal_d_CursorQuery = CursorQuery;\n    type crmTasksV2TaskTasks_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n    type crmTasksV2TaskTasks_universal_d_QueryTasksResponse = QueryTasksResponse;\n    type crmTasksV2TaskTasks_universal_d_CountTasksRequest = CountTasksRequest;\n    type crmTasksV2TaskTasks_universal_d_CountTasksResponse = CountTasksResponse;\n    type crmTasksV2TaskTasks_universal_d_QueryTasksInternalRequest = QueryTasksInternalRequest;\n    type crmTasksV2TaskTasks_universal_d_QueryV2 = QueryV2;\n    type crmTasksV2TaskTasks_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n    type crmTasksV2TaskTasks_universal_d_QueryTasksInternalResponse = QueryTasksInternalResponse;\n    type crmTasksV2TaskTasks_universal_d_PagingMetadataV2 = PagingMetadataV2;\n    type crmTasksV2TaskTasks_universal_d_MoveTaskAfterRequest = MoveTaskAfterRequest;\n    type crmTasksV2TaskTasks_universal_d_MoveTaskAfterResponse = MoveTaskAfterResponse;\n    type crmTasksV2TaskTasks_universal_d_TaskNotFoundError = TaskNotFoundError;\n    type crmTasksV2TaskTasks_universal_d_Empty = Empty;\n    const crmTasksV2TaskTasks_universal_d_createTask: typeof createTask;\n    const crmTasksV2TaskTasks_universal_d_getTask: typeof getTask;\n    const crmTasksV2TaskTasks_universal_d_updateTask: typeof updateTask;\n    type crmTasksV2TaskTasks_universal_d_UpdateTask = UpdateTask;\n    type crmTasksV2TaskTasks_universal_d_UpdateTaskOptions = UpdateTaskOptions;\n    const crmTasksV2TaskTasks_universal_d_deleteTask: typeof deleteTask;\n    const crmTasksV2TaskTasks_universal_d_queryTasks: typeof queryTasks;\n    type crmTasksV2TaskTasks_universal_d_TasksQueryResult = TasksQueryResult;\n    type crmTasksV2TaskTasks_universal_d_TasksQueryBuilder = TasksQueryBuilder;\n    const crmTasksV2TaskTasks_universal_d_countTasks: typeof countTasks;\n    type crmTasksV2TaskTasks_universal_d_CountTasksOptions = CountTasksOptions;\n    const crmTasksV2TaskTasks_universal_d_moveTaskAfter: typeof moveTaskAfter;\n    type crmTasksV2TaskTasks_universal_d_MoveTaskAfterOptions = MoveTaskAfterOptions;\n    namespace crmTasksV2TaskTasks_universal_d {\n        export { crmTasksV2TaskTasks_universal_d_Task as Task, crmTasksV2TaskTasks_universal_d_TaskStatus as TaskStatus, crmTasksV2TaskTasks_universal_d_TaskSource as TaskSource, crmTasksV2TaskTasks_universal_d_SourceType as SourceType, ContactInfo$1 as ContactInfo, crmTasksV2TaskTasks_universal_d_DeleteCompletedTasksRequest as DeleteCompletedTasksRequest, crmTasksV2TaskTasks_universal_d_DeleteCompletedTasksResponse as DeleteCompletedTasksResponse, crmTasksV2TaskTasks_universal_d_SendTasksReminderRequest as SendTasksReminderRequest, crmTasksV2TaskTasks_universal_d_ReminderType as ReminderType, crmTasksV2TaskTasks_universal_d_SendTasksReminderResponse as SendTasksReminderResponse, crmTasksV2TaskTasks_universal_d_RepositionTask as RepositionTask, crmTasksV2TaskTasks_universal_d_TaskOverdue as TaskOverdue, crmTasksV2TaskTasks_universal_d_TaskAssigned as TaskAssigned, crmTasksV2TaskTasks_universal_d_CreateTaskRequest as CreateTaskRequest, crmTasksV2TaskTasks_universal_d_CreateTaskResponse as CreateTaskResponse, crmTasksV2TaskTasks_universal_d_ContactNotFoundError as ContactNotFoundError, crmTasksV2TaskTasks_universal_d_GetTaskRequest as GetTaskRequest, crmTasksV2TaskTasks_universal_d_GetTaskResponse as GetTaskResponse, crmTasksV2TaskTasks_universal_d_UpdateTaskRequest as UpdateTaskRequest, crmTasksV2TaskTasks_universal_d_UpdateTaskResponse as UpdateTaskResponse, crmTasksV2TaskTasks_universal_d_DeleteTaskRequest as DeleteTaskRequest, crmTasksV2TaskTasks_universal_d_DeleteTaskResponse as DeleteTaskResponse, crmTasksV2TaskTasks_universal_d_QueryTasksRequest as QueryTasksRequest, crmTasksV2TaskTasks_universal_d_CursorQuery as CursorQuery, crmTasksV2TaskTasks_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf, Sorting$3 as Sorting, SortOrder$3 as SortOrder, CursorPaging$1 as CursorPaging, crmTasksV2TaskTasks_universal_d_QueryTasksResponse as QueryTasksResponse, CursorPagingMetadata$1 as CursorPagingMetadata, Cursors$1 as Cursors, crmTasksV2TaskTasks_universal_d_CountTasksRequest as CountTasksRequest, crmTasksV2TaskTasks_universal_d_CountTasksResponse as CountTasksResponse, crmTasksV2TaskTasks_universal_d_QueryTasksInternalRequest as QueryTasksInternalRequest, crmTasksV2TaskTasks_universal_d_QueryV2 as QueryV2, crmTasksV2TaskTasks_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf, Paging$3 as Paging, crmTasksV2TaskTasks_universal_d_QueryTasksInternalResponse as QueryTasksInternalResponse, crmTasksV2TaskTasks_universal_d_PagingMetadataV2 as PagingMetadataV2, crmTasksV2TaskTasks_universal_d_MoveTaskAfterRequest as MoveTaskAfterRequest, crmTasksV2TaskTasks_universal_d_MoveTaskAfterResponse as MoveTaskAfterResponse, crmTasksV2TaskTasks_universal_d_TaskNotFoundError as TaskNotFoundError, crmTasksV2TaskTasks_universal_d_Empty as Empty, DomainEvent$3 as DomainEvent, DomainEventBodyOneOf$3 as DomainEventBodyOneOf, EntityCreatedEvent$3 as EntityCreatedEvent, RestoreInfo$3 as RestoreInfo, EntityUpdatedEvent$3 as EntityUpdatedEvent, EntityDeletedEvent$3 as EntityDeletedEvent, ActionEvent$3 as ActionEvent, MessageEnvelope$3 as MessageEnvelope, IdentificationData$3 as IdentificationData, IdentificationDataIdOneOf$3 as IdentificationDataIdOneOf, WebhookIdentityType$3 as WebhookIdentityType, crmTasksV2TaskTasks_universal_d_createTask as createTask, crmTasksV2TaskTasks_universal_d_getTask as getTask, crmTasksV2TaskTasks_universal_d_updateTask as updateTask, crmTasksV2TaskTasks_universal_d_UpdateTask as UpdateTask, crmTasksV2TaskTasks_universal_d_UpdateTaskOptions as UpdateTaskOptions, crmTasksV2TaskTasks_universal_d_deleteTask as deleteTask, crmTasksV2TaskTasks_universal_d_queryTasks as queryTasks, crmTasksV2TaskTasks_universal_d_TasksQueryResult as TasksQueryResult, crmTasksV2TaskTasks_universal_d_TasksQueryBuilder as TasksQueryBuilder, crmTasksV2TaskTasks_universal_d_countTasks as countTasks, crmTasksV2TaskTasks_universal_d_CountTasksOptions as CountTasksOptions, crmTasksV2TaskTasks_universal_d_moveTaskAfter as moveTaskAfter, crmTasksV2TaskTasks_universal_d_MoveTaskAfterOptions as MoveTaskAfterOptions, };\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    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$2;\n        /** Paging options. */\n        paging?: Paging$2;\n        language?: string | null;\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 `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$2;\n    }\n    interface PagingMetadata$2 {\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         * 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$1 {\n        /** Contacts Instance ID of the site. */\n        instanceId?: string;\n        /** Labels to exclude from the purge. */\n        exludingLabelKeys?: string[];\n    }\n    interface PurgeResponse$1 {\n        /** Number of deleted items */\n        deletedItems?: number;\n    }\n    interface GdprListRequest$1 {\n        /** Contacts Instance ID of the site. */\n        instanceId?: string;\n    }\n    interface GdprListResponse$1 {\n        /** List of labels */\n        labels?: ContactLabel[];\n    }\n    interface QueryLabelsRequest {\n        /** Query options. */\n        query?: Query$2;\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$2 {\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$2[];\n        /** Pagination options. */\n        paging?: Paging$2;\n    }\n    interface QueryLabelsResponse {\n        /** List of labels */\n        labels?: ContactLabel[];\n        /** Details on the paged set of results returned. */\n        pagingMetadata?: PagingMetadata$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        /** 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$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    interface EntityDeletedEvent$2 {\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    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$2;\n        /** Paging options. */\n        paging?: Paging$2;\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-existent 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     * @requiredField displayName\n     * @param options - Language options.\n     * @permissionId CONTACTS_LABELS.MODIFY\n     * @permissionScope Manage Contact Labels\n     * @permissionScopeId SCOPE.DC-CONTACTS.MANAGE-LABELS\n     * @permissionScope Manage Members and Contacts - all permissions\n     * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Label that was found or created.\n     * @fqn com.wixpress.contacts.labels.v4.ContactLabelsServiceV4.FindOrCreateLabel\n     */\n    function findOrCreateLabel(displayName: string, options?: FindOrCreateLabelOptions): Promise<FindOrCreateLabelResponse>;\n    interface FindOrCreateLabelOptions {\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 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     * @requiredField key\n     * @param options - Language options.\n     * @permissionId CONTACTS_LABELS.VIEW\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Contact Labels\n     * @permissionScopeId SCOPE.DC-CONTACTS.MANAGE-LABELS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage Members and Contacts - all permissions\n     * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns The specified label.\n     * @fqn com.wixpress.contacts.labels.v4.ContactLabelsServiceV4.GetLabel\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     * @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     * @permissionScope Manage Contact Labels\n     * @permissionScopeId SCOPE.DC-CONTACTS.MANAGE-LABELS\n     * @permissionScope Manage Members and Contacts - all permissions\n     * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Renamed label.\n     * @fqn com.wixpress.contacts.labels.v4.ContactLabelsServiceV4.UpdateLabel\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    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     * @requiredField key\n     * @permissionId CONTACTS_LABELS.MODIFY\n     * @permissionScope Manage Contact Labels\n     * @permissionScopeId SCOPE.DC-CONTACTS.MANAGE-LABELS\n     * @permissionScope Manage Members and Contacts - all permissions\n     * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.contacts.labels.v4.ContactLabelsServiceV4.DeleteLabel\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     * @param options - Language options.\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Contact Labels\n     * @permissionScopeId SCOPE.DC-CONTACTS.MANAGE-LABELS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage Members and Contacts - all permissions\n     * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS\n     * @permissionId CONTACTS_LABELS.VIEW\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.contacts.labels.v4.ContactLabelsServiceV4.QueryLabels\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$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 LabelsQueryResult extends QueryOffsetResult$2 {\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         */\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         */\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         */\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         */\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         */\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         */\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         */\n        startsWith: (propertyName: \"displayName\", value: string) => LabelsQueryBuilder;\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        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        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        limit: (limit: number) => LabelsQueryBuilder;\n        /** @param skip - Number of items to skip in the query results before returning the results. */\n        skip: (skip: number) => LabelsQueryBuilder;\n        find: () => Promise<LabelsQueryResult>;\n    }\n    type contactsV4LabelLabels_universal_d_ContactLabel = ContactLabel;\n    type contactsV4LabelLabels_universal_d_LabelType = LabelType;\n    const contactsV4LabelLabels_universal_d_LabelType: typeof LabelType;\n    type contactsV4LabelLabels_universal_d_ListLabelsRequest = ListLabelsRequest;\n    type contactsV4LabelLabels_universal_d_ListLabelsResponse = ListLabelsResponse;\n    type contactsV4LabelLabels_universal_d_FindOrCreateLabelRequest = FindOrCreateLabelRequest;\n    type contactsV4LabelLabels_universal_d_FindOrCreateLabelResponse = FindOrCreateLabelResponse;\n    type contactsV4LabelLabels_universal_d_LabelsQuotaReached = LabelsQuotaReached;\n    type contactsV4LabelLabels_universal_d_ListLabelNamespacesRequest = ListLabelNamespacesRequest;\n    type contactsV4LabelLabels_universal_d_ListLabelNamespacesResponse = ListLabelNamespacesResponse;\n    type contactsV4LabelLabels_universal_d_ContactLabelNamespace = ContactLabelNamespace;\n    type contactsV4LabelLabels_universal_d_GetLabelRequest = GetLabelRequest;\n    type contactsV4LabelLabels_universal_d_GetLabelResponse = GetLabelResponse;\n    type contactsV4LabelLabels_universal_d_GetLabelByLegacyIdRequest = GetLabelByLegacyIdRequest;\n    type contactsV4LabelLabels_universal_d_GetLabelByLegacyIdResponse = GetLabelByLegacyIdResponse;\n    type contactsV4LabelLabels_universal_d_UpdateLabelRequest = UpdateLabelRequest;\n    type contactsV4LabelLabels_universal_d_UpdateLabelResponse = UpdateLabelResponse;\n    type contactsV4LabelLabels_universal_d_DeleteLabelRequest = DeleteLabelRequest;\n    type contactsV4LabelLabels_universal_d_DeleteLabelResponse = DeleteLabelResponse;\n    type contactsV4LabelLabels_universal_d_QueryLabelsRequest = QueryLabelsRequest;\n    type contactsV4LabelLabels_universal_d_QueryLabelsResponse = QueryLabelsResponse;\n    type contactsV4LabelLabels_universal_d_ListLabelsOptions = ListLabelsOptions;\n    const contactsV4LabelLabels_universal_d_findOrCreateLabel: typeof findOrCreateLabel;\n    type contactsV4LabelLabels_universal_d_FindOrCreateLabelOptions = FindOrCreateLabelOptions;\n    type contactsV4LabelLabels_universal_d_ListLabelNamespacesOptions = ListLabelNamespacesOptions;\n    const contactsV4LabelLabels_universal_d_getLabel: typeof getLabel;\n    type contactsV4LabelLabels_universal_d_GetLabelOptions = GetLabelOptions;\n    const contactsV4LabelLabels_universal_d_renameLabel: typeof renameLabel;\n    type contactsV4LabelLabels_universal_d_RenameLabel = RenameLabel;\n    type contactsV4LabelLabels_universal_d_RenameLabelOptions = RenameLabelOptions;\n    const contactsV4LabelLabels_universal_d_deleteLabel: typeof deleteLabel;\n    const contactsV4LabelLabels_universal_d_queryLabels: typeof queryLabels;\n    type contactsV4LabelLabels_universal_d_QueryLabelsOptions = QueryLabelsOptions;\n    type contactsV4LabelLabels_universal_d_LabelsQueryResult = LabelsQueryResult;\n    type contactsV4LabelLabels_universal_d_LabelsQueryBuilder = LabelsQueryBuilder;\n    namespace contactsV4LabelLabels_universal_d {\n        export { contactsV4LabelLabels_universal_d_ContactLabel as ContactLabel, contactsV4LabelLabels_universal_d_LabelType as LabelType, contactsV4LabelLabels_universal_d_ListLabelsRequest as ListLabelsRequest, Sorting$2 as Sorting, SortOrder$2 as SortOrder, Paging$2 as Paging, contactsV4LabelLabels_universal_d_ListLabelsResponse as ListLabelsResponse, PagingMetadata$2 as PagingMetadata, contactsV4LabelLabels_universal_d_FindOrCreateLabelRequest as FindOrCreateLabelRequest, contactsV4LabelLabels_universal_d_FindOrCreateLabelResponse as FindOrCreateLabelResponse, contactsV4LabelLabels_universal_d_LabelsQuotaReached as LabelsQuotaReached, contactsV4LabelLabels_universal_d_ListLabelNamespacesRequest as ListLabelNamespacesRequest, contactsV4LabelLabels_universal_d_ListLabelNamespacesResponse as ListLabelNamespacesResponse, contactsV4LabelLabels_universal_d_ContactLabelNamespace as ContactLabelNamespace, contactsV4LabelLabels_universal_d_GetLabelRequest as GetLabelRequest, contactsV4LabelLabels_universal_d_GetLabelResponse as GetLabelResponse, contactsV4LabelLabels_universal_d_GetLabelByLegacyIdRequest as GetLabelByLegacyIdRequest, contactsV4LabelLabels_universal_d_GetLabelByLegacyIdResponse as GetLabelByLegacyIdResponse, contactsV4LabelLabels_universal_d_UpdateLabelRequest as UpdateLabelRequest, contactsV4LabelLabels_universal_d_UpdateLabelResponse as UpdateLabelResponse, contactsV4LabelLabels_universal_d_DeleteLabelRequest as DeleteLabelRequest, contactsV4LabelLabels_universal_d_DeleteLabelResponse as DeleteLabelResponse, PurgeRequest$1 as PurgeRequest, PurgeResponse$1 as PurgeResponse, GdprListRequest$1 as GdprListRequest, GdprListResponse$1 as GdprListResponse, contactsV4LabelLabels_universal_d_QueryLabelsRequest as QueryLabelsRequest, Query$2 as Query, contactsV4LabelLabels_universal_d_QueryLabelsResponse as QueryLabelsResponse, DomainEvent$2 as DomainEvent, DomainEventBodyOneOf$2 as DomainEventBodyOneOf, EntityCreatedEvent$2 as EntityCreatedEvent, RestoreInfo$2 as RestoreInfo, EntityUpdatedEvent$2 as EntityUpdatedEvent, EntityDeletedEvent$2 as EntityDeletedEvent, ActionEvent$2 as ActionEvent, MessageEnvelope$2 as MessageEnvelope, IdentificationData$2 as IdentificationData, IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf, WebhookIdentityType$2 as WebhookIdentityType, contactsV4LabelLabels_universal_d_ListLabelsOptions as ListLabelsOptions, contactsV4LabelLabels_universal_d_findOrCreateLabel as findOrCreateLabel, contactsV4LabelLabels_universal_d_FindOrCreateLabelOptions as FindOrCreateLabelOptions, contactsV4LabelLabels_universal_d_ListLabelNamespacesOptions as ListLabelNamespacesOptions, contactsV4LabelLabels_universal_d_getLabel as getLabel, contactsV4LabelLabels_universal_d_GetLabelOptions as GetLabelOptions, contactsV4LabelLabels_universal_d_renameLabel as renameLabel, contactsV4LabelLabels_universal_d_RenameLabel as RenameLabel, contactsV4LabelLabels_universal_d_RenameLabelOptions as RenameLabelOptions, contactsV4LabelLabels_universal_d_deleteLabel as deleteLabel, contactsV4LabelLabels_universal_d_queryLabels as queryLabels, contactsV4LabelLabels_universal_d_QueryLabelsOptions as QueryLabelsOptions, contactsV4LabelLabels_universal_d_LabelsQueryResult as LabelsQueryResult, contactsV4LabelLabels_universal_d_LabelsQueryBuilder as LabelsQueryBuilder, };\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;\n        /**\n         * Contact's primary phone and email.\n         * @readonly\n         */\n        primaryInfo?: PrimaryContactInfo;\n        /** Contact's details. */\n        info?: ContactInfo;\n    }\n    interface ContactSource {\n        /**\n         * Source type.\n         * @readonly\n         */\n        sourceType?: ContactSourceType;\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        HOPP = \"HOPP\"\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    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 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 {\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         * 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        /** 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         * 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    /** @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 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    }\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    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 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         * 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;\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;\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    /** 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;\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    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    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         * Use the Labels API to create or retrieve labels.\n         */\n        labelKeys: string[];\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    /** 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    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$1;\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$1;\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    interface Sorting$1 {\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$1;\n    }\n    enum SortOrder$1 {\n        ASC = \"ASC\",\n        DESC = \"DESC\"\n    }\n    interface Paging$1 {\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$1;\n    }\n    interface PagingMetadata$1 {\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    interface QueryContactsRequest {\n        /** Query options. */\n        query?: Query$1;\n    }\n    interface Query$1 {\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$1[];\n        /** Pagination options. */\n        paging?: Paging$1;\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$1;\n    }\n    interface ListFacetsRequest {\n        /** Pagination options. */\n        paging?: Paging$1;\n        /** Language for localization. */\n        language?: string | null;\n    }\n    interface ListFacetsResponse {\n        /** List of facets. */\n        facets?: ContactsFacet[];\n        /** Details on the paged set of results returned. */\n        pagingMetadata?: PagingMetadata$1;\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        /** 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$1;\n        /** Language for localization. */\n        language?: string | null;\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$1;\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    interface BulkDeleteContactsResponse {\n        /**\n         * Bulk job ID.\n         * The job's status can be retrieved with Get Bulk Job.\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;\n    }\n    interface BulkUpdateContactsResponse {\n        /**\n         * Bulk job ID.\n         * The job's status can be retrieved with Get Bulk Job.\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 Get Bulk Job.\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    }\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    /** 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;\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    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$1[];\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        cursorPagingMetadata?: 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 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;\n    }\n    interface ListContactIdsBySegmentResponse {\n        /** List of contact IDs */\n        contactIds?: string[];\n        /** Paging metadata */\n        cursorPagingMetadata?: CursorPagingMetadata;\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        /** 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    interface EntityDeletedEvent$1 {\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 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     * @permissionScope Manage Contacts\n     * @permissionScopeId SCOPE.DC-CONTACTS.MANAGE-CONTACTS\n     * @permissionScope Manage Members and Contacts - all permissions\n     * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Contact.\n     * @fqn com.wixpress.contacts.core.api.v4.ContactsServiceV4.CreateContact\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         * Default: `false`\n         */\n        allowDuplicates?: boolean;\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     * @permissionScope Manage Contacts\n     * @permissionScopeId SCOPE.DC-CONTACTS.MANAGE-CONTACTS\n     * @permissionScope Manage Members and Contacts - all permissions\n     * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Updated contact.\n     * @fqn com.wixpress.contacts.core.api.v4.ContactsServiceV4.UpdateContact\n     */\n    function updateContact(contactId: string, info: ContactInfo, 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    /**\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 duplicated 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     * @permissionScope Manage Contacts\n     * @permissionScopeId SCOPE.DC-CONTACTS.MANAGE-CONTACTS\n     * @permissionScope Manage Members and Contacts - all permissions\n     * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.contacts.core.api.v4.ContactsServiceV4.MergeContacts\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    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    /**\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     * @permissionScope Manage Contacts\n     * @permissionScopeId SCOPE.DC-CONTACTS.MANAGE-CONTACTS\n     * @permissionScope Manage Members and Contacts - all permissions\n     * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS\n     * @permissionScope Manage Members\n     * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-MEMBERS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.contacts.core.api.v4.ContactsServiceV4.DeleteContact\n     */\n    function deleteContact(contactId: string, options?: DeleteContactOptions): Promise<void>;\n    interface DeleteContactOptions {\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     * @permissionScope Manage Contacts\n     * @permissionScopeId SCOPE.DC-CONTACTS.MANAGE-CONTACTS\n     * @permissionScope Manage Members and Contacts - all permissions\n     * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Updated contact.\n     * @fqn com.wixpress.contacts.core.api.v4.ContactsServiceV4.LabelContact\n     */\n    function labelContact(contactId: string, labelKeys: string[], options?: LabelContactOptions): Promise<LabelContactResponse>;\n    interface LabelContactOptions {\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     * @permissionScope Manage Contacts\n     * @permissionScopeId SCOPE.DC-CONTACTS.MANAGE-CONTACTS\n     * @permissionScope Manage Members and Contacts - all permissions\n     * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Updated contact.\n     * @fqn com.wixpress.contacts.core.api.v4.ContactsServiceV4.UnlabelContact\n     */\n    function unlabelContact(contactId: string, labelKeys: string[], options?: UnlabelContactOptions): Promise<UnlabelContactResponse>;\n    interface UnlabelContactOptions {\n    }\n    interface LabelAndUnlabelContactOptions {\n        /** List of label keys to remove from the contact. */\n        labelKeysToRemove: string[];\n    }\n    interface ListContactsOptions {\n        /** [Sort order](https://dev.wix.com/api/rest/contacts/contacts/sort-and-filter). */\n        sort?: Sorting$1;\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$1;\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    /**\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     * @param options - Query contact options.\n     * @permissionScope Read Contacts\n     * @permissionScopeId SCOPE.DC-CONTACTS.READ-CONTACTS\n     * @permissionScope Read Members and Contacts - all read permissions\n     * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.READ-MEMBERS-CONTACTS\n     * @permissionScope Manage Contacts\n     * @permissionScopeId SCOPE.DC-CONTACTS.MANAGE-CONTACTS\n     * @permissionScope Manage Members and Contacts - all permissions\n     * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS\n     * @permissionId CONTACTS.VIEW\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.contacts.core.api.v4.ContactsServiceV4.QueryContacts\n     */\n    function queryContacts(options?: QueryContactsOptions): ContactsQueryBuilder;\n    interface QueryContactsOptions {\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 ContactsQueryResult extends QueryOffsetResult$1 {\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         */\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         */\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         */\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         */\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         */\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         */\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         */\n        startsWith: (propertyName: \"primaryInfo.email\" | \"primaryInfo.phone\" | \"info.name.first\" | \"info.name.last\" | \"info.company\" | \"info.jobTitle\", value: string) => ContactsQueryBuilder;\n        in: (propertyName: \"_id\" | \"primaryInfo.email\" | \"primaryInfo.phone\" | \"info.name.first\" | \"info.name.last\" | \"info.company\" | \"info.jobTitle\" | \"info.locale\", value: any) => ContactsQueryBuilder;\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        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        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        limit: (limit: number) => ContactsQueryBuilder;\n        /** @param skip - Number of items to skip in the query results before returning the results. */\n        skip: (skip: number) => ContactsQueryBuilder;\n        find: () => Promise<ContactsQueryResult>;\n    }\n    interface ListFacetsOptions {\n        /** Pagination options. */\n        paging?: Paging$1;\n        /** Language for localization. */\n        language?: string | null;\n    }\n    interface QueryFacetsOptions {\n        /** Pagination options. */\n        paging?: Paging$1;\n        /** Language for localization. */\n        language?: string | null;\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 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    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;\n    }\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    interface BulkUpsertContactsOptions {\n        info?: ContactInfo[];\n        returnFullEntity?: boolean;\n    }\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     * @permissionScope Read Contacts\n     * @permissionScopeId SCOPE.DC-CONTACTS.READ-CONTACTS\n     * @permissionScope Read Members and Contacts - all read permissions\n     * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.READ-MEMBERS-CONTACTS\n     * @permissionScope Manage Contacts\n     * @permissionScopeId SCOPE.DC-CONTACTS.MANAGE-CONTACTS\n     * @permissionScope Manage Members and Contacts - all permissions\n     * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns The requested contact.\n     * @fqn com.wixpress.contacts.core.api.v4.ContactsServiceV4.GetContact\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    interface SearchContactsOptions {\n        /** Search object. Encapsulates filter, sorting, paging and other details */\n        search?: Search;\n    }\n    type contactsV4ContactContacts_universal_d_Contact = Contact;\n    type contactsV4ContactContacts_universal_d_ContactSource = ContactSource;\n    type contactsV4ContactContacts_universal_d_ContactSourceType = ContactSourceType;\n    const contactsV4ContactContacts_universal_d_ContactSourceType: typeof ContactSourceType;\n    type contactsV4ContactContacts_universal_d_ContactActivity = ContactActivity;\n    type contactsV4ContactContacts_universal_d_ContactActivityType = ContactActivityType;\n    const contactsV4ContactContacts_universal_d_ContactActivityType: typeof ContactActivityType;\n    type contactsV4ContactContacts_universal_d_ActivityIcon = ActivityIcon;\n    type contactsV4ContactContacts_universal_d_PrimaryContactInfo = PrimaryContactInfo;\n    type contactsV4ContactContacts_universal_d_ContactInfo = ContactInfo;\n    type contactsV4ContactContacts_universal_d_ContactName = ContactName;\n    type contactsV4ContactContacts_universal_d_ContactEmailsWrapper = ContactEmailsWrapper;\n    type contactsV4ContactContacts_universal_d_ContactEmail = ContactEmail;\n    type contactsV4ContactContacts_universal_d_EmailTag = EmailTag;\n    const contactsV4ContactContacts_universal_d_EmailTag: typeof EmailTag;\n    type contactsV4ContactContacts_universal_d_ContactPhonesWrapper = ContactPhonesWrapper;\n    type contactsV4ContactContacts_universal_d_ContactPhone = ContactPhone;\n    type contactsV4ContactContacts_universal_d_PhoneTag = PhoneTag;\n    const contactsV4ContactContacts_universal_d_PhoneTag: typeof PhoneTag;\n    type contactsV4ContactContacts_universal_d_ContactAddressesWrapper = ContactAddressesWrapper;\n    type contactsV4ContactContacts_universal_d_ContactAddress = ContactAddress;\n    type contactsV4ContactContacts_universal_d_AddressTag = AddressTag;\n    const contactsV4ContactContacts_universal_d_AddressTag: typeof AddressTag;\n    type contactsV4ContactContacts_universal_d_Address = Address;\n    type contactsV4ContactContacts_universal_d_AddressStreetOneOf = AddressStreetOneOf;\n    type contactsV4ContactContacts_universal_d_StreetAddress = StreetAddress;\n    type contactsV4ContactContacts_universal_d_AddressLocation = AddressLocation;\n    type contactsV4ContactContacts_universal_d_Subdivision = Subdivision;\n    type contactsV4ContactContacts_universal_d_SubdivisionType = SubdivisionType;\n    const contactsV4ContactContacts_universal_d_SubdivisionType: typeof SubdivisionType;\n    type contactsV4ContactContacts_universal_d_AssigneesWrapper = AssigneesWrapper;\n    type contactsV4ContactContacts_universal_d_LabelsWrapper = LabelsWrapper;\n    type contactsV4ContactContacts_universal_d_ExtendedFieldsWrapper = ExtendedFieldsWrapper;\n    type contactsV4ContactContacts_universal_d_LocationsWrapper = LocationsWrapper;\n    type contactsV4ContactContacts_universal_d_ContactPicture = ContactPicture;\n    type contactsV4ContactContacts_universal_d_ImageProvider = ImageProvider;\n    const contactsV4ContactContacts_universal_d_ImageProvider: typeof ImageProvider;\n    type contactsV4ContactContacts_universal_d_SegmentsWrapper = SegmentsWrapper;\n    type contactsV4ContactContacts_universal_d_PrimaryEmail = PrimaryEmail;\n    type contactsV4ContactContacts_universal_d_SubscriptionStatus = SubscriptionStatus;\n    const contactsV4ContactContacts_universal_d_SubscriptionStatus: typeof SubscriptionStatus;\n    type contactsV4ContactContacts_universal_d_EmailDeliverabilityStatus = EmailDeliverabilityStatus;\n    const contactsV4ContactContacts_universal_d_EmailDeliverabilityStatus: typeof EmailDeliverabilityStatus;\n    type contactsV4ContactContacts_universal_d_PrimaryPhone = PrimaryPhone;\n    type contactsV4ContactContacts_universal_d_PhoneDeliverabilityStatus = PhoneDeliverabilityStatus;\n    const contactsV4ContactContacts_universal_d_PhoneDeliverabilityStatus: typeof PhoneDeliverabilityStatus;\n    type contactsV4ContactContacts_universal_d_MemberInfo = MemberInfo;\n    type contactsV4ContactContacts_universal_d_MemberStatus = MemberStatus;\n    const contactsV4ContactContacts_universal_d_MemberStatus: typeof MemberStatus;\n    type contactsV4ContactContacts_universal_d_ProfileInfo = ProfileInfo;\n    type contactsV4ContactContacts_universal_d_PrivacyStatus = PrivacyStatus;\n    const contactsV4ContactContacts_universal_d_PrivacyStatus: typeof PrivacyStatus;\n    type contactsV4ContactContacts_universal_d_UserInfo = UserInfo;\n    type contactsV4ContactContacts_universal_d_Role = Role;\n    const contactsV4ContactContacts_universal_d_Role: typeof Role;\n    type contactsV4ContactContacts_universal_d_SessionInfo = SessionInfo;\n    type contactsV4ContactContacts_universal_d_GroupInfo = GroupInfo;\n    type contactsV4ContactContacts_universal_d_ContactSubmitted = ContactSubmitted;\n    type contactsV4ContactContacts_universal_d_ContactChanged = ContactChanged;\n    type contactsV4ContactContacts_universal_d_ContactEmailSubscriptionUpdated = ContactEmailSubscriptionUpdated;\n    type contactsV4ContactContacts_universal_d_ContactPhoneSubscriptionUpdated = ContactPhoneSubscriptionUpdated;\n    type contactsV4ContactContacts_universal_d_ContactPrimaryInfoUpdated = ContactPrimaryInfoUpdated;\n    type contactsV4ContactContacts_universal_d_PrimarySubscriptionStatus = PrimarySubscriptionStatus;\n    type contactsV4ContactContacts_universal_d_LastActivityUpdate = LastActivityUpdate;\n    type contactsV4ContactContacts_universal_d_CreateContactRequest = CreateContactRequest;\n    type contactsV4ContactContacts_universal_d_CreateContactResponse = CreateContactResponse;\n    type contactsV4ContactContacts_universal_d_DuplicateContactExists = DuplicateContactExists;\n    type contactsV4ContactContacts_universal_d_UpdateContactRequest = UpdateContactRequest;\n    type contactsV4ContactContacts_universal_d_UpdateContactResponse = UpdateContactResponse;\n    type contactsV4ContactContacts_universal_d_MergeContactsRequest = MergeContactsRequest;\n    type contactsV4ContactContacts_universal_d_MergeContactsResponse = MergeContactsResponse;\n    type contactsV4ContactContacts_universal_d_ContactMerged = ContactMerged;\n    type contactsV4ContactContacts_universal_d_PreviewMergeContactsRequest = PreviewMergeContactsRequest;\n    type contactsV4ContactContacts_universal_d_PreviewMergeContactsResponse = PreviewMergeContactsResponse;\n    type contactsV4ContactContacts_universal_d_DeleteContactRequest = DeleteContactRequest;\n    type contactsV4ContactContacts_universal_d_DeleteContactResponse = DeleteContactResponse;\n    type contactsV4ContactContacts_universal_d_LabelContactRequest = LabelContactRequest;\n    type contactsV4ContactContacts_universal_d_LabelContactResponse = LabelContactResponse;\n    type contactsV4ContactContacts_universal_d_UnlabelContactRequest = UnlabelContactRequest;\n    type contactsV4ContactContacts_universal_d_UnlabelContactResponse = UnlabelContactResponse;\n    type contactsV4ContactContacts_universal_d_LabelAndUnlabelContactRequest = LabelAndUnlabelContactRequest;\n    type contactsV4ContactContacts_universal_d_LabelAndUnlabelContactResponse = LabelAndUnlabelContactResponse;\n    type contactsV4ContactContacts_universal_d_ListContactsRequest = ListContactsRequest;\n    type contactsV4ContactContacts_universal_d_ContactFieldSet = ContactFieldSet;\n    const contactsV4ContactContacts_universal_d_ContactFieldSet: typeof ContactFieldSet;\n    type contactsV4ContactContacts_universal_d_ListContactsResponse = ListContactsResponse;\n    type contactsV4ContactContacts_universal_d_QueryContactsRequest = QueryContactsRequest;\n    type contactsV4ContactContacts_universal_d_QueryContactsResponse = QueryContactsResponse;\n    type contactsV4ContactContacts_universal_d_ListFacetsRequest = ListFacetsRequest;\n    type contactsV4ContactContacts_universal_d_ListFacetsResponse = ListFacetsResponse;\n    type contactsV4ContactContacts_universal_d_ContactsFacet = ContactsFacet;\n    type contactsV4ContactContacts_universal_d_ContactsFacetType = ContactsFacetType;\n    const contactsV4ContactContacts_universal_d_ContactsFacetType: typeof ContactsFacetType;\n    type contactsV4ContactContacts_universal_d_QueryFacetsRequest = QueryFacetsRequest;\n    type contactsV4ContactContacts_universal_d_QueryFacetsResponse = QueryFacetsResponse;\n    type contactsV4ContactContacts_universal_d_BulkDeleteContactsRequest = BulkDeleteContactsRequest;\n    type contactsV4ContactContacts_universal_d_BulkDeleteContactsResponse = BulkDeleteContactsResponse;\n    type contactsV4ContactContacts_universal_d_BulkUpdateContactsRequest = BulkUpdateContactsRequest;\n    type contactsV4ContactContacts_universal_d_BulkUpdateContactsResponse = BulkUpdateContactsResponse;\n    type contactsV4ContactContacts_universal_d_BulkLabelAndUnlabelContactsRequest = BulkLabelAndUnlabelContactsRequest;\n    type contactsV4ContactContacts_universal_d_BulkLabelAndUnlabelContactsResponse = BulkLabelAndUnlabelContactsResponse;\n    type contactsV4ContactContacts_universal_d_BulkUpsertContactsRequest = BulkUpsertContactsRequest;\n    type contactsV4ContactContacts_universal_d_BulkUpsertContactsResponse = BulkUpsertContactsResponse;\n    type contactsV4ContactContacts_universal_d_Action = Action;\n    const contactsV4ContactContacts_universal_d_Action: typeof Action;\n    type contactsV4ContactContacts_universal_d_Error = Error;\n    type contactsV4ContactContacts_universal_d_Metadata = Metadata;\n    type contactsV4ContactContacts_universal_d_Item = Item;\n    type contactsV4ContactContacts_universal_d_BulkUpsertContactsResponseMetadata = BulkUpsertContactsResponseMetadata;\n    type contactsV4ContactContacts_universal_d_UpsertContactRequest = UpsertContactRequest;\n    type contactsV4ContactContacts_universal_d_UpsertContactResponse = UpsertContactResponse;\n    type contactsV4ContactContacts_universal_d_UpsertContactResponseAction = UpsertContactResponseAction;\n    const contactsV4ContactContacts_universal_d_UpsertContactResponseAction: typeof UpsertContactResponseAction;\n    type contactsV4ContactContacts_universal_d_GeneratePictureUploadUrlRequest = GeneratePictureUploadUrlRequest;\n    type contactsV4ContactContacts_universal_d_GeneratePictureUploadUrlResponse = GeneratePictureUploadUrlResponse;\n    type contactsV4ContactContacts_universal_d_GetContactRequest = GetContactRequest;\n    type contactsV4ContactContacts_universal_d_GetContactResponse = GetContactResponse;\n    type contactsV4ContactContacts_universal_d_GetContactResponseType = GetContactResponseType;\n    const contactsV4ContactContacts_universal_d_GetContactResponseType: typeof GetContactResponseType;\n    type contactsV4ContactContacts_universal_d_SyncSubmitContactRequest = SyncSubmitContactRequest;\n    type contactsV4ContactContacts_universal_d_SubmitOperation = SubmitOperation;\n    const contactsV4ContactContacts_universal_d_SubmitOperation: typeof SubmitOperation;\n    type contactsV4ContactContacts_universal_d_SyncSubmitContactResponse = SyncSubmitContactResponse;\n    type contactsV4ContactContacts_universal_d_CountContactsRequest = CountContactsRequest;\n    type contactsV4ContactContacts_universal_d_CountContactsResponse = CountContactsResponse;\n    type contactsV4ContactContacts_universal_d_SearchContactsRequest = SearchContactsRequest;\n    type contactsV4ContactContacts_universal_d_Search = Search;\n    type contactsV4ContactContacts_universal_d_SearchPagingMethodOneOf = SearchPagingMethodOneOf;\n    type contactsV4ContactContacts_universal_d_SearchDetails = SearchDetails;\n    type contactsV4ContactContacts_universal_d_Mode = Mode;\n    const contactsV4ContactContacts_universal_d_Mode: typeof Mode;\n    type contactsV4ContactContacts_universal_d_CursorPaging = CursorPaging;\n    type contactsV4ContactContacts_universal_d_SearchContactsResponse = SearchContactsResponse;\n    type contactsV4ContactContacts_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n    type contactsV4ContactContacts_universal_d_Cursors = Cursors;\n    type contactsV4ContactContacts_universal_d_BulkAddSegmentToContactsRequest = BulkAddSegmentToContactsRequest;\n    type contactsV4ContactContacts_universal_d_BulkAddSegmentToContactsResponse = BulkAddSegmentToContactsResponse;\n    type contactsV4ContactContacts_universal_d_ItemMetadata = ItemMetadata;\n    type contactsV4ContactContacts_universal_d_ApplicationError = ApplicationError;\n    type contactsV4ContactContacts_universal_d_BulkActionMetadata = BulkActionMetadata;\n    type contactsV4ContactContacts_universal_d_ContactAddedToSegment = ContactAddedToSegment;\n    type contactsV4ContactContacts_universal_d_BulkRemoveSegmentFromContactsRequest = BulkRemoveSegmentFromContactsRequest;\n    type contactsV4ContactContacts_universal_d_BulkRemoveSegmentFromContactsResponse = BulkRemoveSegmentFromContactsResponse;\n    type contactsV4ContactContacts_universal_d_ContactRemovedFromSegment = ContactRemovedFromSegment;\n    type contactsV4ContactContacts_universal_d_ListContactIdsBySegmentRequest = ListContactIdsBySegmentRequest;\n    type contactsV4ContactContacts_universal_d_ListContactIdsBySegmentResponse = ListContactIdsBySegmentResponse;\n    const contactsV4ContactContacts_universal_d_createContact: typeof createContact;\n    type contactsV4ContactContacts_universal_d_CreateContactOptions = CreateContactOptions;\n    const contactsV4ContactContacts_universal_d_updateContact: typeof updateContact;\n    type contactsV4ContactContacts_universal_d_UpdateContactOptions = UpdateContactOptions;\n    const contactsV4ContactContacts_universal_d_mergeContacts: typeof mergeContacts;\n    type contactsV4ContactContacts_universal_d_MergeContactsOptions = MergeContactsOptions;\n    type contactsV4ContactContacts_universal_d_PreviewMergeContactsOptions = PreviewMergeContactsOptions;\n    const contactsV4ContactContacts_universal_d_deleteContact: typeof deleteContact;\n    type contactsV4ContactContacts_universal_d_DeleteContactOptions = DeleteContactOptions;\n    const contactsV4ContactContacts_universal_d_labelContact: typeof labelContact;\n    type contactsV4ContactContacts_universal_d_LabelContactOptions = LabelContactOptions;\n    const contactsV4ContactContacts_universal_d_unlabelContact: typeof unlabelContact;\n    type contactsV4ContactContacts_universal_d_UnlabelContactOptions = UnlabelContactOptions;\n    type contactsV4ContactContacts_universal_d_LabelAndUnlabelContactOptions = LabelAndUnlabelContactOptions;\n    type contactsV4ContactContacts_universal_d_ListContactsOptions = ListContactsOptions;\n    const contactsV4ContactContacts_universal_d_queryContacts: typeof queryContacts;\n    type contactsV4ContactContacts_universal_d_QueryContactsOptions = QueryContactsOptions;\n    type contactsV4ContactContacts_universal_d_ContactsQueryResult = ContactsQueryResult;\n    type contactsV4ContactContacts_universal_d_ContactsQueryBuilder = ContactsQueryBuilder;\n    type contactsV4ContactContacts_universal_d_ListFacetsOptions = ListFacetsOptions;\n    type contactsV4ContactContacts_universal_d_QueryFacetsOptions = QueryFacetsOptions;\n    type contactsV4ContactContacts_universal_d_BulkDeleteContactsOptions = BulkDeleteContactsOptions;\n    type contactsV4ContactContacts_universal_d_BulkUpdateContactsOptions = BulkUpdateContactsOptions;\n    type contactsV4ContactContacts_universal_d_BulkLabelAndUnlabelContactsOptions = BulkLabelAndUnlabelContactsOptions;\n    type contactsV4ContactContacts_universal_d_BulkUpsertContactsOptions = BulkUpsertContactsOptions;\n    type contactsV4ContactContacts_universal_d_GeneratePictureUploadUrlOptions = GeneratePictureUploadUrlOptions;\n    const contactsV4ContactContacts_universal_d_getContact: typeof getContact;\n    type contactsV4ContactContacts_universal_d_GetContactOptions = GetContactOptions;\n    type contactsV4ContactContacts_universal_d_SearchContactsOptions = SearchContactsOptions;\n    namespace contactsV4ContactContacts_universal_d {\n        export { contactsV4ContactContacts_universal_d_Contact as Contact, contactsV4ContactContacts_universal_d_ContactSource as ContactSource, contactsV4ContactContacts_universal_d_ContactSourceType as ContactSourceType, contactsV4ContactContacts_universal_d_ContactActivity as ContactActivity, contactsV4ContactContacts_universal_d_ContactActivityType as ContactActivityType, contactsV4ContactContacts_universal_d_ActivityIcon as ActivityIcon, contactsV4ContactContacts_universal_d_PrimaryContactInfo as PrimaryContactInfo, contactsV4ContactContacts_universal_d_ContactInfo as ContactInfo, contactsV4ContactContacts_universal_d_ContactName as ContactName, contactsV4ContactContacts_universal_d_ContactEmailsWrapper as ContactEmailsWrapper, contactsV4ContactContacts_universal_d_ContactEmail as ContactEmail, contactsV4ContactContacts_universal_d_EmailTag as EmailTag, contactsV4ContactContacts_universal_d_ContactPhonesWrapper as ContactPhonesWrapper, contactsV4ContactContacts_universal_d_ContactPhone as ContactPhone, contactsV4ContactContacts_universal_d_PhoneTag as PhoneTag, contactsV4ContactContacts_universal_d_ContactAddressesWrapper as ContactAddressesWrapper, contactsV4ContactContacts_universal_d_ContactAddress as ContactAddress, contactsV4ContactContacts_universal_d_AddressTag as AddressTag, contactsV4ContactContacts_universal_d_Address as Address, contactsV4ContactContacts_universal_d_AddressStreetOneOf as AddressStreetOneOf, contactsV4ContactContacts_universal_d_StreetAddress as StreetAddress, contactsV4ContactContacts_universal_d_AddressLocation as AddressLocation, contactsV4ContactContacts_universal_d_Subdivision as Subdivision, contactsV4ContactContacts_universal_d_SubdivisionType as SubdivisionType, contactsV4ContactContacts_universal_d_AssigneesWrapper as AssigneesWrapper, contactsV4ContactContacts_universal_d_LabelsWrapper as LabelsWrapper, contactsV4ContactContacts_universal_d_ExtendedFieldsWrapper as ExtendedFieldsWrapper, contactsV4ContactContacts_universal_d_LocationsWrapper as LocationsWrapper, contactsV4ContactContacts_universal_d_ContactPicture as ContactPicture, contactsV4ContactContacts_universal_d_ImageProvider as ImageProvider, contactsV4ContactContacts_universal_d_SegmentsWrapper as SegmentsWrapper, contactsV4ContactContacts_universal_d_PrimaryEmail as PrimaryEmail, contactsV4ContactContacts_universal_d_SubscriptionStatus as SubscriptionStatus, contactsV4ContactContacts_universal_d_EmailDeliverabilityStatus as EmailDeliverabilityStatus, contactsV4ContactContacts_universal_d_PrimaryPhone as PrimaryPhone, contactsV4ContactContacts_universal_d_PhoneDeliverabilityStatus as PhoneDeliverabilityStatus, contactsV4ContactContacts_universal_d_MemberInfo as MemberInfo, contactsV4ContactContacts_universal_d_MemberStatus as MemberStatus, contactsV4ContactContacts_universal_d_ProfileInfo as ProfileInfo, contactsV4ContactContacts_universal_d_PrivacyStatus as PrivacyStatus, contactsV4ContactContacts_universal_d_UserInfo as UserInfo, contactsV4ContactContacts_universal_d_Role as Role, contactsV4ContactContacts_universal_d_SessionInfo as SessionInfo, contactsV4ContactContacts_universal_d_GroupInfo as GroupInfo, contactsV4ContactContacts_universal_d_ContactSubmitted as ContactSubmitted, contactsV4ContactContacts_universal_d_ContactChanged as ContactChanged, contactsV4ContactContacts_universal_d_ContactEmailSubscriptionUpdated as ContactEmailSubscriptionUpdated, contactsV4ContactContacts_universal_d_ContactPhoneSubscriptionUpdated as ContactPhoneSubscriptionUpdated, contactsV4ContactContacts_universal_d_ContactPrimaryInfoUpdated as ContactPrimaryInfoUpdated, contactsV4ContactContacts_universal_d_PrimarySubscriptionStatus as PrimarySubscriptionStatus, contactsV4ContactContacts_universal_d_LastActivityUpdate as LastActivityUpdate, contactsV4ContactContacts_universal_d_CreateContactRequest as CreateContactRequest, contactsV4ContactContacts_universal_d_CreateContactResponse as CreateContactResponse, contactsV4ContactContacts_universal_d_DuplicateContactExists as DuplicateContactExists, contactsV4ContactContacts_universal_d_UpdateContactRequest as UpdateContactRequest, contactsV4ContactContacts_universal_d_UpdateContactResponse as UpdateContactResponse, contactsV4ContactContacts_universal_d_MergeContactsRequest as MergeContactsRequest, contactsV4ContactContacts_universal_d_MergeContactsResponse as MergeContactsResponse, contactsV4ContactContacts_universal_d_ContactMerged as ContactMerged, contactsV4ContactContacts_universal_d_PreviewMergeContactsRequest as PreviewMergeContactsRequest, contactsV4ContactContacts_universal_d_PreviewMergeContactsResponse as PreviewMergeContactsResponse, contactsV4ContactContacts_universal_d_DeleteContactRequest as DeleteContactRequest, contactsV4ContactContacts_universal_d_DeleteContactResponse as DeleteContactResponse, contactsV4ContactContacts_universal_d_LabelContactRequest as LabelContactRequest, contactsV4ContactContacts_universal_d_LabelContactResponse as LabelContactResponse, contactsV4ContactContacts_universal_d_UnlabelContactRequest as UnlabelContactRequest, contactsV4ContactContacts_universal_d_UnlabelContactResponse as UnlabelContactResponse, contactsV4ContactContacts_universal_d_LabelAndUnlabelContactRequest as LabelAndUnlabelContactRequest, contactsV4ContactContacts_universal_d_LabelAndUnlabelContactResponse as LabelAndUnlabelContactResponse, contactsV4ContactContacts_universal_d_ListContactsRequest as ListContactsRequest, Sorting$1 as Sorting, SortOrder$1 as SortOrder, Paging$1 as Paging, contactsV4ContactContacts_universal_d_ContactFieldSet as ContactFieldSet, contactsV4ContactContacts_universal_d_ListContactsResponse as ListContactsResponse, PagingMetadata$1 as PagingMetadata, contactsV4ContactContacts_universal_d_QueryContactsRequest as QueryContactsRequest, Query$1 as Query, contactsV4ContactContacts_universal_d_QueryContactsResponse as QueryContactsResponse, contactsV4ContactContacts_universal_d_ListFacetsRequest as ListFacetsRequest, contactsV4ContactContacts_universal_d_ListFacetsResponse as ListFacetsResponse, contactsV4ContactContacts_universal_d_ContactsFacet as ContactsFacet, contactsV4ContactContacts_universal_d_ContactsFacetType as ContactsFacetType, contactsV4ContactContacts_universal_d_QueryFacetsRequest as QueryFacetsRequest, contactsV4ContactContacts_universal_d_QueryFacetsResponse as QueryFacetsResponse, contactsV4ContactContacts_universal_d_BulkDeleteContactsRequest as BulkDeleteContactsRequest, contactsV4ContactContacts_universal_d_BulkDeleteContactsResponse as BulkDeleteContactsResponse, contactsV4ContactContacts_universal_d_BulkUpdateContactsRequest as BulkUpdateContactsRequest, contactsV4ContactContacts_universal_d_BulkUpdateContactsResponse as BulkUpdateContactsResponse, contactsV4ContactContacts_universal_d_BulkLabelAndUnlabelContactsRequest as BulkLabelAndUnlabelContactsRequest, contactsV4ContactContacts_universal_d_BulkLabelAndUnlabelContactsResponse as BulkLabelAndUnlabelContactsResponse, contactsV4ContactContacts_universal_d_BulkUpsertContactsRequest as BulkUpsertContactsRequest, contactsV4ContactContacts_universal_d_BulkUpsertContactsResponse as BulkUpsertContactsResponse, contactsV4ContactContacts_universal_d_Action as Action, contactsV4ContactContacts_universal_d_Error as Error, contactsV4ContactContacts_universal_d_Metadata as Metadata, contactsV4ContactContacts_universal_d_Item as Item, contactsV4ContactContacts_universal_d_BulkUpsertContactsResponseMetadata as BulkUpsertContactsResponseMetadata, contactsV4ContactContacts_universal_d_UpsertContactRequest as UpsertContactRequest, contactsV4ContactContacts_universal_d_UpsertContactResponse as UpsertContactResponse, contactsV4ContactContacts_universal_d_UpsertContactResponseAction as UpsertContactResponseAction, contactsV4ContactContacts_universal_d_GeneratePictureUploadUrlRequest as GeneratePictureUploadUrlRequest, contactsV4ContactContacts_universal_d_GeneratePictureUploadUrlResponse as GeneratePictureUploadUrlResponse, contactsV4ContactContacts_universal_d_GetContactRequest as GetContactRequest, contactsV4ContactContacts_universal_d_GetContactResponse as GetContactResponse, contactsV4ContactContacts_universal_d_GetContactResponseType as GetContactResponseType, contactsV4ContactContacts_universal_d_SyncSubmitContactRequest as SyncSubmitContactRequest, contactsV4ContactContacts_universal_d_SubmitOperation as SubmitOperation, contactsV4ContactContacts_universal_d_SyncSubmitContactResponse as SyncSubmitContactResponse, contactsV4ContactContacts_universal_d_CountContactsRequest as CountContactsRequest, contactsV4ContactContacts_universal_d_CountContactsResponse as CountContactsResponse, contactsV4ContactContacts_universal_d_SearchContactsRequest as SearchContactsRequest, contactsV4ContactContacts_universal_d_Search as Search, contactsV4ContactContacts_universal_d_SearchPagingMethodOneOf as SearchPagingMethodOneOf, contactsV4ContactContacts_universal_d_SearchDetails as SearchDetails, contactsV4ContactContacts_universal_d_Mode as Mode, contactsV4ContactContacts_universal_d_CursorPaging as CursorPaging, contactsV4ContactContacts_universal_d_SearchContactsResponse as SearchContactsResponse, contactsV4ContactContacts_universal_d_CursorPagingMetadata as CursorPagingMetadata, contactsV4ContactContacts_universal_d_Cursors as Cursors, contactsV4ContactContacts_universal_d_BulkAddSegmentToContactsRequest as BulkAddSegmentToContactsRequest, contactsV4ContactContacts_universal_d_BulkAddSegmentToContactsResponse as BulkAddSegmentToContactsResponse, contactsV4ContactContacts_universal_d_ItemMetadata as ItemMetadata, contactsV4ContactContacts_universal_d_ApplicationError as ApplicationError, contactsV4ContactContacts_universal_d_BulkActionMetadata as BulkActionMetadata, contactsV4ContactContacts_universal_d_ContactAddedToSegment as ContactAddedToSegment, contactsV4ContactContacts_universal_d_BulkRemoveSegmentFromContactsRequest as BulkRemoveSegmentFromContactsRequest, contactsV4ContactContacts_universal_d_BulkRemoveSegmentFromContactsResponse as BulkRemoveSegmentFromContactsResponse, contactsV4ContactContacts_universal_d_ContactRemovedFromSegment as ContactRemovedFromSegment, contactsV4ContactContacts_universal_d_ListContactIdsBySegmentRequest as ListContactIdsBySegmentRequest, contactsV4ContactContacts_universal_d_ListContactIdsBySegmentResponse as ListContactIdsBySegmentResponse, DomainEvent$1 as DomainEvent, DomainEventBodyOneOf$1 as DomainEventBodyOneOf, EntityCreatedEvent$1 as EntityCreatedEvent, RestoreInfo$1 as RestoreInfo, EntityUpdatedEvent$1 as EntityUpdatedEvent, EntityDeletedEvent$1 as EntityDeletedEvent, ActionEvent$1 as ActionEvent, MessageEnvelope$1 as MessageEnvelope, IdentificationData$1 as IdentificationData, IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf, WebhookIdentityType$1 as WebhookIdentityType, contactsV4ContactContacts_universal_d_createContact as createContact, contactsV4ContactContacts_universal_d_CreateContactOptions as CreateContactOptions, contactsV4ContactContacts_universal_d_updateContact as updateContact, contactsV4ContactContacts_universal_d_UpdateContactOptions as UpdateContactOptions, contactsV4ContactContacts_universal_d_mergeContacts as mergeContacts, contactsV4ContactContacts_universal_d_MergeContactsOptions as MergeContactsOptions, contactsV4ContactContacts_universal_d_PreviewMergeContactsOptions as PreviewMergeContactsOptions, contactsV4ContactContacts_universal_d_deleteContact as deleteContact, contactsV4ContactContacts_universal_d_DeleteContactOptions as DeleteContactOptions, contactsV4ContactContacts_universal_d_labelContact as labelContact, contactsV4ContactContacts_universal_d_LabelContactOptions as LabelContactOptions, contactsV4ContactContacts_universal_d_unlabelContact as unlabelContact, contactsV4ContactContacts_universal_d_UnlabelContactOptions as UnlabelContactOptions, contactsV4ContactContacts_universal_d_LabelAndUnlabelContactOptions as LabelAndUnlabelContactOptions, contactsV4ContactContacts_universal_d_ListContactsOptions as ListContactsOptions, contactsV4ContactContacts_universal_d_queryContacts as queryContacts, contactsV4ContactContacts_universal_d_QueryContactsOptions as QueryContactsOptions, contactsV4ContactContacts_universal_d_ContactsQueryResult as ContactsQueryResult, contactsV4ContactContacts_universal_d_ContactsQueryBuilder as ContactsQueryBuilder, contactsV4ContactContacts_universal_d_ListFacetsOptions as ListFacetsOptions, contactsV4ContactContacts_universal_d_QueryFacetsOptions as QueryFacetsOptions, contactsV4ContactContacts_universal_d_BulkDeleteContactsOptions as BulkDeleteContactsOptions, contactsV4ContactContacts_universal_d_BulkUpdateContactsOptions as BulkUpdateContactsOptions, contactsV4ContactContacts_universal_d_BulkLabelAndUnlabelContactsOptions as BulkLabelAndUnlabelContactsOptions, contactsV4ContactContacts_universal_d_BulkUpsertContactsOptions as BulkUpsertContactsOptions, contactsV4ContactContacts_universal_d_GeneratePictureUploadUrlOptions as GeneratePictureUploadUrlOptions, contactsV4ContactContacts_universal_d_getContact as getContact, contactsV4ContactContacts_universal_d_GetContactOptions as GetContactOptions, contactsV4ContactContacts_universal_d_SearchContactsOptions as SearchContactsOptions, };\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         * Field description, if the field is a system field.\n         * @readonly\n         */\n        description?: 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;\n        /** Paging options. */\n        paging?: Paging;\n    }\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        /** Sort by ascending order. */\n        ASC = \"ASC\",\n        /** Sort by descending order. */\n        DESC = \"DESC\"\n    }\n    interface Paging {\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;\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    /** 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 {\n        /** Instance ID of the site. */\n        instanceId?: string;\n    }\n    interface PurgeResponse {\n        /** Number of items deleted. */\n        deletedItems?: number;\n    }\n    interface GdprListRequest {\n        /** Instance ID of the site. */\n        instanceId?: string;\n    }\n    interface GdprListResponse {\n        /** List of extended fields. */\n        fields?: ExtendedField[];\n    }\n    interface QueryExtendedFieldsRequest {\n        /** Query options. */\n        query?: Query;\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 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[];\n        /** Pagination options. */\n        paging?: Paging;\n    }\n    interface QueryExtendedFieldsResponse {\n        /** List of extended fields. */\n        fields?: ExtendedField[];\n        /** Details on the paged set of results returned. */\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 | 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        /** 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    interface EntityDeletedEvent {\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 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;\n        /** Paging options. */\n        paging?: Paging;\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     * @requiredField dataType\n     * @requiredField displayName\n     * @permissionId CONTACTS_SCHEMA.MODIFY\n     * @permissionScope Manage Contact Extended Fields\n     * @permissionScopeId SCOPE.DC-CONTACTS.MANAGE-EX-FIELDS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage Members and Contacts - all permissions\n     * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Extended field that was found or created.\n     * @fqn com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4.FindOrCreateExtendedField\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     * @requiredField key\n     * @param key - null\n     * @permissionId CONTACTS_SCHEMA.VIEW\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Contact Extended Fields\n     * @permissionScopeId SCOPE.DC-CONTACTS.MANAGE-EX-FIELDS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage Members and Contacts - all permissions\n     * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns The specified field.\n     * @fqn com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4.GetExtendedField\n     */\n    function getExtendedField(key: string): Promise<ExtendedField>;\n    /**\n     * Renames an extended field.\n     * @public\n     * @requiredField field\n     * @requiredField field.displayName\n     * @requiredField key\n     * @param key - null\n     * @param field - null\n     * @permissionId CONTACTS_SCHEMA.MODIFY\n     * @permissionScope Manage Contact Extended Fields\n     * @permissionScopeId SCOPE.DC-CONTACTS.MANAGE-EX-FIELDS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage Members and Contacts - all permissions\n     * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Renamed extended field.\n     * @fqn com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4.UpdateExtendedField\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         * Field description, if the field is a system field.\n         * @readonly\n         */\n        description?: 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     * @requiredField key\n     * @permissionId CONTACTS_SCHEMA.MODIFY\n     * @permissionScope Manage Contact Extended Fields\n     * @permissionScopeId SCOPE.DC-CONTACTS.MANAGE-EX-FIELDS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage Members and Contacts - all permissions\n     * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4.DeleteExtendedField\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Contact Extended Fields\n     * @permissionScopeId SCOPE.DC-CONTACTS.MANAGE-EX-FIELDS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage Members and Contacts - all permissions\n     * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS\n     * @permissionId CONTACTS_SCHEMA.VIEW\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4.QueryExtendedFields\n     */\n    function queryExtendedFields(): FieldsQueryBuilder;\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 FieldsQueryResult extends QueryOffsetResult {\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         */\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         */\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         */\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         */\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         */\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         */\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         */\n        startsWith: (propertyName: \"displayName\", value: string) => FieldsQueryBuilder;\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        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        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        limit: (limit: number) => FieldsQueryBuilder;\n        /** @param skip - Number of items to skip in the query results before returning the results. */\n        skip: (skip: number) => FieldsQueryBuilder;\n        find: () => Promise<FieldsQueryResult>;\n    }\n    type contactsV4ExtendedFieldExtendedFields_universal_d_ExtendedField = ExtendedField;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_FieldDataType = FieldDataType;\n    const contactsV4ExtendedFieldExtendedFields_universal_d_FieldDataType: typeof FieldDataType;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_FieldType = FieldType;\n    const contactsV4ExtendedFieldExtendedFields_universal_d_FieldType: typeof FieldType;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_ListExtendedFieldsRequest = ListExtendedFieldsRequest;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_Sorting = Sorting;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_SortOrder = SortOrder;\n    const contactsV4ExtendedFieldExtendedFields_universal_d_SortOrder: typeof SortOrder;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_Paging = Paging;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_ListExtendedFieldsResponse = ListExtendedFieldsResponse;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_PagingMetadata = PagingMetadata;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_FindOrCreateExtendedFieldRequest = FindOrCreateExtendedFieldRequest;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_FindOrCreateExtendedFieldResponse = FindOrCreateExtendedFieldResponse;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_GetExtendedFieldRequest = GetExtendedFieldRequest;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_GetExtendedFieldResponse = GetExtendedFieldResponse;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_GetExtendedFieldByLegacyIdRequest = GetExtendedFieldByLegacyIdRequest;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_GetExtendedFieldByLegacyIdResponse = GetExtendedFieldByLegacyIdResponse;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_UpdateExtendedFieldRequest = UpdateExtendedFieldRequest;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_UpdateExtendedFieldResponse = UpdateExtendedFieldResponse;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_DeleteExtendedFieldRequest = DeleteExtendedFieldRequest;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_DeleteExtendedFieldResponse = DeleteExtendedFieldResponse;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_PurgeRequest = PurgeRequest;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_PurgeResponse = PurgeResponse;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_GdprListRequest = GdprListRequest;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_GdprListResponse = GdprListResponse;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_QueryExtendedFieldsRequest = QueryExtendedFieldsRequest;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_Query = Query;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_QueryExtendedFieldsResponse = QueryExtendedFieldsResponse;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_DomainEvent = DomainEvent;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_RestoreInfo = RestoreInfo;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_ActionEvent = ActionEvent;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_MessageEnvelope = MessageEnvelope;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_IdentificationData = IdentificationData;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_WebhookIdentityType = WebhookIdentityType;\n    const contactsV4ExtendedFieldExtendedFields_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_ListExtendedFieldsOptions = ListExtendedFieldsOptions;\n    const contactsV4ExtendedFieldExtendedFields_universal_d_findOrCreateExtendedField: typeof findOrCreateExtendedField;\n    const contactsV4ExtendedFieldExtendedFields_universal_d_getExtendedField: typeof getExtendedField;\n    const contactsV4ExtendedFieldExtendedFields_universal_d_renameExtendedField: typeof renameExtendedField;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_RenameExtendedField = RenameExtendedField;\n    const contactsV4ExtendedFieldExtendedFields_universal_d_deleteExtendedField: typeof deleteExtendedField;\n    const contactsV4ExtendedFieldExtendedFields_universal_d_queryExtendedFields: typeof queryExtendedFields;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_FieldsQueryResult = FieldsQueryResult;\n    type contactsV4ExtendedFieldExtendedFields_universal_d_FieldsQueryBuilder = FieldsQueryBuilder;\n    namespace contactsV4ExtendedFieldExtendedFields_universal_d {\n        export { contactsV4ExtendedFieldExtendedFields_universal_d_ExtendedField as ExtendedField, contactsV4ExtendedFieldExtendedFields_universal_d_FieldDataType as FieldDataType, contactsV4ExtendedFieldExtendedFields_universal_d_FieldType as FieldType, contactsV4ExtendedFieldExtendedFields_universal_d_ListExtendedFieldsRequest as ListExtendedFieldsRequest, contactsV4ExtendedFieldExtendedFields_universal_d_Sorting as Sorting, contactsV4ExtendedFieldExtendedFields_universal_d_SortOrder as SortOrder, contactsV4ExtendedFieldExtendedFields_universal_d_Paging as Paging, contactsV4ExtendedFieldExtendedFields_universal_d_ListExtendedFieldsResponse as ListExtendedFieldsResponse, contactsV4ExtendedFieldExtendedFields_universal_d_PagingMetadata as PagingMetadata, contactsV4ExtendedFieldExtendedFields_universal_d_FindOrCreateExtendedFieldRequest as FindOrCreateExtendedFieldRequest, contactsV4ExtendedFieldExtendedFields_universal_d_FindOrCreateExtendedFieldResponse as FindOrCreateExtendedFieldResponse, contactsV4ExtendedFieldExtendedFields_universal_d_GetExtendedFieldRequest as GetExtendedFieldRequest, contactsV4ExtendedFieldExtendedFields_universal_d_GetExtendedFieldResponse as GetExtendedFieldResponse, contactsV4ExtendedFieldExtendedFields_universal_d_GetExtendedFieldByLegacyIdRequest as GetExtendedFieldByLegacyIdRequest, contactsV4ExtendedFieldExtendedFields_universal_d_GetExtendedFieldByLegacyIdResponse as GetExtendedFieldByLegacyIdResponse, contactsV4ExtendedFieldExtendedFields_universal_d_UpdateExtendedFieldRequest as UpdateExtendedFieldRequest, contactsV4ExtendedFieldExtendedFields_universal_d_UpdateExtendedFieldResponse as UpdateExtendedFieldResponse, contactsV4ExtendedFieldExtendedFields_universal_d_DeleteExtendedFieldRequest as DeleteExtendedFieldRequest, contactsV4ExtendedFieldExtendedFields_universal_d_DeleteExtendedFieldResponse as DeleteExtendedFieldResponse, contactsV4ExtendedFieldExtendedFields_universal_d_PurgeRequest as PurgeRequest, contactsV4ExtendedFieldExtendedFields_universal_d_PurgeResponse as PurgeResponse, contactsV4ExtendedFieldExtendedFields_universal_d_GdprListRequest as GdprListRequest, contactsV4ExtendedFieldExtendedFields_universal_d_GdprListResponse as GdprListResponse, contactsV4ExtendedFieldExtendedFields_universal_d_QueryExtendedFieldsRequest as QueryExtendedFieldsRequest, contactsV4ExtendedFieldExtendedFields_universal_d_Query as Query, contactsV4ExtendedFieldExtendedFields_universal_d_QueryExtendedFieldsResponse as QueryExtendedFieldsResponse, contactsV4ExtendedFieldExtendedFields_universal_d_DomainEvent as DomainEvent, contactsV4ExtendedFieldExtendedFields_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf, contactsV4ExtendedFieldExtendedFields_universal_d_EntityCreatedEvent as EntityCreatedEvent, contactsV4ExtendedFieldExtendedFields_universal_d_RestoreInfo as RestoreInfo, contactsV4ExtendedFieldExtendedFields_universal_d_EntityUpdatedEvent as EntityUpdatedEvent, contactsV4ExtendedFieldExtendedFields_universal_d_EntityDeletedEvent as EntityDeletedEvent, contactsV4ExtendedFieldExtendedFields_universal_d_ActionEvent as ActionEvent, contactsV4ExtendedFieldExtendedFields_universal_d_MessageEnvelope as MessageEnvelope, contactsV4ExtendedFieldExtendedFields_universal_d_IdentificationData as IdentificationData, contactsV4ExtendedFieldExtendedFields_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf, contactsV4ExtendedFieldExtendedFields_universal_d_WebhookIdentityType as WebhookIdentityType, contactsV4ExtendedFieldExtendedFields_universal_d_ListExtendedFieldsOptions as ListExtendedFieldsOptions, contactsV4ExtendedFieldExtendedFields_universal_d_findOrCreateExtendedField as findOrCreateExtendedField, contactsV4ExtendedFieldExtendedFields_universal_d_getExtendedField as getExtendedField, contactsV4ExtendedFieldExtendedFields_universal_d_renameExtendedField as renameExtendedField, contactsV4ExtendedFieldExtendedFields_universal_d_RenameExtendedField as RenameExtendedField, contactsV4ExtendedFieldExtendedFields_universal_d_deleteExtendedField as deleteExtendedField, contactsV4ExtendedFieldExtendedFields_universal_d_queryExtendedFields as queryExtendedFields, contactsV4ExtendedFieldExtendedFields_universal_d_FieldsQueryResult as FieldsQueryResult, contactsV4ExtendedFieldExtendedFields_universal_d_FieldsQueryBuilder as FieldsQueryBuilder, };\n    }\n    export { contactsV4ContactContacts_universal_d as contacts, contactsV4ExtendedFieldExtendedFields_universal_d as extendedFields, contactsV4LabelLabels_universal_d as labels, crmTasksV2TaskTasks_universal_d as tasks };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/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    }\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 the CAPTCHA token.\n     *\n     *\n     * Following CAPTCHA verification on the client side, you must authorize the generated CAPTCHA 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     * The `authorize()` function returns a Promise that resolves to a `Success` object when the token is authorized and to an `Error` object when authorization fails.\n     *\n     * To understand how `authorize()` is used in a typical CAPTCHA validation lifecycle, click [here](/$w/captcha/introduction).\n     *\n     * If CAPTCHA token authorization fails, an error message containing a status code is returned. The following table lists the possible HTTP error status codes, based on [RFC 2616](https://tools.ietf.org/html/rfc2616#section-10):\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    }\n    interface AuthorizeWithoutDomainValidationOptions {\n        /** The CAPTCHA token to authorize. */\n        token?: string;\n    }\n    interface AssessmentOptions {\n        /** The CAPTCHA token to authorize. */\n        token?: string;\n    }\n    type captcharatorV1CaptchaEntityCaptcha_universal_d_CaptchaEntity = CaptchaEntity;\n    type captcharatorV1CaptchaEntityCaptcha_universal_d_CaptchaRequest = CaptchaRequest;\n    type captcharatorV1CaptchaEntityCaptcha_universal_d_CaptchaResponse = CaptchaResponse;\n    type captcharatorV1CaptchaEntityCaptcha_universal_d_Errors = Errors;\n    type captcharatorV1CaptchaEntityCaptcha_universal_d_AssessmentResponse = AssessmentResponse;\n    const captcharatorV1CaptchaEntityCaptcha_universal_d_authorize: typeof authorize;\n    type captcharatorV1CaptchaEntityCaptcha_universal_d_AuthorizeOptions = AuthorizeOptions;\n    type captcharatorV1CaptchaEntityCaptcha_universal_d_AuthorizeWithoutDomainValidationOptions = AuthorizeWithoutDomainValidationOptions;\n    type captcharatorV1CaptchaEntityCaptcha_universal_d_AssessmentOptions = AssessmentOptions;\n    namespace captcharatorV1CaptchaEntityCaptcha_universal_d {\n        export { captcharatorV1CaptchaEntityCaptcha_universal_d_CaptchaEntity as CaptchaEntity, captcharatorV1CaptchaEntityCaptcha_universal_d_CaptchaRequest as CaptchaRequest, captcharatorV1CaptchaEntityCaptcha_universal_d_CaptchaResponse as CaptchaResponse, captcharatorV1CaptchaEntityCaptcha_universal_d_Errors as Errors, captcharatorV1CaptchaEntityCaptcha_universal_d_AssessmentResponse as AssessmentResponse, captcharatorV1CaptchaEntityCaptcha_universal_d_authorize as authorize, captcharatorV1CaptchaEntityCaptcha_universal_d_AuthorizeOptions as AuthorizeOptions, captcharatorV1CaptchaEntityCaptcha_universal_d_AuthorizeWithoutDomainValidationOptions as AuthorizeWithoutDomainValidationOptions, captcharatorV1CaptchaEntityCaptcha_universal_d_AssessmentOptions as AssessmentOptions, };\n    }\n    export { captcharatorV1CaptchaEntityCaptcha_universal_d as captcha };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/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    /** 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        /** 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        /** 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    interface EntityDeletedEvent {\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    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         */\n        fieldMask?: 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    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        /** 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     * @requiredField reviewId\n     * @param options - Information about the reviews to retrieve.\n     * @permissionId REVIEWS.READ_REVIEWS\n     * @permissionId REVIEWS.READ_PRIVATE_REVIEWS\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Read reviews\n     * @permissionScopeId SCOPE.DC-REVIEWS.READ-REVIEWS\n     * @permissionScope Manage Reviews\n     * @permissionScopeId SCOPE.DC-REVIEWS.MANAGE-REVIEWS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage Reviews\n     * @permissionScopeId SCOPE.DC-REVIEWS.MANAGE-REVIEWS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @returns Review.\n     * @fqn com.wixpress.critique.reviews.Reviews.GetReview\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     * 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     * @public\n     * @documentationMaturity preview\n     * @requiredField content\n     * @requiredField content.rating\n     * @requiredField entityId\n     * @requiredField namespace\n     * @permissionId REVIEWS.CREATE_REVIEW\n     * @permissionScope Manage Reviews\n     * @permissionScopeId SCOPE.DC-REVIEWS.MANAGE-REVIEWS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @fqn com.wixpress.critique.reviews.Reviews.CreateReviewAndContact\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     * @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     * @permissionScope Manage Reviews\n     * @permissionScopeId SCOPE.DC-REVIEWS.MANAGE-REVIEWS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @returns Created review.\n     * @fqn com.wixpress.critique.reviews.Reviews.CreateReview\n     */\n    function createReview(review: Review): Promise<Review>;\n    interface BulkCreateReviewOptions {\n        returnEntity?: boolean;\n    }\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         */\n        fieldMask?: 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     * @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     * @permissionScope Manage Reviews\n     * @permissionScopeId SCOPE.DC-REVIEWS.MANAGE-REVIEWS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Updated review data.\n     * @fqn com.wixpress.critique.reviews.Reviews.UpdateReview\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    interface UpdateReviewOptions {\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     * @requiredField reviewId\n     * @permissionId REVIEWS.DELETE_REVIEW\n     * @permissionScope Manage Reviews\n     * @permissionScopeId SCOPE.DC-REVIEWS.MANAGE-REVIEWS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @fqn com.wixpress.critique.reviews.Reviews.DeleteReview\n     */\n    function deleteReview(reviewId: string): Promise<DeleteReviewResponse>;\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     * @param options - Information about the reviews to retrieve.\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Read reviews\n     * @permissionScopeId SCOPE.DC-REVIEWS.READ-REVIEWS\n     * @permissionScope Manage Reviews\n     * @permissionScopeId SCOPE.DC-REVIEWS.MANAGE-REVIEWS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage Reviews\n     * @permissionScopeId SCOPE.DC-REVIEWS.MANAGE-REVIEWS\n     * @permissionId REVIEWS.READ_REVIEWS\n     * @permissionId REVIEWS.READ_PRIVATE_REVIEWS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @fqn com.wixpress.critique.reviews.Reviews.QueryReviews\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         */\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         */\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         */\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         */\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         */\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         */\n        lt: (propertyName: \"content.rating\" | \"_createdDate\" | \"helpfulness\" | \"relevanceScore\", value: any) => ReviewsQueryBuilder;\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        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        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        limit: (limit: number) => ReviewsQueryBuilder;\n        /** @param cursor - A pointer to specific record */\n        skipTo: (cursor: string) => ReviewsQueryBuilder;\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     * @public\n     * @documentationMaturity preview\n     * @requiredField message\n     * @requiredField reviewId\n     * @permissionId REVIEWS.SET_REPLY\n     * @adminMethod\n     * @fqn com.wixpress.critique.reviews.Reviews.SetReply\n     */\n    function setReply(reviewId: string, message: string): Promise<SetReplyResponse>;\n    /**\n     * Removes reply from review\n     * @param reviewId - Review ID\n     * @public\n     * @documentationMaturity preview\n     * @requiredField reviewId\n     * @permissionId REVIEWS.REMOVE_REPLY\n     * @adminMethod\n     * @fqn com.wixpress.critique.reviews.Reviews.RemoveReply\n     */\n    function removeReply(reviewId: string): Promise<RemoveReplyResponse>;\n    interface UpdateModerationStatusOptions {\n        /** Moderation status to set */\n        status?: UpdateModerationStatusRequestModerationStatus;\n    }\n    interface BulkUpdateModerationStatusOptions {\n        /** Reviews to moderate */\n        filter?: Record<string, any> | null;\n        /** Moderation status to set */\n        status?: ModerationStatus;\n    }\n    /** @public\n     * @documentationMaturity preview\n     * @permissionId REVIEWS.READ_REVIEWS\n     * @permissionId REVIEWS.READ_PRIVATE_REVIEWS\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Read reviews\n     * @permissionScopeId SCOPE.DC-REVIEWS.READ-REVIEWS\n     * @permissionScope Manage Reviews\n     * @permissionScopeId SCOPE.DC-REVIEWS.MANAGE-REVIEWS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionScope Manage Reviews\n     * @permissionScopeId SCOPE.DC-REVIEWS.MANAGE-REVIEWS\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @fqn com.wixpress.critique.reviews.Reviews.CountReviews\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    type reviewsV1ReviewReviews_universal_d_Review = Review;\n    type reviewsV1ReviewReviews_universal_d_ReviewContent = ReviewContent;\n    type reviewsV1ReviewReviews_universal_d_Media = Media;\n    type reviewsV1ReviewReviews_universal_d_MediaMediaOneOf = MediaMediaOneOf;\n    type reviewsV1ReviewReviews_universal_d_VideoResolution = VideoResolution;\n    type reviewsV1ReviewReviews_universal_d_Author = Author;\n    type reviewsV1ReviewReviews_universal_d_AuthorType = AuthorType;\n    const reviewsV1ReviewReviews_universal_d_AuthorType: typeof AuthorType;\n    type reviewsV1ReviewReviews_universal_d_Reply = Reply;\n    type reviewsV1ReviewReviews_universal_d_Moderation = Moderation;\n    type reviewsV1ReviewReviews_universal_d_ModerationModerationStatus = ModerationModerationStatus;\n    const reviewsV1ReviewReviews_universal_d_ModerationModerationStatus: typeof ModerationModerationStatus;\n    type reviewsV1ReviewReviews_universal_d_Origin = Origin;\n    type reviewsV1ReviewReviews_universal_d_OriginType = OriginType;\n    const reviewsV1ReviewReviews_universal_d_OriginType: typeof OriginType;\n    type reviewsV1ReviewReviews_universal_d_Source = Source;\n    type reviewsV1ReviewReviews_universal_d_SourceSourceTypeOptionsOneOf = SourceSourceTypeOptionsOneOf;\n    type reviewsV1ReviewReviews_universal_d_SourceType = SourceType;\n    const reviewsV1ReviewReviews_universal_d_SourceType: typeof SourceType;\n    type reviewsV1ReviewReviews_universal_d_ReviewRequestOptions = ReviewRequestOptions;\n    type reviewsV1ReviewReviews_universal_d_RequestLinkOptions = RequestLinkOptions;\n    type reviewsV1ReviewReviews_universal_d_DomainEvent = DomainEvent;\n    type reviewsV1ReviewReviews_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n    type reviewsV1ReviewReviews_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n    type reviewsV1ReviewReviews_universal_d_RestoreInfo = RestoreInfo;\n    type reviewsV1ReviewReviews_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n    type reviewsV1ReviewReviews_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n    type reviewsV1ReviewReviews_universal_d_ActionEvent = ActionEvent;\n    type reviewsV1ReviewReviews_universal_d_Empty = Empty;\n    type reviewsV1ReviewReviews_universal_d_MessageEnvelope = MessageEnvelope;\n    type reviewsV1ReviewReviews_universal_d_IdentificationData = IdentificationData;\n    type reviewsV1ReviewReviews_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n    type reviewsV1ReviewReviews_universal_d_WebhookIdentityType = WebhookIdentityType;\n    const reviewsV1ReviewReviews_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n    type reviewsV1ReviewReviews_universal_d_GetReviewRequest = GetReviewRequest;\n    type reviewsV1ReviewReviews_universal_d_GetReviewResponse = GetReviewResponse;\n    type reviewsV1ReviewReviews_universal_d_GetDeletedReviewRequest = GetDeletedReviewRequest;\n    type reviewsV1ReviewReviews_universal_d_GetDeletedReviewResponse = GetDeletedReviewResponse;\n    type reviewsV1ReviewReviews_universal_d_CreateReviewAndContactRequest = CreateReviewAndContactRequest;\n    type reviewsV1ReviewReviews_universal_d_CreateReviewResponse = CreateReviewResponse;\n    type reviewsV1ReviewReviews_universal_d_CreateReviewRequest = CreateReviewRequest;\n    type reviewsV1ReviewReviews_universal_d_ReviewPublished = ReviewPublished;\n    type reviewsV1ReviewReviews_universal_d_BulkCreateReviewRequest = BulkCreateReviewRequest;\n    type reviewsV1ReviewReviews_universal_d_BulkCreateReviewResponse = BulkCreateReviewResponse;\n    type reviewsV1ReviewReviews_universal_d_BulkReviewResult = BulkReviewResult;\n    type reviewsV1ReviewReviews_universal_d_ItemMetadata = ItemMetadata;\n    type reviewsV1ReviewReviews_universal_d_ApplicationError = ApplicationError;\n    type reviewsV1ReviewReviews_universal_d_BulkActionMetadata = BulkActionMetadata;\n    type reviewsV1ReviewReviews_universal_d_UpdateReviewContentRequest = UpdateReviewContentRequest;\n    type reviewsV1ReviewReviews_universal_d_UpdateReviewContentResponse = UpdateReviewContentResponse;\n    type reviewsV1ReviewReviews_universal_d_ModerationStatusChanged = ModerationStatusChanged;\n    type reviewsV1ReviewReviews_universal_d_UpdateReviewRequest = UpdateReviewRequest;\n    type reviewsV1ReviewReviews_universal_d_UpdateReviewResponse = UpdateReviewResponse;\n    type reviewsV1ReviewReviews_universal_d_DeleteReviewRequest = DeleteReviewRequest;\n    type reviewsV1ReviewReviews_universal_d_DeleteReviewResponse = DeleteReviewResponse;\n    type reviewsV1ReviewReviews_universal_d_BulkDeleteReviewsRequest = BulkDeleteReviewsRequest;\n    type reviewsV1ReviewReviews_universal_d_BulkDeleteReviewsResponse = BulkDeleteReviewsResponse;\n    type reviewsV1ReviewReviews_universal_d_QueryReviewsRequest = QueryReviewsRequest;\n    type reviewsV1ReviewReviews_universal_d_QueryV2 = QueryV2;\n    type reviewsV1ReviewReviews_universal_d_Sorting = Sorting;\n    type reviewsV1ReviewReviews_universal_d_SortOrder = SortOrder;\n    const reviewsV1ReviewReviews_universal_d_SortOrder: typeof SortOrder;\n    type reviewsV1ReviewReviews_universal_d_CursorPaging = CursorPaging;\n    type reviewsV1ReviewReviews_universal_d_QueryReviewsResponse = QueryReviewsResponse;\n    type reviewsV1ReviewReviews_universal_d_PagingMetadataV2 = PagingMetadataV2;\n    type reviewsV1ReviewReviews_universal_d_Cursors = Cursors;\n    type reviewsV1ReviewReviews_universal_d_SetReplyRequest = SetReplyRequest;\n    type reviewsV1ReviewReviews_universal_d_SetReplyResponse = SetReplyResponse;\n    type reviewsV1ReviewReviews_universal_d_RemoveReplyRequest = RemoveReplyRequest;\n    type reviewsV1ReviewReviews_universal_d_RemoveReplyResponse = RemoveReplyResponse;\n    type reviewsV1ReviewReviews_universal_d_UpdateModerationStatusRequest = UpdateModerationStatusRequest;\n    type reviewsV1ReviewReviews_universal_d_UpdateModerationStatusRequestModerationStatus = UpdateModerationStatusRequestModerationStatus;\n    const reviewsV1ReviewReviews_universal_d_UpdateModerationStatusRequestModerationStatus: typeof UpdateModerationStatusRequestModerationStatus;\n    type reviewsV1ReviewReviews_universal_d_UpdateModerationStatusResponse = UpdateModerationStatusResponse;\n    type reviewsV1ReviewReviews_universal_d_BulkUpdateModerationStatusRequest = BulkUpdateModerationStatusRequest;\n    type reviewsV1ReviewReviews_universal_d_ModerationStatus = ModerationStatus;\n    const reviewsV1ReviewReviews_universal_d_ModerationStatus: typeof ModerationStatus;\n    type reviewsV1ReviewReviews_universal_d_BulkUpdateModerationStatusResponse = BulkUpdateModerationStatusResponse;\n    type reviewsV1ReviewReviews_universal_d_CountReviewsRequest = CountReviewsRequest;\n    type reviewsV1ReviewReviews_universal_d_CountReviewsResponse = CountReviewsResponse;\n    const reviewsV1ReviewReviews_universal_d_getReview: typeof getReview;\n    type reviewsV1ReviewReviews_universal_d_GetReviewOptions = GetReviewOptions;\n    const reviewsV1ReviewReviews_universal_d_createReviewAndContact: typeof createReviewAndContact;\n    type reviewsV1ReviewReviews_universal_d_CreateReviewAndContactOptions = CreateReviewAndContactOptions;\n    const reviewsV1ReviewReviews_universal_d_createReview: typeof createReview;\n    type reviewsV1ReviewReviews_universal_d_BulkCreateReviewOptions = BulkCreateReviewOptions;\n    type reviewsV1ReviewReviews_universal_d_UpdateReviewContentOptions = UpdateReviewContentOptions;\n    const reviewsV1ReviewReviews_universal_d_updateReview: typeof updateReview;\n    type reviewsV1ReviewReviews_universal_d_UpdateReview = UpdateReview;\n    type reviewsV1ReviewReviews_universal_d_UpdateReviewOptions = UpdateReviewOptions;\n    const reviewsV1ReviewReviews_universal_d_deleteReview: typeof deleteReview;\n    type reviewsV1ReviewReviews_universal_d_BulkDeleteReviewsOptions = BulkDeleteReviewsOptions;\n    const reviewsV1ReviewReviews_universal_d_queryReviews: typeof queryReviews;\n    type reviewsV1ReviewReviews_universal_d_QueryReviewsOptions = QueryReviewsOptions;\n    type reviewsV1ReviewReviews_universal_d_ReviewsQueryResult = ReviewsQueryResult;\n    type reviewsV1ReviewReviews_universal_d_ReviewsQueryBuilder = ReviewsQueryBuilder;\n    const reviewsV1ReviewReviews_universal_d_setReply: typeof setReply;\n    const reviewsV1ReviewReviews_universal_d_removeReply: typeof removeReply;\n    type reviewsV1ReviewReviews_universal_d_UpdateModerationStatusOptions = UpdateModerationStatusOptions;\n    type reviewsV1ReviewReviews_universal_d_BulkUpdateModerationStatusOptions = BulkUpdateModerationStatusOptions;\n    const reviewsV1ReviewReviews_universal_d_countReviews: typeof countReviews;\n    type reviewsV1ReviewReviews_universal_d_CountReviewsOptions = CountReviewsOptions;\n    namespace reviewsV1ReviewReviews_universal_d {\n        export { reviewsV1ReviewReviews_universal_d_Review as Review, reviewsV1ReviewReviews_universal_d_ReviewContent as ReviewContent, reviewsV1ReviewReviews_universal_d_Media as Media, reviewsV1ReviewReviews_universal_d_MediaMediaOneOf as MediaMediaOneOf, reviewsV1ReviewReviews_universal_d_VideoResolution as VideoResolution, reviewsV1ReviewReviews_universal_d_Author as Author, reviewsV1ReviewReviews_universal_d_AuthorType as AuthorType, reviewsV1ReviewReviews_universal_d_Reply as Reply, reviewsV1ReviewReviews_universal_d_Moderation as Moderation, reviewsV1ReviewReviews_universal_d_ModerationModerationStatus as ModerationModerationStatus, reviewsV1ReviewReviews_universal_d_Origin as Origin, reviewsV1ReviewReviews_universal_d_OriginType as OriginType, reviewsV1ReviewReviews_universal_d_Source as Source, reviewsV1ReviewReviews_universal_d_SourceSourceTypeOptionsOneOf as SourceSourceTypeOptionsOneOf, reviewsV1ReviewReviews_universal_d_SourceType as SourceType, reviewsV1ReviewReviews_universal_d_ReviewRequestOptions as ReviewRequestOptions, reviewsV1ReviewReviews_universal_d_RequestLinkOptions as RequestLinkOptions, reviewsV1ReviewReviews_universal_d_DomainEvent as DomainEvent, reviewsV1ReviewReviews_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf, reviewsV1ReviewReviews_universal_d_EntityCreatedEvent as EntityCreatedEvent, reviewsV1ReviewReviews_universal_d_RestoreInfo as RestoreInfo, reviewsV1ReviewReviews_universal_d_EntityUpdatedEvent as EntityUpdatedEvent, reviewsV1ReviewReviews_universal_d_EntityDeletedEvent as EntityDeletedEvent, reviewsV1ReviewReviews_universal_d_ActionEvent as ActionEvent, reviewsV1ReviewReviews_universal_d_Empty as Empty, reviewsV1ReviewReviews_universal_d_MessageEnvelope as MessageEnvelope, reviewsV1ReviewReviews_universal_d_IdentificationData as IdentificationData, reviewsV1ReviewReviews_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf, reviewsV1ReviewReviews_universal_d_WebhookIdentityType as WebhookIdentityType, reviewsV1ReviewReviews_universal_d_GetReviewRequest as GetReviewRequest, reviewsV1ReviewReviews_universal_d_GetReviewResponse as GetReviewResponse, reviewsV1ReviewReviews_universal_d_GetDeletedReviewRequest as GetDeletedReviewRequest, reviewsV1ReviewReviews_universal_d_GetDeletedReviewResponse as GetDeletedReviewResponse, reviewsV1ReviewReviews_universal_d_CreateReviewAndContactRequest as CreateReviewAndContactRequest, reviewsV1ReviewReviews_universal_d_CreateReviewResponse as CreateReviewResponse, reviewsV1ReviewReviews_universal_d_CreateReviewRequest as CreateReviewRequest, reviewsV1ReviewReviews_universal_d_ReviewPublished as ReviewPublished, reviewsV1ReviewReviews_universal_d_BulkCreateReviewRequest as BulkCreateReviewRequest, reviewsV1ReviewReviews_universal_d_BulkCreateReviewResponse as BulkCreateReviewResponse, reviewsV1ReviewReviews_universal_d_BulkReviewResult as BulkReviewResult, reviewsV1ReviewReviews_universal_d_ItemMetadata as ItemMetadata, reviewsV1ReviewReviews_universal_d_ApplicationError as ApplicationError, reviewsV1ReviewReviews_universal_d_BulkActionMetadata as BulkActionMetadata, reviewsV1ReviewReviews_universal_d_UpdateReviewContentRequest as UpdateReviewContentRequest, reviewsV1ReviewReviews_universal_d_UpdateReviewContentResponse as UpdateReviewContentResponse, reviewsV1ReviewReviews_universal_d_ModerationStatusChanged as ModerationStatusChanged, reviewsV1ReviewReviews_universal_d_UpdateReviewRequest as UpdateReviewRequest, reviewsV1ReviewReviews_universal_d_UpdateReviewResponse as UpdateReviewResponse, reviewsV1ReviewReviews_universal_d_DeleteReviewRequest as DeleteReviewRequest, reviewsV1ReviewReviews_universal_d_DeleteReviewResponse as DeleteReviewResponse, reviewsV1ReviewReviews_universal_d_BulkDeleteReviewsRequest as BulkDeleteReviewsRequest, reviewsV1ReviewReviews_universal_d_BulkDeleteReviewsResponse as BulkDeleteReviewsResponse, reviewsV1ReviewReviews_universal_d_QueryReviewsRequest as QueryReviewsRequest, reviewsV1ReviewReviews_universal_d_QueryV2 as QueryV2, reviewsV1ReviewReviews_universal_d_Sorting as Sorting, reviewsV1ReviewReviews_universal_d_SortOrder as SortOrder, reviewsV1ReviewReviews_universal_d_CursorPaging as CursorPaging, reviewsV1ReviewReviews_universal_d_QueryReviewsResponse as QueryReviewsResponse, reviewsV1ReviewReviews_universal_d_PagingMetadataV2 as PagingMetadataV2, reviewsV1ReviewReviews_universal_d_Cursors as Cursors, reviewsV1ReviewReviews_universal_d_SetReplyRequest as SetReplyRequest, reviewsV1ReviewReviews_universal_d_SetReplyResponse as SetReplyResponse, reviewsV1ReviewReviews_universal_d_RemoveReplyRequest as RemoveReplyRequest, reviewsV1ReviewReviews_universal_d_RemoveReplyResponse as RemoveReplyResponse, reviewsV1ReviewReviews_universal_d_UpdateModerationStatusRequest as UpdateModerationStatusRequest, reviewsV1ReviewReviews_universal_d_UpdateModerationStatusRequestModerationStatus as UpdateModerationStatusRequestModerationStatus, reviewsV1ReviewReviews_universal_d_UpdateModerationStatusResponse as UpdateModerationStatusResponse, reviewsV1ReviewReviews_universal_d_BulkUpdateModerationStatusRequest as BulkUpdateModerationStatusRequest, reviewsV1ReviewReviews_universal_d_ModerationStatus as ModerationStatus, reviewsV1ReviewReviews_universal_d_BulkUpdateModerationStatusResponse as BulkUpdateModerationStatusResponse, reviewsV1ReviewReviews_universal_d_CountReviewsRequest as CountReviewsRequest, reviewsV1ReviewReviews_universal_d_CountReviewsResponse as CountReviewsResponse, reviewsV1ReviewReviews_universal_d_getReview as getReview, reviewsV1ReviewReviews_universal_d_GetReviewOptions as GetReviewOptions, reviewsV1ReviewReviews_universal_d_createReviewAndContact as createReviewAndContact, reviewsV1ReviewReviews_universal_d_CreateReviewAndContactOptions as CreateReviewAndContactOptions, reviewsV1ReviewReviews_universal_d_createReview as createReview, reviewsV1ReviewReviews_universal_d_BulkCreateReviewOptions as BulkCreateReviewOptions, reviewsV1ReviewReviews_universal_d_UpdateReviewContentOptions as UpdateReviewContentOptions, reviewsV1ReviewReviews_universal_d_updateReview as updateReview, reviewsV1ReviewReviews_universal_d_UpdateReview as UpdateReview, reviewsV1ReviewReviews_universal_d_UpdateReviewOptions as UpdateReviewOptions, reviewsV1ReviewReviews_universal_d_deleteReview as deleteReview, reviewsV1ReviewReviews_universal_d_BulkDeleteReviewsOptions as BulkDeleteReviewsOptions, reviewsV1ReviewReviews_universal_d_queryReviews as queryReviews, reviewsV1ReviewReviews_universal_d_QueryReviewsOptions as QueryReviewsOptions, reviewsV1ReviewReviews_universal_d_ReviewsQueryResult as ReviewsQueryResult, reviewsV1ReviewReviews_universal_d_ReviewsQueryBuilder as ReviewsQueryBuilder, reviewsV1ReviewReviews_universal_d_setReply as setReply, reviewsV1ReviewReviews_universal_d_removeReply as removeReply, reviewsV1ReviewReviews_universal_d_UpdateModerationStatusOptions as UpdateModerationStatusOptions, reviewsV1ReviewReviews_universal_d_BulkUpdateModerationStatusOptions as BulkUpdateModerationStatusOptions, reviewsV1ReviewReviews_universal_d_countReviews as countReviews, reviewsV1ReviewReviews_universal_d_CountReviewsOptions as CountReviewsOptions, };\n    }\n    export { reviewsV1ReviewReviews_universal_d as reviews };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-comments.v2.d.ts",
      "content": "declare module \"wix-comments.v2\" {\n    const __debug: {\n        verboseLogging: {\n            on: () => boolean;\n            off: () => boolean;\n        };\n    };\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         * @readonly\n         */\n        _createdDate?: Date;\n        /**\n         * Date and time the comment was last updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\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        /** Reserved for internal use. */\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        /** Comment's author. */\n        author?: CommentAuthor;\n        /**\n         * Parent comment information.\n         *\n         * See [Terminology](#introduction) for more information about parent comments.\n         */\n        parentComment?: ParentComment;\n        /**\n         * Amount 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         *\n         * Supported values:\n         * + `\"PUBLISHED\"`: This comment is published and publicly visible.\n         * + `\"DELETED\"`: This comment is deleted.\n         * + `\"PENDING\"`: This comment is pending moderation. Moderation is not currently supported.\n         * + `\"HIDDEN\"`: This comment has been hidden by a site moderator.\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    }\n    /** Comment content. */\n    interface CommentContent {\n        /** Comment rich content. */\n        richContent?: RichContent;\n        /**\n         * Mentions to tag with this comment.\n         *\n         * Mentions can include users, members, visitors, or groups.\n         */\n        mentions?: Mention[];\n        /** Content attachments. */\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;\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 Mention extends MentionIdentityOneOf {\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        /** Group ID. See the Groups API for more details. */\n        groupId?: string | null;\n    }\n    /** @oneof */\n    interface MentionIdentityOneOf {\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        /** 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. */\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 */\n        appId?: string | null;\n    }\n    /** @oneof */\n    interface ContentAuthorAuthorOneOf {\n        /** Wix user ID. */\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 */\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    /** @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    interface VoteSummary {\n        /** Amount of upvotes less downvotes on this comment. */\n        netVoteCount?: number;\n        /** Amount of upvotes on this comment. */\n        upvoteCount?: number;\n        /** Amount of downvotes on this comment. */\n        downvoteCount?: number;\n    }\n    enum Status {\n        UNKNOWN = \"UNKNOWN\",\n        PUBLISHED = \"PUBLISHED\",\n        DELETED = \"DELETED\",\n        PENDING = \"PENDING\",\n        HIDDEN = \"HIDDEN\"\n    }\n    interface CommentReactionSummary {\n        /** Total amount of reactions. */\n        total?: number;\n        /**\n         * Amounts 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        /** 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 ContactDetails {\n    }\n    interface CreateCommentResponse {\n        /** Created comment. */\n        comment?: Comment;\n    }\n    interface ResourceCommentCountChanged {\n        appId?: string;\n        contextId?: string;\n        resourceId?: string;\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    interface UpdateCommentResponse {\n        /** Updated comment. */\n        comment?: Comment;\n    }\n    interface CommentContentChanged {\n        commentId?: string;\n        previousContent?: CommentContent;\n        currentContent?: CommentContent;\n    }\n    interface DeleteCommentRequest {\n        /** ID of the Comment to delete. */\n        commentId: string;\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    enum Action {\n        UNKNOWN = \"UNKNOWN\",\n        /** Approve draft content. */\n        APPROVE = \"APPROVE\",\n        /** Reject draft content. */\n        REJECT = \"REJECT\"\n    }\n    interface ModerateDraftContentResponse {\n        /** Moderated 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        /** App ID to query comments for. */\n        appId: string;\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 QueryCommentsResponse {\n        /** Retrieved comments. */\n        comments?: Comment[];\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 MarkCommentRequest {\n        /** ID of the comment to mark. */\n        commentId: string;\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    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 options. */\n        filter?: Record<string, any> | null;\n    }\n    interface CountCommentsResponse {\n        /** Amount of comments. */\n        count?: number;\n    }\n    interface ListCommentsByResourceRequest {\n        /** App ID. */\n        appId: string;\n        /** Context ID. */\n        contextId: string;\n        /** 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        /** Cursor paging. */\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        NET_VOTE_COUNT_ASC = \"NET_VOTE_COUNT_ASC\",\n        RATING_ASC = \"RATING_ASC\"\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        /** Pointer to the next or previous page in the list of results. */\n        cursor?: string | null;\n        /**\n         * Number of items to return.\n         *\n         * Min: `1`\\n\n         * Max: `100`\n         */\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;\n        commentReplies?: Record<string, RepliesListResponse>;\n    }\n    interface RepliesListResponse {\n        replies?: Comment[];\n        pagingMetadata?: CursorPagingMetadata;\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;\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    interface BulkModerateDraftContentRequest {\n        /** Owning vertical identifier */\n        appId: string;\n        /** Comments to moderate */\n        filter: Record<string, any> | null;\n        /** Action to do regarding draft content */\n        draftContentAction: Action;\n    }\n    interface BulkModerateDraftContentResponse {\n        /** Reference to async job */\n        jobId?: string;\n    }\n    /**\n     * Creates a new comment.\n     *\n     * The `appId`, `contextId`, and `resourceId` are all required and associate the created comment with the specific\n     * resource it responds to. See [Integrations](#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     *\n     * This function is not a universal function and runs only on the backend.\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     * @adminMethod\n     * @returns Created comment.\n     */\n    function createComment(comment: Comment, options?: CreateCommentOptions): Promise<Comment>;\n    interface CreateCommentOptions {\n    }\n    /**\n     * Retrieves a comment.\n     *\n     * This function is not a universal function and runs only on the backend.\n     * @param commentId - ID of the comment to retrieve.\n     * @public\n     * @documentationMaturity preview\n     * @requiredField commentId\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     *\n     * This function is not a universal function and runs only on the backend.\n     * @param _id - Comment ID.\n     * @public\n     * @documentationMaturity preview\n     * @requiredField _id\n     * @requiredField comment\n     * @requiredField comment.revision\n     * @adminMethod\n     * @returns Updated comment.\n     */\n    function updateComment(_id: string | null, comment: UpdateComment): 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         * @readonly\n         */\n        _createdDate?: Date;\n        /**\n         * Date and time the comment was last updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\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        /** Reserved for internal use. */\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        /** Comment's author. */\n        author?: CommentAuthor;\n        /**\n         * Parent comment information.\n         *\n         * See [Terminology](#introduction) for more information about parent comments.\n         */\n        parentComment?: ParentComment;\n        /**\n         * Amount 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         *\n         * Supported values:\n         * + `\"PUBLISHED\"`: This comment is published and publicly visible.\n         * + `\"DELETED\"`: This comment is deleted.\n         * + `\"PENDING\"`: This comment is pending moderation. Moderation is not currently supported.\n         * + `\"HIDDEN\"`: This comment has been hidden by a site moderator.\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    }\n    /**\n     * Deletes a comment.\n     *\n     * This endpoint deletes the `content` of the comment and sets its `status` to `DELETED`.\n     *\n     * This function is not a universal function and runs only on the backend.\n     * @param commentId - ID of the Comment to delete.\n     * @public\n     * @documentationMaturity preview\n     * @requiredField commentId\n     * @adminMethod\n     */\n    function deleteComment(commentId: string, options?: DeleteCommentOptions): Promise<void>;\n    interface DeleteCommentOptions {\n    }\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     *\n     * This function is not a universal function and runs only on the backend.\n     * @public\n     * @documentationMaturity preview\n     * @requiredField appId\n     * @param appId - App ID to query comments for.\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     *\n     * You can then filter for marked comments with the [`queryComments()`](#querycomments) function to apply customizations.\n     *\n     * This function is not a universal function and runs only on the backend.\n     * @param commentId - ID of the comment to mark.\n     * @public\n     * @documentationMaturity preview\n     * @requiredField commentId\n     * @adminMethod\n     */\n    function markComment(commentId: string, options?: MarkCommentOptions): Promise<MarkCommentResponse>;\n    interface MarkCommentOptions {\n    }\n    /**\n     * Sets `marked` to `\"FALSE\"` to unmark a comment.\n     *\n     * This function is not a universal function and runs only on the backend.\n     * @param commentId - ID of the comment to unmark.\n     * @public\n     * @documentationMaturity preview\n     * @requiredField commentId\n     * @adminMethod\n     */\n    function unmarkComment(commentId: string, options?: UnmarkCommentOptions): Promise<UnmarkCommentResponse>;\n    interface UnmarkCommentOptions {\n    }\n    /**\n     * Counts comments, given the provided filtering.\n     *\n     * For field support for filters and sorting, see the **Supported Filters & Sorting** table in the [`queryComments()`](/querycomments) function.\n     *\n     * This function is not a universal function and runs only on the backend.\n     * @param appId - App ID to count the comments of.\n     * @public\n     * @documentationMaturity preview\n     * @requiredField appId\n     * @adminMethod\n     */\n    function countComments(appId: string, options?: CountCommentsOptions): Promise<CountCommentsResponse>;\n    interface CountCommentsOptions {\n        /** Filter options. */\n        filter?: Record<string, any> | null;\n    }\n    interface ListCommentsByResourceOptions {\n        /** Context ID. */\n        contextId: string;\n        /** 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        /** Cursor paging. */\n        cursorPaging?: ListCommentsByResourceCursorPaging;\n    }\n    interface GetCommentThreadOptions {\n        /** App ID. */\n        appId?: string;\n        /** Comment sorting. */\n        commentSort?: CommentSort;\n        /** Reply sorting. */\n        replySort?: ReplySort;\n    }\n    interface BulkPublishCommentOptions {\n        /** Comments to publish */\n        filter: Record<string, any> | null;\n    }\n    interface BulkHideCommentOptions {\n        /** Comments to hide */\n        filter: Record<string, any> | null;\n    }\n    interface BulkDeleteCommentOptions {\n        /** Comments to delete */\n        filter: Record<string, any> | null;\n    }\n    interface BulkModerateDraftContentOptions {\n        /** Comments to moderate */\n        filter: Record<string, any> | null;\n        /** Action to do regarding draft content */\n        draftContentAction: Action;\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_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_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_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_VoteSummary = VoteSummary;\n    type commentsV2Comment_universal_d_Status = Status;\n    const commentsV2Comment_universal_d_Status: typeof Status;\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_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_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_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    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    const commentsV2Comment_universal_d_deleteComment: typeof deleteComment;\n    type commentsV2Comment_universal_d_DeleteCommentOptions = DeleteCommentOptions;\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_countComments: typeof countComments;\n    type commentsV2Comment_universal_d_CountCommentsOptions = CountCommentsOptions;\n    type commentsV2Comment_universal_d_ListCommentsByResourceOptions = ListCommentsByResourceOptions;\n    type commentsV2Comment_universal_d_GetCommentThreadOptions = GetCommentThreadOptions;\n    type commentsV2Comment_universal_d_BulkPublishCommentOptions = BulkPublishCommentOptions;\n    type commentsV2Comment_universal_d_BulkHideCommentOptions = BulkHideCommentOptions;\n    type commentsV2Comment_universal_d_BulkDeleteCommentOptions = BulkDeleteCommentOptions;\n    type commentsV2Comment_universal_d_BulkModerateDraftContentOptions = BulkModerateDraftContentOptions;\n    namespace commentsV2Comment_universal_d {\n        export { commentsV2Comment_universal_d___debug as __debug, commentsV2Comment_universal_d_Comment as Comment, commentsV2Comment_universal_d_CommentContent as CommentContent, commentsV2Comment_universal_d_RichContent as RichContent, commentsV2Comment_universal_d_Node as Node, commentsV2Comment_universal_d_NodeDataOneOf as NodeDataOneOf, commentsV2Comment_universal_d_NodeType as NodeType, commentsV2Comment_universal_d_NodeStyle as NodeStyle, commentsV2Comment_universal_d_ButtonData as ButtonData, commentsV2Comment_universal_d_Border as Border, commentsV2Comment_universal_d_Colors as Colors, commentsV2Comment_universal_d_PluginContainerData as PluginContainerData, commentsV2Comment_universal_d_WidthType as WidthType, commentsV2Comment_universal_d_PluginContainerDataWidth as PluginContainerDataWidth, commentsV2Comment_universal_d_PluginContainerDataWidthDataOneOf as PluginContainerDataWidthDataOneOf, commentsV2Comment_universal_d_PluginContainerDataAlignment as PluginContainerDataAlignment, commentsV2Comment_universal_d_Spoiler as Spoiler, commentsV2Comment_universal_d_Height as Height, commentsV2Comment_universal_d_Type as Type, commentsV2Comment_universal_d_Styles as Styles, commentsV2Comment_universal_d_Link as Link, commentsV2Comment_universal_d_LinkDataOneOf as LinkDataOneOf, commentsV2Comment_universal_d_Target as Target, commentsV2Comment_universal_d_Rel as Rel, commentsV2Comment_universal_d_CodeBlockData as CodeBlockData, commentsV2Comment_universal_d_TextStyle as TextStyle, commentsV2Comment_universal_d_TextAlignment as TextAlignment, commentsV2Comment_universal_d_DividerData as DividerData, commentsV2Comment_universal_d_LineStyle as LineStyle, commentsV2Comment_universal_d_Width as Width, commentsV2Comment_universal_d_Alignment as Alignment, commentsV2Comment_universal_d_FileData as FileData, commentsV2Comment_universal_d_ViewMode as ViewMode, commentsV2Comment_universal_d_FileSource as FileSource, commentsV2Comment_universal_d_FileSourceDataOneOf as FileSourceDataOneOf, commentsV2Comment_universal_d_PDFSettings as PDFSettings, commentsV2Comment_universal_d_GalleryData as GalleryData, commentsV2Comment_universal_d_Media as Media, commentsV2Comment_universal_d_Image as Image, commentsV2Comment_universal_d_Video as Video, commentsV2Comment_universal_d_Item as Item, commentsV2Comment_universal_d_ItemDataOneOf as ItemDataOneOf, commentsV2Comment_universal_d_GalleryOptions as GalleryOptions, commentsV2Comment_universal_d_LayoutType as LayoutType, commentsV2Comment_universal_d_Orientation as Orientation, commentsV2Comment_universal_d_Crop as Crop, commentsV2Comment_universal_d_ThumbnailsAlignment as ThumbnailsAlignment, commentsV2Comment_universal_d_Layout as Layout, commentsV2Comment_universal_d_ItemStyle as ItemStyle, commentsV2Comment_universal_d_Thumbnails as Thumbnails, commentsV2Comment_universal_d_GIFData as GIFData, commentsV2Comment_universal_d_GIF as GIF, commentsV2Comment_universal_d_HeadingData as HeadingData, commentsV2Comment_universal_d_HTMLData as HTMLData, commentsV2Comment_universal_d_HTMLDataDataOneOf as HTMLDataDataOneOf, commentsV2Comment_universal_d_Source as Source, commentsV2Comment_universal_d_ImageData as ImageData, commentsV2Comment_universal_d_LinkPreviewData as LinkPreviewData, commentsV2Comment_universal_d_MapData as MapData, commentsV2Comment_universal_d_MapSettings as MapSettings, commentsV2Comment_universal_d_MapType as MapType, commentsV2Comment_universal_d_ParagraphData as ParagraphData, commentsV2Comment_universal_d_PollData as PollData, commentsV2Comment_universal_d_ViewRole as ViewRole, commentsV2Comment_universal_d_VoteRole as VoteRole, commentsV2Comment_universal_d_Permissions as Permissions, commentsV2Comment_universal_d_Option as Option, commentsV2Comment_universal_d_Settings as Settings, commentsV2Comment_universal_d_PollLayoutType as PollLayoutType, commentsV2Comment_universal_d_PollLayoutDirection as PollLayoutDirection, commentsV2Comment_universal_d_PollLayout as PollLayout, commentsV2Comment_universal_d_OptionLayout as OptionLayout, commentsV2Comment_universal_d_BackgroundType as BackgroundType, commentsV2Comment_universal_d_Gradient as Gradient, commentsV2Comment_universal_d_Background as Background, commentsV2Comment_universal_d_BackgroundBackgroundOneOf as BackgroundBackgroundOneOf, commentsV2Comment_universal_d_PollDesign as PollDesign, commentsV2Comment_universal_d_OptionDesign as OptionDesign, commentsV2Comment_universal_d_Poll as Poll, commentsV2Comment_universal_d_PollDataLayout as PollDataLayout, commentsV2Comment_universal_d_Design as Design, commentsV2Comment_universal_d_TextData as TextData, commentsV2Comment_universal_d_Decoration as Decoration, commentsV2Comment_universal_d_DecorationDataOneOf as DecorationDataOneOf, commentsV2Comment_universal_d_DecorationType as DecorationType, commentsV2Comment_universal_d_AnchorData as AnchorData, commentsV2Comment_universal_d_ColorData as ColorData, commentsV2Comment_universal_d_LinkData as LinkData, commentsV2Comment_universal_d_MentionData as MentionData, commentsV2Comment_universal_d_FontSizeData as FontSizeData, commentsV2Comment_universal_d_FontType as FontType, commentsV2Comment_universal_d_AppEmbedData as AppEmbedData, commentsV2Comment_universal_d_AppEmbedDataAppDataOneOf as AppEmbedDataAppDataOneOf, commentsV2Comment_universal_d_AppType as AppType, commentsV2Comment_universal_d_BookingData as BookingData, commentsV2Comment_universal_d_EventData as EventData, commentsV2Comment_universal_d_VideoData as VideoData, commentsV2Comment_universal_d_PlaybackOptions as PlaybackOptions, commentsV2Comment_universal_d_EmbedData as EmbedData, commentsV2Comment_universal_d_Oembed as Oembed, commentsV2Comment_universal_d_CollapsibleListData as CollapsibleListData, commentsV2Comment_universal_d_InitialExpandedItems as InitialExpandedItems, commentsV2Comment_universal_d_Direction as Direction, commentsV2Comment_universal_d_TableData as TableData, commentsV2Comment_universal_d_Dimensions as Dimensions, commentsV2Comment_universal_d_TableCellData as TableCellData, commentsV2Comment_universal_d_VerticalAlignment as VerticalAlignment, commentsV2Comment_universal_d_CellStyle as CellStyle, commentsV2Comment_universal_d_BorderColors as BorderColors, commentsV2Comment_universal_d_NullValue as NullValue, commentsV2Comment_universal_d_ListValue as ListValue, commentsV2Comment_universal_d_AudioData as AudioData, commentsV2Comment_universal_d_OrderedListData as OrderedListData, commentsV2Comment_universal_d_BulletedListData as BulletedListData, commentsV2Comment_universal_d_BlockquoteData as BlockquoteData, commentsV2Comment_universal_d_Metadata as Metadata, commentsV2Comment_universal_d_DocumentStyle as DocumentStyle, commentsV2Comment_universal_d_TextNodeStyle as TextNodeStyle, commentsV2Comment_universal_d_Mention as Mention, commentsV2Comment_universal_d_MentionIdentityOneOf as MentionIdentityOneOf, commentsV2Comment_universal_d_Attachment as Attachment, commentsV2Comment_universal_d_AttachmentMediaOneOf as AttachmentMediaOneOf, commentsV2Comment_universal_d_VideoResolution as VideoResolution, commentsV2Comment_universal_d_ContentAuthor as ContentAuthor, commentsV2Comment_universal_d_ContentAuthorAuthorOneOf as ContentAuthorAuthorOneOf, commentsV2Comment_universal_d_CommentAuthor as CommentAuthor, commentsV2Comment_universal_d_CommentAuthorIdentityOneOf as CommentAuthorIdentityOneOf, commentsV2Comment_universal_d_ParentComment as ParentComment, commentsV2Comment_universal_d_VoteSummary as VoteSummary, commentsV2Comment_universal_d_Status as Status, commentsV2Comment_universal_d_CommentReactionSummary as CommentReactionSummary, commentsV2Comment_universal_d_UpdateInternalDocumentsEvent as UpdateInternalDocumentsEvent, commentsV2Comment_universal_d_UpdateInternalDocumentsEventOperationOneOf as UpdateInternalDocumentsEventOperationOneOf, commentsV2Comment_universal_d_InternalDocument as InternalDocument, commentsV2Comment_universal_d_InternalDocumentUpdateOperation as InternalDocumentUpdateOperation, commentsV2Comment_universal_d_DeleteByIdsOperation as DeleteByIdsOperation, commentsV2Comment_universal_d_DeleteByFilterOperation as DeleteByFilterOperation, commentsV2Comment_universal_d_InternalDocumentUpdateByFilterOperation as InternalDocumentUpdateByFilterOperation, commentsV2Comment_universal_d_InternalUpdateExistingOperation as InternalUpdateExistingOperation, commentsV2Comment_universal_d_VersionedDocumentUpdateOperation as VersionedDocumentUpdateOperation, commentsV2Comment_universal_d_VersioningMode as VersioningMode, commentsV2Comment_universal_d_VersionedDeleteByIdsOperation as VersionedDeleteByIdsOperation, commentsV2Comment_universal_d_VersionedDocumentId as VersionedDocumentId, commentsV2Comment_universal_d_CreateCommentRequest as CreateCommentRequest, commentsV2Comment_universal_d_ContactDetails as ContactDetails, commentsV2Comment_universal_d_CreateCommentResponse as CreateCommentResponse, commentsV2Comment_universal_d_ResourceCommentCountChanged as ResourceCommentCountChanged, commentsV2Comment_universal_d_GetCommentRequest as GetCommentRequest, commentsV2Comment_universal_d_GetCommentResponse as GetCommentResponse, commentsV2Comment_universal_d_UpdateCommentRequest as UpdateCommentRequest, commentsV2Comment_universal_d_UpdateCommentResponse as UpdateCommentResponse, commentsV2Comment_universal_d_CommentContentChanged as CommentContentChanged, commentsV2Comment_universal_d_DeleteCommentRequest as DeleteCommentRequest, commentsV2Comment_universal_d_DeleteCommentResponse as DeleteCommentResponse, commentsV2Comment_universal_d_CommentDeleted as CommentDeleted, commentsV2Comment_universal_d_ModerateDraftContentRequest as ModerateDraftContentRequest, commentsV2Comment_universal_d_Action as Action, commentsV2Comment_universal_d_ModerateDraftContentResponse as ModerateDraftContentResponse, commentsV2Comment_universal_d_CommentPublished as CommentPublished, commentsV2Comment_universal_d_CommentHidden as CommentHidden, commentsV2Comment_universal_d_QueryCommentsRequest as QueryCommentsRequest, commentsV2Comment_universal_d_CursorQuery as CursorQuery, commentsV2Comment_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf, commentsV2Comment_universal_d_Sorting as Sorting, commentsV2Comment_universal_d_SortOrder as SortOrder, commentsV2Comment_universal_d_CursorPaging as CursorPaging, commentsV2Comment_universal_d_QueryCommentsResponse as QueryCommentsResponse, commentsV2Comment_universal_d_CursorPagingMetadata as CursorPagingMetadata, commentsV2Comment_universal_d_Cursors as Cursors, commentsV2Comment_universal_d_MarkCommentRequest as MarkCommentRequest, commentsV2Comment_universal_d_MarkCommentResponse as MarkCommentResponse, commentsV2Comment_universal_d_CommentMarked as CommentMarked, commentsV2Comment_universal_d_UnmarkCommentRequest as UnmarkCommentRequest, commentsV2Comment_universal_d_UnmarkCommentResponse as UnmarkCommentResponse, commentsV2Comment_universal_d_CommentUnmarked as CommentUnmarked, commentsV2Comment_universal_d_HideCommentRequest as HideCommentRequest, commentsV2Comment_universal_d_HideCommentResponse as HideCommentResponse, commentsV2Comment_universal_d_PublishCommentRequest as PublishCommentRequest, commentsV2Comment_universal_d_PublishCommentResponse as PublishCommentResponse, commentsV2Comment_universal_d_CountCommentsRequest as CountCommentsRequest, commentsV2Comment_universal_d_CountCommentsResponse as CountCommentsResponse, commentsV2Comment_universal_d_ListCommentsByResourceRequest as ListCommentsByResourceRequest, commentsV2Comment_universal_d_CommentSort as CommentSort, commentsV2Comment_universal_d_Order as Order, commentsV2Comment_universal_d_ReplySort as ReplySort, commentsV2Comment_universal_d_ReplySortOrder as ReplySortOrder, commentsV2Comment_universal_d_ListCommentsByResourceCursorPaging as ListCommentsByResourceCursorPaging, commentsV2Comment_universal_d_ListCommentsByResourceResponse as ListCommentsByResourceResponse, commentsV2Comment_universal_d_RepliesListResponse as RepliesListResponse, commentsV2Comment_universal_d_GetCommentThreadRequest as GetCommentThreadRequest, commentsV2Comment_universal_d_GetCommentThreadResponse as GetCommentThreadResponse, commentsV2Comment_universal_d_BulkPublishCommentRequest as BulkPublishCommentRequest, commentsV2Comment_universal_d_BulkPublishCommentResponse as BulkPublishCommentResponse, commentsV2Comment_universal_d_BulkHideCommentRequest as BulkHideCommentRequest, commentsV2Comment_universal_d_BulkHideCommentResponse as BulkHideCommentResponse, commentsV2Comment_universal_d_BulkDeleteCommentRequest as BulkDeleteCommentRequest, commentsV2Comment_universal_d_BulkDeleteCommentResponse as BulkDeleteCommentResponse, commentsV2Comment_universal_d_BulkModerateDraftContentRequest as BulkModerateDraftContentRequest, commentsV2Comment_universal_d_BulkModerateDraftContentResponse as BulkModerateDraftContentResponse, commentsV2Comment_universal_d_createComment as createComment, commentsV2Comment_universal_d_CreateCommentOptions as CreateCommentOptions, commentsV2Comment_universal_d_getComment as getComment, commentsV2Comment_universal_d_updateComment as updateComment, commentsV2Comment_universal_d_UpdateComment as UpdateComment, commentsV2Comment_universal_d_deleteComment as deleteComment, commentsV2Comment_universal_d_DeleteCommentOptions as DeleteCommentOptions, commentsV2Comment_universal_d_ModerateDraftContentOptions as ModerateDraftContentOptions, commentsV2Comment_universal_d_queryComments as queryComments, commentsV2Comment_universal_d_CommentsQueryResult as CommentsQueryResult, commentsV2Comment_universal_d_CommentsQueryBuilder as CommentsQueryBuilder, commentsV2Comment_universal_d_markComment as markComment, commentsV2Comment_universal_d_MarkCommentOptions as MarkCommentOptions, commentsV2Comment_universal_d_unmarkComment as unmarkComment, commentsV2Comment_universal_d_UnmarkCommentOptions as UnmarkCommentOptions, commentsV2Comment_universal_d_countComments as countComments, commentsV2Comment_universal_d_CountCommentsOptions as CountCommentsOptions, commentsV2Comment_universal_d_ListCommentsByResourceOptions as ListCommentsByResourceOptions, commentsV2Comment_universal_d_GetCommentThreadOptions as GetCommentThreadOptions, commentsV2Comment_universal_d_BulkPublishCommentOptions as BulkPublishCommentOptions, commentsV2Comment_universal_d_BulkHideCommentOptions as BulkHideCommentOptions, commentsV2Comment_universal_d_BulkDeleteCommentOptions as BulkDeleteCommentOptions, commentsV2Comment_universal_d_BulkModerateDraftContentOptions as BulkModerateDraftContentOptions, };\n    }\n    export { commentsV2Comment_universal_d as comments };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/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    interface WebMethodOptions {\n        cache?: CacheOptions;\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: {\n            allowedRoles: any[];\n        };\n        SiteMember: {\n            allowedRoles: any[];\n        };\n        Anyone: {\n            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>(permission: {\n        allowedRoles: any[];\n    }, method: T, options?: WebMethodOptions): T & {\n        permission: {\n            allowedRoles: any[];\n        };\n    };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-forms.v2.d.ts",
      "content": "declare module \"wix-forms.v2\" {\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        /**\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;\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        /**\n         * Contact ID. Member who created the submission, or a mapped contact.\n         * @readonly\n         */\n        contactId?: string | null;\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 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 CreateSubmissionRequest {\n        /** Submission to create. */\n        submission: FormSubmission;\n        /** Captcha token. */\n        captchaToken?: string | null;\n    }\n    interface CreateSubmissionResponse {\n        /** The created submission. */\n        submission?: FormSubmission;\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    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 FormSubmissionStatusUpdatedEvent {\n        /** Updated submission. */\n        submission?: FormSubmission;\n        /** Previous status of the submission. */\n        previousStatus?: SubmissionStatus;\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 RemovedSubmissionFromTrash {\n        /** Removed submission. */\n        submission?: FormSubmission;\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        /** 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        /** 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    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 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        /** 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    interface EntityDeletedEvent {\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    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        /** 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;\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 = \"SINGLE_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    /**\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     * @permissionScope Manage Submissions\n     * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\n     */\n    function createSubmission(submission: FormSubmission, options?: CreateSubmissionOptions): Promise<CreateSubmissionResponse>;\n    interface CreateSubmissionOptions {\n        /** Captcha token. */\n        captchaToken?: string | null;\n    }\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     * @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     * @permissionScope Manage Submissions\n     * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-ORDERS\n     * @permissionScope Read Submissions\n     * @permissionScopeId SCOPE.DC-FORMS.READ-SUBMISSIONS\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function getSubmission(submissionId: string): Promise<GetSubmissionResponse>;\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     * @permissionScope Manage Submissions\n     * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n     * @applicableIdentity APP\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        /**\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        /**\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;\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        /**\n         * Contact ID. Member who created the submission, or a mapped contact.\n         * @readonly\n         */\n        contactId?: string | null;\n    }\n    interface UpdateSubmissionOptions {\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     * @permissionScope Manage Submissions\n     * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n     * @applicableIdentity APP\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     * @permissionScope Manage Submissions\n     * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n     * @applicableIdentity APP\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     * @permissionScope Manage Submissions\n     * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n     * @applicableIdentity APP\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     * @permissionScope Manage Submissions\n     * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n     * @applicableIdentity APP\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     * @permissionScope Manage Submissions\n     * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n     * @applicableIdentity APP\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     * @permissionScope Manage Submissions\n     * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n     * @applicableIdentity APP\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     * @permissionScope Manage Submissions\n     * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-ORDERS\n     * @permissionScope Read Submissions\n     * @permissionScopeId SCOPE.DC-FORMS.READ-SUBMISSIONS\n     * @applicableIdentity APP\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     * @permissionScope Manage Submissions\n     * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-ORDERS\n     * @permissionScope Read Submissions\n     * @permissionScopeId SCOPE.DC-FORMS.READ-SUBMISSIONS\n     * @applicableIdentity APP\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     * @permissionScope Manage Submissions\n     * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-ORDERS\n     * @permissionScope Read Submissions\n     * @permissionScopeId SCOPE.DC-FORMS.READ-SUBMISSIONS\n     * @applicableIdentity APP\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        /** 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     * @permissionScope Manage Submissions\n     * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-ORDERS\n     * @permissionScope Read Submissions\n     * @permissionScopeId SCOPE.DC-FORMS.READ-SUBMISSIONS\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function searchSubmissionsByNamespace(search: CursorSearch): Promise<SearchSubmissionsByNamespaceResponse>;\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     * @permissionScope Manage Submissions\n     * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-ORDERS\n     * @permissionScope Read Submissions\n     * @permissionScopeId SCOPE.DC-FORMS.READ-SUBMISSIONS\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function querySubmissionsByNamespace(options?: QuerySubmissionsByNamespaceOptions): SubmissionsQueryBuilder;\n    interface QuerySubmissionsByNamespaceOptions {\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     * > **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     * @permissionScope Manage Submissions\n     * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-ORDERS\n     * @permissionScope Read Submissions\n     * @permissionScopeId SCOPE.DC-FORMS.READ-SUBMISSIONS\n     * @applicableIdentity APP\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     * @permissionScope Manage Submissions\n     * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-ORDERS\n     * @permissionScope Read Submissions\n     * @permissionScopeId SCOPE.DC-FORMS.READ-SUBMISSIONS\n     * @applicableIdentity APP\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     * @permissionScope Manage Submissions\n     * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-ORDERS\n     * @permissionScope Read Submissions\n     * @permissionScopeId SCOPE.DC-FORMS.READ-SUBMISSIONS\n     * @applicableIdentity APP\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     * @permissionScope Manage Submissions\n     * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Submissions\n     * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n     * @permissionScope Read Orders\n     * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-ORDERS\n     * @permissionScope Read Submissions\n     * @permissionScopeId SCOPE.DC-FORMS.READ-SUBMISSIONS\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function bulkMarkSubmissionsAsSeen(ids: string[], formId: string): Promise<void>;\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     * @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    type formsV4SubmissionSubmissions_universal_d_FormSubmission = FormSubmission;\n    type formsV4SubmissionSubmissions_universal_d_SubmissionStatus = SubmissionStatus;\n    const formsV4SubmissionSubmissions_universal_d_SubmissionStatus: typeof SubmissionStatus;\n    type formsV4SubmissionSubmissions_universal_d_Submitter = Submitter;\n    type formsV4SubmissionSubmissions_universal_d_SubmitterSubmitterOneOf = SubmitterSubmitterOneOf;\n    type formsV4SubmissionSubmissions_universal_d_ExtendedFields = ExtendedFields;\n    type formsV4SubmissionSubmissions_universal_d_OrderDetails = OrderDetails;\n    type formsV4SubmissionSubmissions_universal_d_CreateSubmissionRequest = CreateSubmissionRequest;\n    type formsV4SubmissionSubmissions_universal_d_CreateSubmissionResponse = CreateSubmissionResponse;\n    type formsV4SubmissionSubmissions_universal_d_CreateSubmissionBySubmitterRequest = CreateSubmissionBySubmitterRequest;\n    type formsV4SubmissionSubmissions_universal_d_CreateSubmissionBySubmitterResponse = CreateSubmissionBySubmitterResponse;\n    type formsV4SubmissionSubmissions_universal_d_BulkCreateSubmissionBySubmitterRequest = BulkCreateSubmissionBySubmitterRequest;\n    type formsV4SubmissionSubmissions_universal_d_BulkCreateSubmissionBySubmitterData = BulkCreateSubmissionBySubmitterData;\n    type formsV4SubmissionSubmissions_universal_d_BulkCreateSubmissionBySubmitterResponse = BulkCreateSubmissionBySubmitterResponse;\n    type formsV4SubmissionSubmissions_universal_d_BulkSubmissionResult = BulkSubmissionResult;\n    type formsV4SubmissionSubmissions_universal_d_ItemMetadata = ItemMetadata;\n    type formsV4SubmissionSubmissions_universal_d_ApplicationError = ApplicationError;\n    type formsV4SubmissionSubmissions_universal_d_BulkActionMetadata = BulkActionMetadata;\n    type formsV4SubmissionSubmissions_universal_d_GetSubmissionRequest = GetSubmissionRequest;\n    type formsV4SubmissionSubmissions_universal_d_GetSubmissionResponse = GetSubmissionResponse;\n    type formsV4SubmissionSubmissions_universal_d_GetSubmissionByCheckoutIdRequest = GetSubmissionByCheckoutIdRequest;\n    type formsV4SubmissionSubmissions_universal_d_GetSubmissionByCheckoutIdResponse = GetSubmissionByCheckoutIdResponse;\n    type formsV4SubmissionSubmissions_universal_d_UpdateSubmissionRequest = UpdateSubmissionRequest;\n    type formsV4SubmissionSubmissions_universal_d_UpdateSubmissionResponse = UpdateSubmissionResponse;\n    type formsV4SubmissionSubmissions_universal_d_ConfirmSubmissionRequest = ConfirmSubmissionRequest;\n    type formsV4SubmissionSubmissions_universal_d_ConfirmSubmissionResponse = ConfirmSubmissionResponse;\n    type formsV4SubmissionSubmissions_universal_d_FormSubmissionStatusUpdatedEvent = FormSubmissionStatusUpdatedEvent;\n    type formsV4SubmissionSubmissions_universal_d_DeleteSubmissionRequest = DeleteSubmissionRequest;\n    type formsV4SubmissionSubmissions_universal_d_DeleteSubmissionResponse = DeleteSubmissionResponse;\n    type formsV4SubmissionSubmissions_universal_d_BulkDeleteSubmissionRequest = BulkDeleteSubmissionRequest;\n    type formsV4SubmissionSubmissions_universal_d_BulkDeleteSubmissionResponse = BulkDeleteSubmissionResponse;\n    type formsV4SubmissionSubmissions_universal_d_BulkDeleteSubmissionResult = BulkDeleteSubmissionResult;\n    type formsV4SubmissionSubmissions_universal_d_RestoreSubmissionFromTrashBinRequest = RestoreSubmissionFromTrashBinRequest;\n    type formsV4SubmissionSubmissions_universal_d_RestoreSubmissionFromTrashBinResponse = RestoreSubmissionFromTrashBinResponse;\n    type formsV4SubmissionSubmissions_universal_d_RemoveSubmissionFromTrashBinRequest = RemoveSubmissionFromTrashBinRequest;\n    type formsV4SubmissionSubmissions_universal_d_RemoveSubmissionFromTrashBinResponse = RemoveSubmissionFromTrashBinResponse;\n    type formsV4SubmissionSubmissions_universal_d_RemovedSubmissionFromTrash = RemovedSubmissionFromTrash;\n    type formsV4SubmissionSubmissions_universal_d_BulkRemoveSubmissionFromTrashBinRequest = BulkRemoveSubmissionFromTrashBinRequest;\n    type formsV4SubmissionSubmissions_universal_d_BulkRemoveSubmissionFromTrashBinResponse = BulkRemoveSubmissionFromTrashBinResponse;\n    type formsV4SubmissionSubmissions_universal_d_BulkRemoveSubmissionFromTrashBinResult = BulkRemoveSubmissionFromTrashBinResult;\n    type formsV4SubmissionSubmissions_universal_d_ListDeletedSubmissionsRequest = ListDeletedSubmissionsRequest;\n    type formsV4SubmissionSubmissions_universal_d_CursorPaging = CursorPaging;\n    type formsV4SubmissionSubmissions_universal_d_ListDeletedSubmissionsResponse = ListDeletedSubmissionsResponse;\n    type formsV4SubmissionSubmissions_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n    type formsV4SubmissionSubmissions_universal_d_Cursors = Cursors;\n    type formsV4SubmissionSubmissions_universal_d_GetDeletedSubmissionRequest = GetDeletedSubmissionRequest;\n    type formsV4SubmissionSubmissions_universal_d_GetDeletedSubmissionResponse = GetDeletedSubmissionResponse;\n    type formsV4SubmissionSubmissions_universal_d_QuerySubmissionRequest = QuerySubmissionRequest;\n    type formsV4SubmissionSubmissions_universal_d_CursorQuery = CursorQuery;\n    type formsV4SubmissionSubmissions_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n    type formsV4SubmissionSubmissions_universal_d_Sorting = Sorting;\n    type formsV4SubmissionSubmissions_universal_d_SortOrder = SortOrder;\n    const formsV4SubmissionSubmissions_universal_d_SortOrder: typeof SortOrder;\n    type formsV4SubmissionSubmissions_universal_d_QuerySubmissionResponse = QuerySubmissionResponse;\n    type formsV4SubmissionSubmissions_universal_d_SearchSubmissionsByNamespaceRequest = SearchSubmissionsByNamespaceRequest;\n    type formsV4SubmissionSubmissions_universal_d_CursorSearch = CursorSearch;\n    type formsV4SubmissionSubmissions_universal_d_CursorSearchPagingMethodOneOf = CursorSearchPagingMethodOneOf;\n    type formsV4SubmissionSubmissions_universal_d_SearchDetails = SearchDetails;\n    type formsV4SubmissionSubmissions_universal_d_Mode = Mode;\n    const formsV4SubmissionSubmissions_universal_d_Mode: typeof Mode;\n    type formsV4SubmissionSubmissions_universal_d_SearchSubmissionsByNamespaceResponse = SearchSubmissionsByNamespaceResponse;\n    type formsV4SubmissionSubmissions_universal_d_SearchSubmissionsByNamespaceForExportRequest = SearchSubmissionsByNamespaceForExportRequest;\n    type formsV4SubmissionSubmissions_universal_d_SearchSubmissionsByNamespaceForExportResponse = SearchSubmissionsByNamespaceForExportResponse;\n    type formsV4SubmissionSubmissions_universal_d_QuerySubmissionsByNamespaceRequest = QuerySubmissionsByNamespaceRequest;\n    type formsV4SubmissionSubmissions_universal_d_QuerySubmissionsByNamespaceResponse = QuerySubmissionsByNamespaceResponse;\n    type formsV4SubmissionSubmissions_universal_d_QuerySubmissionsByNamespaceForExportRequest = QuerySubmissionsByNamespaceForExportRequest;\n    type formsV4SubmissionSubmissions_universal_d_QuerySubmissionsByNamespaceForExportResponse = QuerySubmissionsByNamespaceForExportResponse;\n    type formsV4SubmissionSubmissions_universal_d_CountSubmissionsByFilterRequest = CountSubmissionsByFilterRequest;\n    type formsV4SubmissionSubmissions_universal_d_CountSubmissionsByFilterResponse = CountSubmissionsByFilterResponse;\n    type formsV4SubmissionSubmissions_universal_d_FormSubmissionsCount = FormSubmissionsCount;\n    type formsV4SubmissionSubmissions_universal_d_CountSubmissionsRequest = CountSubmissionsRequest;\n    type formsV4SubmissionSubmissions_universal_d_CountSubmissionsResponse = CountSubmissionsResponse;\n    type formsV4SubmissionSubmissions_universal_d_CountDeletedSubmissionsRequest = CountDeletedSubmissionsRequest;\n    type formsV4SubmissionSubmissions_universal_d_CountDeletedSubmissionsResponse = CountDeletedSubmissionsResponse;\n    type formsV4SubmissionSubmissions_universal_d_FormDeletedSubmissionsCount = FormDeletedSubmissionsCount;\n    type formsV4SubmissionSubmissions_universal_d_GetMediaUploadURLRequest = GetMediaUploadURLRequest;\n    type formsV4SubmissionSubmissions_universal_d_GetMediaUploadURLResponse = GetMediaUploadURLResponse;\n    type formsV4SubmissionSubmissions_universal_d_BulkMarkSubmissionsAsSeenRequest = BulkMarkSubmissionsAsSeenRequest;\n    type formsV4SubmissionSubmissions_universal_d_BulkMarkSubmissionsAsSeenResponse = BulkMarkSubmissionsAsSeenResponse;\n    type formsV4SubmissionSubmissions_universal_d_DomainEvent = DomainEvent;\n    type formsV4SubmissionSubmissions_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n    type formsV4SubmissionSubmissions_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n    type formsV4SubmissionSubmissions_universal_d_RestoreInfo = RestoreInfo;\n    type formsV4SubmissionSubmissions_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n    type formsV4SubmissionSubmissions_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n    type formsV4SubmissionSubmissions_universal_d_ActionEvent = ActionEvent;\n    type formsV4SubmissionSubmissions_universal_d_Empty = Empty;\n    type formsV4SubmissionSubmissions_universal_d_MessageEnvelope = MessageEnvelope;\n    type formsV4SubmissionSubmissions_universal_d_IdentificationData = IdentificationData;\n    type formsV4SubmissionSubmissions_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n    type formsV4SubmissionSubmissions_universal_d_WebhookIdentityType = WebhookIdentityType;\n    const formsV4SubmissionSubmissions_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n    type formsV4SubmissionSubmissions_universal_d_UpsertContactFromSubmissionRequest = UpsertContactFromSubmissionRequest;\n    type formsV4SubmissionSubmissions_universal_d_UpsertContactFromSubmissionResponse = UpsertContactFromSubmissionResponse;\n    type formsV4SubmissionSubmissions_universal_d_SubmitContactResponse = SubmitContactResponse;\n    type formsV4SubmissionSubmissions_universal_d_IdentityType = IdentityType;\n    const formsV4SubmissionSubmissions_universal_d_IdentityType: typeof IdentityType;\n    type formsV4SubmissionSubmissions_universal_d_SubmissionContactMapped = SubmissionContactMapped;\n    type formsV4SubmissionSubmissions_universal_d_MarketingSubscriptionDetails = MarketingSubscriptionDetails;\n    type formsV4SubmissionSubmissions_universal_d_OptInLevel = OptInLevel;\n    const formsV4SubmissionSubmissions_universal_d_OptInLevel: typeof OptInLevel;\n    type formsV4SubmissionSubmissions_universal_d_SubmissionContactMappingSkipped = SubmissionContactMappingSkipped;\n    const formsV4SubmissionSubmissions_universal_d_createSubmission: typeof createSubmission;\n    type formsV4SubmissionSubmissions_universal_d_CreateSubmissionOptions = CreateSubmissionOptions;\n    type formsV4SubmissionSubmissions_universal_d_CreateSubmissionBySubmitterOptions = CreateSubmissionBySubmitterOptions;\n    const formsV4SubmissionSubmissions_universal_d_bulkCreateSubmissionBySubmitter: typeof bulkCreateSubmissionBySubmitter;\n    type formsV4SubmissionSubmissions_universal_d_BulkCreateSubmissionBySubmitterOptions = BulkCreateSubmissionBySubmitterOptions;\n    const formsV4SubmissionSubmissions_universal_d_getSubmission: typeof getSubmission;\n    const formsV4SubmissionSubmissions_universal_d_updateSubmission: typeof updateSubmission;\n    type formsV4SubmissionSubmissions_universal_d_UpdateSubmission = UpdateSubmission;\n    type formsV4SubmissionSubmissions_universal_d_UpdateSubmissionOptions = UpdateSubmissionOptions;\n    const formsV4SubmissionSubmissions_universal_d_confirmSubmission: typeof confirmSubmission;\n    const formsV4SubmissionSubmissions_universal_d_deleteSubmission: typeof deleteSubmission;\n    type formsV4SubmissionSubmissions_universal_d_DeleteSubmissionOptions = DeleteSubmissionOptions;\n    const formsV4SubmissionSubmissions_universal_d_bulkDeleteSubmission: typeof bulkDeleteSubmission;\n    type formsV4SubmissionSubmissions_universal_d_BulkDeleteSubmissionOptions = BulkDeleteSubmissionOptions;\n    const formsV4SubmissionSubmissions_universal_d_restoreSubmissionFromTrashBin: typeof restoreSubmissionFromTrashBin;\n    const formsV4SubmissionSubmissions_universal_d_removeSubmissionFromTrashBin: typeof removeSubmissionFromTrashBin;\n    const formsV4SubmissionSubmissions_universal_d_bulkRemoveSubmissionFromTrashBin: typeof bulkRemoveSubmissionFromTrashBin;\n    type formsV4SubmissionSubmissions_universal_d_BulkRemoveSubmissionFromTrashBinOptions = BulkRemoveSubmissionFromTrashBinOptions;\n    const formsV4SubmissionSubmissions_universal_d_listDeletedSubmissions: typeof listDeletedSubmissions;\n    type formsV4SubmissionSubmissions_universal_d_ListDeletedSubmissionsOptions = ListDeletedSubmissionsOptions;\n    const formsV4SubmissionSubmissions_universal_d_getDeletedSubmission: typeof getDeletedSubmission;\n    const formsV4SubmissionSubmissions_universal_d_querySubmission: typeof querySubmission;\n    type formsV4SubmissionSubmissions_universal_d_QuerySubmissionOptions = QuerySubmissionOptions;\n    const formsV4SubmissionSubmissions_universal_d_searchSubmissionsByNamespace: typeof searchSubmissionsByNamespace;\n    const formsV4SubmissionSubmissions_universal_d_querySubmissionsByNamespace: typeof querySubmissionsByNamespace;\n    type formsV4SubmissionSubmissions_universal_d_QuerySubmissionsByNamespaceOptions = QuerySubmissionsByNamespaceOptions;\n    type formsV4SubmissionSubmissions_universal_d_SubmissionsQueryResult = SubmissionsQueryResult;\n    type formsV4SubmissionSubmissions_universal_d_SubmissionsQueryBuilder = SubmissionsQueryBuilder;\n    const formsV4SubmissionSubmissions_universal_d_countSubmissionsByFilter: typeof countSubmissionsByFilter;\n    type formsV4SubmissionSubmissions_universal_d_CountSubmissionsByFilterOptions = CountSubmissionsByFilterOptions;\n    const formsV4SubmissionSubmissions_universal_d_countSubmissions: typeof countSubmissions;\n    type formsV4SubmissionSubmissions_universal_d_CountSubmissionsOptions = CountSubmissionsOptions;\n    const formsV4SubmissionSubmissions_universal_d_countDeletedSubmissions: typeof countDeletedSubmissions;\n    type formsV4SubmissionSubmissions_universal_d_CountDeletedSubmissionsOptions = CountDeletedSubmissionsOptions;\n    const formsV4SubmissionSubmissions_universal_d_getMediaUploadUrl: typeof getMediaUploadUrl;\n    const formsV4SubmissionSubmissions_universal_d_bulkMarkSubmissionsAsSeen: typeof bulkMarkSubmissionsAsSeen;\n    const formsV4SubmissionSubmissions_universal_d_upsertContactFromSubmission: typeof upsertContactFromSubmission;\n    type formsV4SubmissionSubmissions_universal_d_UpsertContactFromSubmissionOptions = UpsertContactFromSubmissionOptions;\n    namespace formsV4SubmissionSubmissions_universal_d {\n        export { formsV4SubmissionSubmissions_universal_d_FormSubmission as FormSubmission, formsV4SubmissionSubmissions_universal_d_SubmissionStatus as SubmissionStatus, formsV4SubmissionSubmissions_universal_d_Submitter as Submitter, formsV4SubmissionSubmissions_universal_d_SubmitterSubmitterOneOf as SubmitterSubmitterOneOf, formsV4SubmissionSubmissions_universal_d_ExtendedFields as ExtendedFields, formsV4SubmissionSubmissions_universal_d_OrderDetails as OrderDetails, formsV4SubmissionSubmissions_universal_d_CreateSubmissionRequest as CreateSubmissionRequest, formsV4SubmissionSubmissions_universal_d_CreateSubmissionResponse as CreateSubmissionResponse, formsV4SubmissionSubmissions_universal_d_CreateSubmissionBySubmitterRequest as CreateSubmissionBySubmitterRequest, formsV4SubmissionSubmissions_universal_d_CreateSubmissionBySubmitterResponse as CreateSubmissionBySubmitterResponse, formsV4SubmissionSubmissions_universal_d_BulkCreateSubmissionBySubmitterRequest as BulkCreateSubmissionBySubmitterRequest, formsV4SubmissionSubmissions_universal_d_BulkCreateSubmissionBySubmitterData as BulkCreateSubmissionBySubmitterData, formsV4SubmissionSubmissions_universal_d_BulkCreateSubmissionBySubmitterResponse as BulkCreateSubmissionBySubmitterResponse, formsV4SubmissionSubmissions_universal_d_BulkSubmissionResult as BulkSubmissionResult, formsV4SubmissionSubmissions_universal_d_ItemMetadata as ItemMetadata, formsV4SubmissionSubmissions_universal_d_ApplicationError as ApplicationError, formsV4SubmissionSubmissions_universal_d_BulkActionMetadata as BulkActionMetadata, formsV4SubmissionSubmissions_universal_d_GetSubmissionRequest as GetSubmissionRequest, formsV4SubmissionSubmissions_universal_d_GetSubmissionResponse as GetSubmissionResponse, formsV4SubmissionSubmissions_universal_d_GetSubmissionByCheckoutIdRequest as GetSubmissionByCheckoutIdRequest, formsV4SubmissionSubmissions_universal_d_GetSubmissionByCheckoutIdResponse as GetSubmissionByCheckoutIdResponse, formsV4SubmissionSubmissions_universal_d_UpdateSubmissionRequest as UpdateSubmissionRequest, formsV4SubmissionSubmissions_universal_d_UpdateSubmissionResponse as UpdateSubmissionResponse, formsV4SubmissionSubmissions_universal_d_ConfirmSubmissionRequest as ConfirmSubmissionRequest, formsV4SubmissionSubmissions_universal_d_ConfirmSubmissionResponse as ConfirmSubmissionResponse, formsV4SubmissionSubmissions_universal_d_FormSubmissionStatusUpdatedEvent as FormSubmissionStatusUpdatedEvent, formsV4SubmissionSubmissions_universal_d_DeleteSubmissionRequest as DeleteSubmissionRequest, formsV4SubmissionSubmissions_universal_d_DeleteSubmissionResponse as DeleteSubmissionResponse, formsV4SubmissionSubmissions_universal_d_BulkDeleteSubmissionRequest as BulkDeleteSubmissionRequest, formsV4SubmissionSubmissions_universal_d_BulkDeleteSubmissionResponse as BulkDeleteSubmissionResponse, formsV4SubmissionSubmissions_universal_d_BulkDeleteSubmissionResult as BulkDeleteSubmissionResult, formsV4SubmissionSubmissions_universal_d_RestoreSubmissionFromTrashBinRequest as RestoreSubmissionFromTrashBinRequest, formsV4SubmissionSubmissions_universal_d_RestoreSubmissionFromTrashBinResponse as RestoreSubmissionFromTrashBinResponse, formsV4SubmissionSubmissions_universal_d_RemoveSubmissionFromTrashBinRequest as RemoveSubmissionFromTrashBinRequest, formsV4SubmissionSubmissions_universal_d_RemoveSubmissionFromTrashBinResponse as RemoveSubmissionFromTrashBinResponse, formsV4SubmissionSubmissions_universal_d_RemovedSubmissionFromTrash as RemovedSubmissionFromTrash, formsV4SubmissionSubmissions_universal_d_BulkRemoveSubmissionFromTrashBinRequest as BulkRemoveSubmissionFromTrashBinRequest, formsV4SubmissionSubmissions_universal_d_BulkRemoveSubmissionFromTrashBinResponse as BulkRemoveSubmissionFromTrashBinResponse, formsV4SubmissionSubmissions_universal_d_BulkRemoveSubmissionFromTrashBinResult as BulkRemoveSubmissionFromTrashBinResult, formsV4SubmissionSubmissions_universal_d_ListDeletedSubmissionsRequest as ListDeletedSubmissionsRequest, formsV4SubmissionSubmissions_universal_d_CursorPaging as CursorPaging, formsV4SubmissionSubmissions_universal_d_ListDeletedSubmissionsResponse as ListDeletedSubmissionsResponse, formsV4SubmissionSubmissions_universal_d_CursorPagingMetadata as CursorPagingMetadata, formsV4SubmissionSubmissions_universal_d_Cursors as Cursors, formsV4SubmissionSubmissions_universal_d_GetDeletedSubmissionRequest as GetDeletedSubmissionRequest, formsV4SubmissionSubmissions_universal_d_GetDeletedSubmissionResponse as GetDeletedSubmissionResponse, formsV4SubmissionSubmissions_universal_d_QuerySubmissionRequest as QuerySubmissionRequest, formsV4SubmissionSubmissions_universal_d_CursorQuery as CursorQuery, formsV4SubmissionSubmissions_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf, formsV4SubmissionSubmissions_universal_d_Sorting as Sorting, formsV4SubmissionSubmissions_universal_d_SortOrder as SortOrder, formsV4SubmissionSubmissions_universal_d_QuerySubmissionResponse as QuerySubmissionResponse, formsV4SubmissionSubmissions_universal_d_SearchSubmissionsByNamespaceRequest as SearchSubmissionsByNamespaceRequest, formsV4SubmissionSubmissions_universal_d_CursorSearch as CursorSearch, formsV4SubmissionSubmissions_universal_d_CursorSearchPagingMethodOneOf as CursorSearchPagingMethodOneOf, formsV4SubmissionSubmissions_universal_d_SearchDetails as SearchDetails, formsV4SubmissionSubmissions_universal_d_Mode as Mode, formsV4SubmissionSubmissions_universal_d_SearchSubmissionsByNamespaceResponse as SearchSubmissionsByNamespaceResponse, formsV4SubmissionSubmissions_universal_d_SearchSubmissionsByNamespaceForExportRequest as SearchSubmissionsByNamespaceForExportRequest, formsV4SubmissionSubmissions_universal_d_SearchSubmissionsByNamespaceForExportResponse as SearchSubmissionsByNamespaceForExportResponse, formsV4SubmissionSubmissions_universal_d_QuerySubmissionsByNamespaceRequest as QuerySubmissionsByNamespaceRequest, formsV4SubmissionSubmissions_universal_d_QuerySubmissionsByNamespaceResponse as QuerySubmissionsByNamespaceResponse, formsV4SubmissionSubmissions_universal_d_QuerySubmissionsByNamespaceForExportRequest as QuerySubmissionsByNamespaceForExportRequest, formsV4SubmissionSubmissions_universal_d_QuerySubmissionsByNamespaceForExportResponse as QuerySubmissionsByNamespaceForExportResponse, formsV4SubmissionSubmissions_universal_d_CountSubmissionsByFilterRequest as CountSubmissionsByFilterRequest, formsV4SubmissionSubmissions_universal_d_CountSubmissionsByFilterResponse as CountSubmissionsByFilterResponse, formsV4SubmissionSubmissions_universal_d_FormSubmissionsCount as FormSubmissionsCount, formsV4SubmissionSubmissions_universal_d_CountSubmissionsRequest as CountSubmissionsRequest, formsV4SubmissionSubmissions_universal_d_CountSubmissionsResponse as CountSubmissionsResponse, formsV4SubmissionSubmissions_universal_d_CountDeletedSubmissionsRequest as CountDeletedSubmissionsRequest, formsV4SubmissionSubmissions_universal_d_CountDeletedSubmissionsResponse as CountDeletedSubmissionsResponse, formsV4SubmissionSubmissions_universal_d_FormDeletedSubmissionsCount as FormDeletedSubmissionsCount, formsV4SubmissionSubmissions_universal_d_GetMediaUploadURLRequest as GetMediaUploadURLRequest, formsV4SubmissionSubmissions_universal_d_GetMediaUploadURLResponse as GetMediaUploadURLResponse, formsV4SubmissionSubmissions_universal_d_BulkMarkSubmissionsAsSeenRequest as BulkMarkSubmissionsAsSeenRequest, formsV4SubmissionSubmissions_universal_d_BulkMarkSubmissionsAsSeenResponse as BulkMarkSubmissionsAsSeenResponse, formsV4SubmissionSubmissions_universal_d_DomainEvent as DomainEvent, formsV4SubmissionSubmissions_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf, formsV4SubmissionSubmissions_universal_d_EntityCreatedEvent as EntityCreatedEvent, formsV4SubmissionSubmissions_universal_d_RestoreInfo as RestoreInfo, formsV4SubmissionSubmissions_universal_d_EntityUpdatedEvent as EntityUpdatedEvent, formsV4SubmissionSubmissions_universal_d_EntityDeletedEvent as EntityDeletedEvent, formsV4SubmissionSubmissions_universal_d_ActionEvent as ActionEvent, formsV4SubmissionSubmissions_universal_d_Empty as Empty, formsV4SubmissionSubmissions_universal_d_MessageEnvelope as MessageEnvelope, formsV4SubmissionSubmissions_universal_d_IdentificationData as IdentificationData, formsV4SubmissionSubmissions_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf, formsV4SubmissionSubmissions_universal_d_WebhookIdentityType as WebhookIdentityType, formsV4SubmissionSubmissions_universal_d_UpsertContactFromSubmissionRequest as UpsertContactFromSubmissionRequest, formsV4SubmissionSubmissions_universal_d_UpsertContactFromSubmissionResponse as UpsertContactFromSubmissionResponse, formsV4SubmissionSubmissions_universal_d_SubmitContactResponse as SubmitContactResponse, formsV4SubmissionSubmissions_universal_d_IdentityType as IdentityType, formsV4SubmissionSubmissions_universal_d_SubmissionContactMapped as SubmissionContactMapped, formsV4SubmissionSubmissions_universal_d_MarketingSubscriptionDetails as MarketingSubscriptionDetails, formsV4SubmissionSubmissions_universal_d_OptInLevel as OptInLevel, formsV4SubmissionSubmissions_universal_d_SubmissionContactMappingSkipped as SubmissionContactMappingSkipped, formsV4SubmissionSubmissions_universal_d_createSubmission as createSubmission, formsV4SubmissionSubmissions_universal_d_CreateSubmissionOptions as CreateSubmissionOptions, formsV4SubmissionSubmissions_universal_d_CreateSubmissionBySubmitterOptions as CreateSubmissionBySubmitterOptions, formsV4SubmissionSubmissions_universal_d_bulkCreateSubmissionBySubmitter as bulkCreateSubmissionBySubmitter, formsV4SubmissionSubmissions_universal_d_BulkCreateSubmissionBySubmitterOptions as BulkCreateSubmissionBySubmitterOptions, formsV4SubmissionSubmissions_universal_d_getSubmission as getSubmission, formsV4SubmissionSubmissions_universal_d_updateSubmission as updateSubmission, formsV4SubmissionSubmissions_universal_d_UpdateSubmission as UpdateSubmission, formsV4SubmissionSubmissions_universal_d_UpdateSubmissionOptions as UpdateSubmissionOptions, formsV4SubmissionSubmissions_universal_d_confirmSubmission as confirmSubmission, formsV4SubmissionSubmissions_universal_d_deleteSubmission as deleteSubmission, formsV4SubmissionSubmissions_universal_d_DeleteSubmissionOptions as DeleteSubmissionOptions, formsV4SubmissionSubmissions_universal_d_bulkDeleteSubmission as bulkDeleteSubmission, formsV4SubmissionSubmissions_universal_d_BulkDeleteSubmissionOptions as BulkDeleteSubmissionOptions, formsV4SubmissionSubmissions_universal_d_restoreSubmissionFromTrashBin as restoreSubmissionFromTrashBin, formsV4SubmissionSubmissions_universal_d_removeSubmissionFromTrashBin as removeSubmissionFromTrashBin, formsV4SubmissionSubmissions_universal_d_bulkRemoveSubmissionFromTrashBin as bulkRemoveSubmissionFromTrashBin, formsV4SubmissionSubmissions_universal_d_BulkRemoveSubmissionFromTrashBinOptions as BulkRemoveSubmissionFromTrashBinOptions, formsV4SubmissionSubmissions_universal_d_listDeletedSubmissions as listDeletedSubmissions, formsV4SubmissionSubmissions_universal_d_ListDeletedSubmissionsOptions as ListDeletedSubmissionsOptions, formsV4SubmissionSubmissions_universal_d_getDeletedSubmission as getDeletedSubmission, formsV4SubmissionSubmissions_universal_d_querySubmission as querySubmission, formsV4SubmissionSubmissions_universal_d_QuerySubmissionOptions as QuerySubmissionOptions, formsV4SubmissionSubmissions_universal_d_searchSubmissionsByNamespace as searchSubmissionsByNamespace, formsV4SubmissionSubmissions_universal_d_querySubmissionsByNamespace as querySubmissionsByNamespace, formsV4SubmissionSubmissions_universal_d_QuerySubmissionsByNamespaceOptions as QuerySubmissionsByNamespaceOptions, formsV4SubmissionSubmissions_universal_d_SubmissionsQueryResult as SubmissionsQueryResult, formsV4SubmissionSubmissions_universal_d_SubmissionsQueryBuilder as SubmissionsQueryBuilder, formsV4SubmissionSubmissions_universal_d_countSubmissionsByFilter as countSubmissionsByFilter, formsV4SubmissionSubmissions_universal_d_CountSubmissionsByFilterOptions as CountSubmissionsByFilterOptions, formsV4SubmissionSubmissions_universal_d_countSubmissions as countSubmissions, formsV4SubmissionSubmissions_universal_d_CountSubmissionsOptions as CountSubmissionsOptions, formsV4SubmissionSubmissions_universal_d_countDeletedSubmissions as countDeletedSubmissions, formsV4SubmissionSubmissions_universal_d_CountDeletedSubmissionsOptions as CountDeletedSubmissionsOptions, formsV4SubmissionSubmissions_universal_d_getMediaUploadUrl as getMediaUploadUrl, formsV4SubmissionSubmissions_universal_d_bulkMarkSubmissionsAsSeen as bulkMarkSubmissionsAsSeen, formsV4SubmissionSubmissions_universal_d_upsertContactFromSubmission as upsertContactFromSubmission, formsV4SubmissionSubmissions_universal_d_UpsertContactFromSubmissionOptions as UpsertContactFromSubmissionOptions, };\n    }\n    export { formsV4SubmissionSubmissions_universal_d as submissions };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-restaurants.v2.d.ts",
      "content": "declare module \"wix-restaurants.v2\" {\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;\n        /**\n         * Date and time the item variant was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\n        /** Item variant name. */\n        name?: string | null;\n        /** Extended fields. */\n        extendedFields?: ExtendedFields$7;\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$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    }\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 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$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 ListVariantsResponse {\n        /** The retrieved item variants. */\n        variants?: Variant[];\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 UpdateVariantRequest {\n        /** Item variant to update. */\n        variant: Variant;\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$8;\n    }\n    interface BulkVariantResult {\n        /** Metadata for creation of item variants. */\n        itemMetadata?: ItemMetadata$8;\n        /** Created item variants. Only returned if the `returnEntity` value is `true`. */\n        variant?: Variant;\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 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    interface BulkUpdateVariantsResponse {\n        /** Information about the updated item variants. */\n        results?: BulkVariantResult[];\n        /** Metadata for the API call. */\n        bulkActionMetadata?: BulkActionMetadata$8;\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$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$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$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$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    enum SortOrder$a {\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$a;\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$8;\n    }\n    interface BulkDeleteVariantsResult {\n        /** Metadata for variants deletion. */\n        itemMetadata?: ItemMetadata$8;\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;\n        /**\n         * Whether the event was triggered as a result of a privacy regulation application\n         * (for example, GDPR).\n         */\n        triggeredByAnonymizeRequest?: boolean | null;\n        /** If present, indicates the action that triggered the event. */\n        originatedFrom?: string | null;\n        /**\n         * A sequence number defining the order of updates to the underlying entity.\n         * For example, given that some entity was updated at 16:00 and than again at 16:01,\n         * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n         * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n         * To do so, you will need to persist this number on your end, and compare the sequence number from the\n         * message against the one you have 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        /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n        restoreInfo?: RestoreInfo$9;\n    }\n    interface RestoreInfo$9 {\n        deletedDate?: Date;\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    interface EntityDeletedEvent$a {\n        /** Entity that was deleted */\n        deletedEntityAsJson?: string | null;\n    }\n    interface ActionEvent$a {\n        bodyAsJson?: string;\n    }\n    interface Empty$9 {\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     * > **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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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$a;\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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;\n        /**\n         * Date and time the item variant was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\n        /** Item variant name. */\n        name?: string | null;\n        /** Extended fields. */\n        extendedFields?: ExtendedFields$7;\n    }\n    interface UpdateVariantOptions {\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionId RESTAURANTS.VARIANT_READ\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function queryVariants(): VariantsQueryBuilder;\n    interface QueryCursorResult$a {\n        cursors: Cursors$a;\n        hasNext: () => boolean;\n        hasPrev: () => boolean;\n        length: number;\n        pageSize: number;\n    }\n    interface VariantsQueryResult extends QueryCursorResult$a {\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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     * > **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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function bulkDeleteVariants(ids: string[]): Promise<BulkDeleteVariantsResponse>;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_Variant = Variant;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_CreateVariantRequest = CreateVariantRequest;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_CreateVariantResponse = CreateVariantResponse;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_GetVariantRequest = GetVariantRequest;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_GetVariantResponse = GetVariantResponse;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_ListVariantsRequest = ListVariantsRequest;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_ListVariantsResponse = ListVariantsResponse;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_UpdateVariantRequest = UpdateVariantRequest;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_UpdateVariantResponse = UpdateVariantResponse;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_BulkCreateVariantsRequest = BulkCreateVariantsRequest;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_BulkCreateVariantsResponse = BulkCreateVariantsResponse;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_BulkVariantResult = BulkVariantResult;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_BulkUpdateVariantsRequest = BulkUpdateVariantsRequest;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_MaskedVariant = MaskedVariant;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_BulkUpdateVariantsResponse = BulkUpdateVariantsResponse;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_DeleteVariantRequest = DeleteVariantRequest;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_DeleteVariantResponse = DeleteVariantResponse;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_QueryVariantsRequest = QueryVariantsRequest;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_QueryVariantsResponse = QueryVariantsResponse;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_CountVariantsRequest = CountVariantsRequest;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_CountVariantsResponse = CountVariantsResponse;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_CloneVariantsRequest = CloneVariantsRequest;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_CloneVariantsResponse = CloneVariantsResponse;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_BulkDeleteVariantsRequest = BulkDeleteVariantsRequest;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_BulkDeleteVariantsResponse = BulkDeleteVariantsResponse;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_BulkDeleteVariantsResult = BulkDeleteVariantsResult;\n    const restaurantsMenusV1ItemVariantItemVariants_universal_d_createVariant: typeof createVariant;\n    const restaurantsMenusV1ItemVariantItemVariants_universal_d_getVariant: typeof getVariant;\n    const restaurantsMenusV1ItemVariantItemVariants_universal_d_listVariants: typeof listVariants;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_ListVariantsOptions = ListVariantsOptions;\n    const restaurantsMenusV1ItemVariantItemVariants_universal_d_updateVariant: typeof updateVariant;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_UpdateVariant = UpdateVariant;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_UpdateVariantOptions = UpdateVariantOptions;\n    const restaurantsMenusV1ItemVariantItemVariants_universal_d_bulkCreateVariants: typeof bulkCreateVariants;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_BulkCreateVariantsOptions = BulkCreateVariantsOptions;\n    const restaurantsMenusV1ItemVariantItemVariants_universal_d_bulkUpdateVariants: typeof bulkUpdateVariants;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_BulkUpdateVariantsOptions = BulkUpdateVariantsOptions;\n    const restaurantsMenusV1ItemVariantItemVariants_universal_d_deleteVariant: typeof deleteVariant;\n    const restaurantsMenusV1ItemVariantItemVariants_universal_d_queryVariants: typeof queryVariants;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_VariantsQueryResult = VariantsQueryResult;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_VariantsQueryBuilder = VariantsQueryBuilder;\n    const restaurantsMenusV1ItemVariantItemVariants_universal_d_countVariants: typeof countVariants;\n    type restaurantsMenusV1ItemVariantItemVariants_universal_d_CountVariantsOptions = CountVariantsOptions;\n    const restaurantsMenusV1ItemVariantItemVariants_universal_d_bulkDeleteVariants: typeof bulkDeleteVariants;\n    namespace restaurantsMenusV1ItemVariantItemVariants_universal_d {\n        export { restaurantsMenusV1ItemVariantItemVariants_universal_d_Variant as Variant, ExtendedFields$7 as ExtendedFields, InvalidateCache$9 as InvalidateCache, InvalidateCacheGetByOneOf$9 as InvalidateCacheGetByOneOf, App$9 as App, Page$9 as Page, URI$9 as URI, File$9 as File, restaurantsMenusV1ItemVariantItemVariants_universal_d_CreateVariantRequest as CreateVariantRequest, restaurantsMenusV1ItemVariantItemVariants_universal_d_CreateVariantResponse as CreateVariantResponse, restaurantsMenusV1ItemVariantItemVariants_universal_d_GetVariantRequest as GetVariantRequest, restaurantsMenusV1ItemVariantItemVariants_universal_d_GetVariantResponse as GetVariantResponse, restaurantsMenusV1ItemVariantItemVariants_universal_d_ListVariantsRequest as ListVariantsRequest, CursorPaging$a as CursorPaging, restaurantsMenusV1ItemVariantItemVariants_universal_d_ListVariantsResponse as ListVariantsResponse, CursorPagingMetadata$a as CursorPagingMetadata, Cursors$a as Cursors, restaurantsMenusV1ItemVariantItemVariants_universal_d_UpdateVariantRequest as UpdateVariantRequest, restaurantsMenusV1ItemVariantItemVariants_universal_d_UpdateVariantResponse as UpdateVariantResponse, restaurantsMenusV1ItemVariantItemVariants_universal_d_BulkCreateVariantsRequest as BulkCreateVariantsRequest, restaurantsMenusV1ItemVariantItemVariants_universal_d_BulkCreateVariantsResponse as BulkCreateVariantsResponse, restaurantsMenusV1ItemVariantItemVariants_universal_d_BulkVariantResult as BulkVariantResult, ItemMetadata$8 as ItemMetadata, ApplicationError$8 as ApplicationError, BulkActionMetadata$8 as BulkActionMetadata, restaurantsMenusV1ItemVariantItemVariants_universal_d_BulkUpdateVariantsRequest as BulkUpdateVariantsRequest, restaurantsMenusV1ItemVariantItemVariants_universal_d_MaskedVariant as MaskedVariant, restaurantsMenusV1ItemVariantItemVariants_universal_d_BulkUpdateVariantsResponse as BulkUpdateVariantsResponse, restaurantsMenusV1ItemVariantItemVariants_universal_d_DeleteVariantRequest as DeleteVariantRequest, restaurantsMenusV1ItemVariantItemVariants_universal_d_DeleteVariantResponse as DeleteVariantResponse, restaurantsMenusV1ItemVariantItemVariants_universal_d_QueryVariantsRequest as QueryVariantsRequest, CursorQuery$a as CursorQuery, CursorQueryPagingMethodOneOf$a as CursorQueryPagingMethodOneOf, Sorting$a as Sorting, SortOrder$a as SortOrder, restaurantsMenusV1ItemVariantItemVariants_universal_d_QueryVariantsResponse as QueryVariantsResponse, restaurantsMenusV1ItemVariantItemVariants_universal_d_CountVariantsRequest as CountVariantsRequest, restaurantsMenusV1ItemVariantItemVariants_universal_d_CountVariantsResponse as CountVariantsResponse, restaurantsMenusV1ItemVariantItemVariants_universal_d_CloneVariantsRequest as CloneVariantsRequest, restaurantsMenusV1ItemVariantItemVariants_universal_d_CloneVariantsResponse as CloneVariantsResponse, restaurantsMenusV1ItemVariantItemVariants_universal_d_BulkDeleteVariantsRequest as BulkDeleteVariantsRequest, restaurantsMenusV1ItemVariantItemVariants_universal_d_BulkDeleteVariantsResponse as BulkDeleteVariantsResponse, restaurantsMenusV1ItemVariantItemVariants_universal_d_BulkDeleteVariantsResult as BulkDeleteVariantsResult, DomainEvent$a as DomainEvent, DomainEventBodyOneOf$a as DomainEventBodyOneOf, EntityCreatedEvent$a as EntityCreatedEvent, RestoreInfo$9 as RestoreInfo, EntityUpdatedEvent$a as EntityUpdatedEvent, EntityDeletedEvent$a as EntityDeletedEvent, ActionEvent$a as ActionEvent, Empty$9 as Empty, MessageEnvelope$a as MessageEnvelope, IdentificationData$a as IdentificationData, IdentificationDataIdOneOf$a as IdentificationDataIdOneOf, WebhookIdentityType$a as WebhookIdentityType, restaurantsMenusV1ItemVariantItemVariants_universal_d_createVariant as createVariant, restaurantsMenusV1ItemVariantItemVariants_universal_d_getVariant as getVariant, restaurantsMenusV1ItemVariantItemVariants_universal_d_listVariants as listVariants, restaurantsMenusV1ItemVariantItemVariants_universal_d_ListVariantsOptions as ListVariantsOptions, restaurantsMenusV1ItemVariantItemVariants_universal_d_updateVariant as updateVariant, restaurantsMenusV1ItemVariantItemVariants_universal_d_UpdateVariant as UpdateVariant, restaurantsMenusV1ItemVariantItemVariants_universal_d_UpdateVariantOptions as UpdateVariantOptions, restaurantsMenusV1ItemVariantItemVariants_universal_d_bulkCreateVariants as bulkCreateVariants, restaurantsMenusV1ItemVariantItemVariants_universal_d_BulkCreateVariantsOptions as BulkCreateVariantsOptions, restaurantsMenusV1ItemVariantItemVariants_universal_d_bulkUpdateVariants as bulkUpdateVariants, restaurantsMenusV1ItemVariantItemVariants_universal_d_BulkUpdateVariantsOptions as BulkUpdateVariantsOptions, restaurantsMenusV1ItemVariantItemVariants_universal_d_deleteVariant as deleteVariant, restaurantsMenusV1ItemVariantItemVariants_universal_d_queryVariants as queryVariants, restaurantsMenusV1ItemVariantItemVariants_universal_d_VariantsQueryResult as VariantsQueryResult, restaurantsMenusV1ItemVariantItemVariants_universal_d_VariantsQueryBuilder as VariantsQueryBuilder, restaurantsMenusV1ItemVariantItemVariants_universal_d_countVariants as countVariants, restaurantsMenusV1ItemVariantItemVariants_universal_d_CountVariantsOptions as CountVariantsOptions, restaurantsMenusV1ItemVariantItemVariants_universal_d_bulkDeleteVariants as bulkDeleteVariants, };\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$1 {\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;\n        /**\n         * Date and time the item modifier was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\n        /** Item modifier display name. */\n        name?: string | null;\n        /** Extended fields. */\n        extendedFields?: ExtendedFields$6;\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 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    }\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 CreateModifierRequest {\n        /** Item modifier to create. */\n        modifier: Modifier$1;\n    }\n    interface CreateModifierResponse {\n        /** Created item modifier. */\n        modifier?: Modifier$1;\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$1;\n    }\n    interface ListModifiersRequest {\n        /** IDs of the item modifiers to retrieve. */\n        modifierIds?: string[];\n        /** Metadata of the paginated results. */\n        paging?: CursorPaging$9;\n    }\n    interface CursorPaging$9 {\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$1[];\n        /** Metadata of the paginated results. */\n        metadata?: CursorPagingMetadata$9;\n    }\n    interface CursorPagingMetadata$9 {\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$9;\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$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 UpdateModifierRequest {\n        /** Item Modifier with updated properties. */\n        modifier: Modifier$1;\n    }\n    interface UpdateModifierResponse {\n        /** Updated item modifier. */\n        modifier?: Modifier$1;\n    }\n    interface BulkCreateModifiersRequest {\n        /** List of item modifiers to create. */\n        modifiers: Modifier$1[];\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$7;\n    }\n    interface BulkCreateModifierResult {\n        /** Metadata for creation of the item modifer. */\n        itemMetadata?: ItemMetadata$7;\n        /** Created item modifier. */\n        modifier?: Modifier$1;\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 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 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$1;\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$7;\n    }\n    interface BulkUpdateModifierResult {\n        /** Metadata for the update of the item modifer. */\n        itemMetadata?: ItemMetadata$7;\n        /** Updated item modifier. */\n        modifier?: Modifier$1;\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$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$9;\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$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$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    enum SortOrder$9 {\n        ASC = \"ASC\",\n        DESC = \"DESC\"\n    }\n    interface QueryModifiersResponse {\n        /** Retrieved item modifiers. */\n        modifiers?: Modifier$1[];\n        /** Metadata of the paginated results. */\n        pagingMetadata?: CursorPagingMetadata$9;\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$7;\n    }\n    interface BulkDeleteModifiersResult {\n        /** Metadata for modifiers deletion. */\n        itemMetadata?: ItemMetadata$7;\n    }\n    interface CloneModifiersRequest {\n        /** The MetaSiteId to clone from */\n        metaSiteId: string;\n    }\n    interface CloneModifiersResponse {\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;\n        /**\n         * Whether the event was triggered as a result of a privacy regulation application\n         * (for example, GDPR).\n         */\n        triggeredByAnonymizeRequest?: boolean | null;\n        /** If present, indicates the action that triggered the event. */\n        originatedFrom?: string | null;\n        /**\n         * A sequence number defining the order of updates to the underlying entity.\n         * For example, given that some entity was updated at 16:00 and than again at 16:01,\n         * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n         * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n         * To do so, you will need to persist this number on your end, and compare the sequence number from the\n         * message against the one you have 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        /** 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;\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    interface EntityDeletedEvent$9 {\n        /** Entity that was deleted */\n        deletedEntityAsJson?: string | null;\n    }\n    interface ActionEvent$9 {\n        bodyAsJson?: string;\n    }\n    interface Empty$8 {\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     * > **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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Created item modifier.\n     */\n    function createModifier(modifier: Modifier$1): Promise<Modifier$1>;\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @returns Retrieved item modifier.\n     */\n    function getModifier(modifierId: string): Promise<Modifier$1>;\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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$9;\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Updated item modifier.\n     */\n    function updateModifier(_id: string | null, modifier: UpdateModifier, options?: UpdateModifierOptions): Promise<Modifier$1>;\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;\n        /**\n         * Date and time the item modifier was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\n        /** Item modifier display name. */\n        name?: string | null;\n        /** Extended fields. */\n        extendedFields?: ExtendedFields$6;\n    }\n    interface UpdateModifierOptions {\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function bulkCreateModifiers(modifiers: Modifier$1[], 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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionId RESTAURANTS.MODIFIER_READ\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function queryModifiers(): ModifiersQueryBuilder;\n    interface QueryCursorResult$9 {\n        cursors: Cursors$9;\n        hasNext: () => boolean;\n        hasPrev: () => boolean;\n        length: number;\n        pageSize: number;\n    }\n    interface ModifiersQueryResult extends QueryCursorResult$9 {\n        items: Modifier$1[];\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function bulkDeleteModifiers(ids: string[]): Promise<BulkDeleteModifiersResponse>;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_CreateModifierRequest = CreateModifierRequest;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_CreateModifierResponse = CreateModifierResponse;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_GetModifierRequest = GetModifierRequest;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_GetModifierResponse = GetModifierResponse;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_ListModifiersRequest = ListModifiersRequest;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_ListModifiersResponse = ListModifiersResponse;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_UpdateModifierRequest = UpdateModifierRequest;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_UpdateModifierResponse = UpdateModifierResponse;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_BulkCreateModifiersRequest = BulkCreateModifiersRequest;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_BulkCreateModifiersResponse = BulkCreateModifiersResponse;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_BulkCreateModifierResult = BulkCreateModifierResult;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_BulkUpdateModifiersRequest = BulkUpdateModifiersRequest;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_MaskedModifier = MaskedModifier;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_BulkUpdateModifiersResponse = BulkUpdateModifiersResponse;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_BulkUpdateModifierResult = BulkUpdateModifierResult;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_DeleteModifierRequest = DeleteModifierRequest;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_DeleteModifierResponse = DeleteModifierResponse;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_QueryModifiersRequest = QueryModifiersRequest;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_QueryModifiersResponse = QueryModifiersResponse;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_CountModifiersRequest = CountModifiersRequest;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_CountModifiersResponse = CountModifiersResponse;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_BulkDeleteModifiersRequest = BulkDeleteModifiersRequest;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_BulkDeleteModifiersResponse = BulkDeleteModifiersResponse;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_BulkDeleteModifiersResult = BulkDeleteModifiersResult;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_CloneModifiersRequest = CloneModifiersRequest;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_CloneModifiersResponse = CloneModifiersResponse;\n    const restaurantsMenusV1ItemModifierItemModifiers_universal_d_createModifier: typeof createModifier;\n    const restaurantsMenusV1ItemModifierItemModifiers_universal_d_getModifier: typeof getModifier;\n    const restaurantsMenusV1ItemModifierItemModifiers_universal_d_listModifiers: typeof listModifiers;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_ListModifiersOptions = ListModifiersOptions;\n    const restaurantsMenusV1ItemModifierItemModifiers_universal_d_updateModifier: typeof updateModifier;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_UpdateModifier = UpdateModifier;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_UpdateModifierOptions = UpdateModifierOptions;\n    const restaurantsMenusV1ItemModifierItemModifiers_universal_d_bulkCreateModifiers: typeof bulkCreateModifiers;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_BulkCreateModifiersOptions = BulkCreateModifiersOptions;\n    const restaurantsMenusV1ItemModifierItemModifiers_universal_d_bulkUpdateModifiers: typeof bulkUpdateModifiers;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_BulkUpdateModifiersOptions = BulkUpdateModifiersOptions;\n    const restaurantsMenusV1ItemModifierItemModifiers_universal_d_deleteModifier: typeof deleteModifier;\n    const restaurantsMenusV1ItemModifierItemModifiers_universal_d_queryModifiers: typeof queryModifiers;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_ModifiersQueryResult = ModifiersQueryResult;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_ModifiersQueryBuilder = ModifiersQueryBuilder;\n    const restaurantsMenusV1ItemModifierItemModifiers_universal_d_countModifiers: typeof countModifiers;\n    type restaurantsMenusV1ItemModifierItemModifiers_universal_d_CountModifiersOptions = CountModifiersOptions;\n    const restaurantsMenusV1ItemModifierItemModifiers_universal_d_bulkDeleteModifiers: typeof bulkDeleteModifiers;\n    namespace restaurantsMenusV1ItemModifierItemModifiers_universal_d {\n        export { Modifier$1 as Modifier, ExtendedFields$6 as ExtendedFields, InvalidateCache$8 as InvalidateCache, InvalidateCacheGetByOneOf$8 as InvalidateCacheGetByOneOf, App$8 as App, Page$8 as Page, URI$8 as URI, File$8 as File, restaurantsMenusV1ItemModifierItemModifiers_universal_d_CreateModifierRequest as CreateModifierRequest, restaurantsMenusV1ItemModifierItemModifiers_universal_d_CreateModifierResponse as CreateModifierResponse, restaurantsMenusV1ItemModifierItemModifiers_universal_d_GetModifierRequest as GetModifierRequest, restaurantsMenusV1ItemModifierItemModifiers_universal_d_GetModifierResponse as GetModifierResponse, restaurantsMenusV1ItemModifierItemModifiers_universal_d_ListModifiersRequest as ListModifiersRequest, CursorPaging$9 as CursorPaging, restaurantsMenusV1ItemModifierItemModifiers_universal_d_ListModifiersResponse as ListModifiersResponse, CursorPagingMetadata$9 as CursorPagingMetadata, Cursors$9 as Cursors, restaurantsMenusV1ItemModifierItemModifiers_universal_d_UpdateModifierRequest as UpdateModifierRequest, restaurantsMenusV1ItemModifierItemModifiers_universal_d_UpdateModifierResponse as UpdateModifierResponse, restaurantsMenusV1ItemModifierItemModifiers_universal_d_BulkCreateModifiersRequest as BulkCreateModifiersRequest, restaurantsMenusV1ItemModifierItemModifiers_universal_d_BulkCreateModifiersResponse as BulkCreateModifiersResponse, restaurantsMenusV1ItemModifierItemModifiers_universal_d_BulkCreateModifierResult as BulkCreateModifierResult, ItemMetadata$7 as ItemMetadata, ApplicationError$7 as ApplicationError, BulkActionMetadata$7 as BulkActionMetadata, restaurantsMenusV1ItemModifierItemModifiers_universal_d_BulkUpdateModifiersRequest as BulkUpdateModifiersRequest, restaurantsMenusV1ItemModifierItemModifiers_universal_d_MaskedModifier as MaskedModifier, restaurantsMenusV1ItemModifierItemModifiers_universal_d_BulkUpdateModifiersResponse as BulkUpdateModifiersResponse, restaurantsMenusV1ItemModifierItemModifiers_universal_d_BulkUpdateModifierResult as BulkUpdateModifierResult, restaurantsMenusV1ItemModifierItemModifiers_universal_d_DeleteModifierRequest as DeleteModifierRequest, restaurantsMenusV1ItemModifierItemModifiers_universal_d_DeleteModifierResponse as DeleteModifierResponse, restaurantsMenusV1ItemModifierItemModifiers_universal_d_QueryModifiersRequest as QueryModifiersRequest, CursorQuery$9 as CursorQuery, CursorQueryPagingMethodOneOf$9 as CursorQueryPagingMethodOneOf, Sorting$9 as Sorting, SortOrder$9 as SortOrder, restaurantsMenusV1ItemModifierItemModifiers_universal_d_QueryModifiersResponse as QueryModifiersResponse, restaurantsMenusV1ItemModifierItemModifiers_universal_d_CountModifiersRequest as CountModifiersRequest, restaurantsMenusV1ItemModifierItemModifiers_universal_d_CountModifiersResponse as CountModifiersResponse, restaurantsMenusV1ItemModifierItemModifiers_universal_d_BulkDeleteModifiersRequest as BulkDeleteModifiersRequest, restaurantsMenusV1ItemModifierItemModifiers_universal_d_BulkDeleteModifiersResponse as BulkDeleteModifiersResponse, restaurantsMenusV1ItemModifierItemModifiers_universal_d_BulkDeleteModifiersResult as BulkDeleteModifiersResult, restaurantsMenusV1ItemModifierItemModifiers_universal_d_CloneModifiersRequest as CloneModifiersRequest, restaurantsMenusV1ItemModifierItemModifiers_universal_d_CloneModifiersResponse as CloneModifiersResponse, DomainEvent$9 as DomainEvent, DomainEventBodyOneOf$9 as DomainEventBodyOneOf, EntityCreatedEvent$9 as EntityCreatedEvent, RestoreInfo$8 as RestoreInfo, EntityUpdatedEvent$9 as EntityUpdatedEvent, EntityDeletedEvent$9 as EntityDeletedEvent, ActionEvent$9 as ActionEvent, Empty$8 as Empty, MessageEnvelope$9 as MessageEnvelope, IdentificationData$9 as IdentificationData, IdentificationDataIdOneOf$9 as IdentificationDataIdOneOf, WebhookIdentityType$9 as WebhookIdentityType, restaurantsMenusV1ItemModifierItemModifiers_universal_d_createModifier as createModifier, restaurantsMenusV1ItemModifierItemModifiers_universal_d_getModifier as getModifier, restaurantsMenusV1ItemModifierItemModifiers_universal_d_listModifiers as listModifiers, restaurantsMenusV1ItemModifierItemModifiers_universal_d_ListModifiersOptions as ListModifiersOptions, restaurantsMenusV1ItemModifierItemModifiers_universal_d_updateModifier as updateModifier, restaurantsMenusV1ItemModifierItemModifiers_universal_d_UpdateModifier as UpdateModifier, restaurantsMenusV1ItemModifierItemModifiers_universal_d_UpdateModifierOptions as UpdateModifierOptions, restaurantsMenusV1ItemModifierItemModifiers_universal_d_bulkCreateModifiers as bulkCreateModifiers, restaurantsMenusV1ItemModifierItemModifiers_universal_d_BulkCreateModifiersOptions as BulkCreateModifiersOptions, restaurantsMenusV1ItemModifierItemModifiers_universal_d_bulkUpdateModifiers as bulkUpdateModifiers, restaurantsMenusV1ItemModifierItemModifiers_universal_d_BulkUpdateModifiersOptions as BulkUpdateModifiersOptions, restaurantsMenusV1ItemModifierItemModifiers_universal_d_deleteModifier as deleteModifier, restaurantsMenusV1ItemModifierItemModifiers_universal_d_queryModifiers as queryModifiers, restaurantsMenusV1ItemModifierItemModifiers_universal_d_ModifiersQueryResult as ModifiersQueryResult, restaurantsMenusV1ItemModifierItemModifiers_universal_d_ModifiersQueryBuilder as ModifiersQueryBuilder, restaurantsMenusV1ItemModifierItemModifiers_universal_d_countModifiers as countModifiers, restaurantsMenusV1ItemModifierItemModifiers_universal_d_CountModifiersOptions as CountModifiersOptions, restaurantsMenusV1ItemModifierItemModifiers_universal_d_bulkDeleteModifiers as bulkDeleteModifiers, };\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;\n        /**\n         * Date and time the menu was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\n        /** Menu name. */\n        name?: string;\n        /** Menu description. */\n        description?: string | null;\n        /** Is the menu visible to site visitors. */\n        visible?: boolean | null;\n        /** Menu section IDs. */\n        sectionIds?: string[];\n        /** Extended fields. */\n        extendedFields?: ExtendedFields$5;\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    }\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 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$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$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$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$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    enum SortOrder$8 {\n        ASC = \"ASC\",\n        DESC = \"DESC\"\n    }\n    interface CursorPaging$8 {\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$8;\n    }\n    interface CursorPagingMetadata$8 {\n        /** Number of items returned in the response. */\n        count?: number | null;\n        /** Offset that was requested. */\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         */\n        hasNext?: boolean | null;\n    }\n    interface Cursors$8 {\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$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    }\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 DeleteOrphanSections {\n        /** Menu id */\n        menuId?: string;\n    }\n    interface MenusDataCloningCompleted$1 {\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$6;\n    }\n    interface BulkCreateMenuResult {\n        /** Whether to receive the created menus in the response. */\n        menuMetadata?: ItemMetadata$6;\n        /** Created menu. */\n        menu?: Menu;\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 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$8;\n    }\n    interface ListMenusResponse {\n        /** Retrieved menus. */\n        menus?: Menu[];\n        /** The metadata of the paginated results. */\n        pagingMetadata?: CursorPagingMetadata$8;\n    }\n    interface QueryMenusRequest {\n        /** Query options. */\n        query?: CursorQuery$8;\n    }\n    interface QueryMenusResponse {\n        /** Retrieved menus. */\n        menus?: Menu[];\n        /** The metadata of the paginated results. */\n        pagingMetadata?: CursorPagingMetadata$8;\n    }\n    interface UpdateMenuRequest {\n        /** Menu to update. */\n        menu: Menu;\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    interface BulkUpdateMenuResponse {\n        /** Results of bulk menu update. */\n        results?: BulkMenuResult[];\n        /** Metadata for the API call. */\n        bulkActionMetadata?: BulkActionMetadata$6;\n    }\n    interface BulkMenuResult {\n        /** Metadata for menu update. */\n        menuMetadata?: ItemMetadata$6;\n        /** Updated menu. Only returned if `returnEntity` is set to `true`. */\n        menu?: Menu;\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        /** 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$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. */\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$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    interface UndeleteInfo {\n        deletedDate?: Date;\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    interface EntityDeletedEvent$8 {\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 Menus API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from [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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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 [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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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 [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n     *\n     * Retrieve a menu by ID.\n     * @param menuId - Menu ID.\n     * @public\n     * @documentationMaturity preview\n     * @requiredField menuId\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\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 [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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\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$8;\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionId RESTAURANTS.MENU_READ\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\n     */\n    function queryMenus(): MenusQueryBuilder;\n    interface QueryCursorResult$8 {\n        cursors: Cursors$8;\n        hasNext: () => boolean;\n        hasPrev: () => boolean;\n        length: number;\n        pageSize: number;\n    }\n    interface MenusQueryResult extends QueryCursorResult$8 {\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 [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, 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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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;\n        /**\n         * Date and time the menu was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\n        /** Menu name. */\n        name?: string;\n        /** Menu description. */\n        description?: string | null;\n        /** Is the menu visible to site visitors. */\n        visible?: boolean | null;\n        /** Menu section IDs. */\n        sectionIds?: string[];\n        /** Extended fields. */\n        extendedFields?: ExtendedFields$5;\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    }\n    interface UpdateMenuOptions {\n    }\n    /**\n     * > **Note:** The Menu API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from [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, 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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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 [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n     *\n     * Updates only the `extendedFields` field.\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$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     * > **Note:** The Menu API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from [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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function deleteMenu(menuId: string): Promise<void>;\n    type restaurantsMenusV1MenuMenus_universal_d_Menu = Menu;\n    type restaurantsMenusV1MenuMenus_universal_d_GetMenuSiteUrlRequest = GetMenuSiteUrlRequest;\n    type restaurantsMenusV1MenuMenus_universal_d_GetMenuSiteUrlResponse = GetMenuSiteUrlResponse;\n    type restaurantsMenusV1MenuMenus_universal_d_MenuSiteUrl = MenuSiteUrl;\n    type restaurantsMenusV1MenuMenus_universal_d_QueryMenusSiteUrlRequest = QueryMenusSiteUrlRequest;\n    type restaurantsMenusV1MenuMenus_universal_d_QueryMenusSiteUrlResponse = QueryMenusSiteUrlResponse;\n    type restaurantsMenusV1MenuMenus_universal_d_DeleteOrphanSections = DeleteOrphanSections;\n    type restaurantsMenusV1MenuMenus_universal_d_CreateMenuRequest = CreateMenuRequest;\n    type restaurantsMenusV1MenuMenus_universal_d_CreateMenuResponse = CreateMenuResponse;\n    type restaurantsMenusV1MenuMenus_universal_d_BulkCreateMenusRequest = BulkCreateMenusRequest;\n    type restaurantsMenusV1MenuMenus_universal_d_BulkCreateMenusResponse = BulkCreateMenusResponse;\n    type restaurantsMenusV1MenuMenus_universal_d_BulkCreateMenuResult = BulkCreateMenuResult;\n    type restaurantsMenusV1MenuMenus_universal_d_GetMenuRequest = GetMenuRequest;\n    type restaurantsMenusV1MenuMenus_universal_d_GetMenuResponse = GetMenuResponse;\n    type restaurantsMenusV1MenuMenus_universal_d_ListMenusRequest = ListMenusRequest;\n    type restaurantsMenusV1MenuMenus_universal_d_ListMenusResponse = ListMenusResponse;\n    type restaurantsMenusV1MenuMenus_universal_d_QueryMenusRequest = QueryMenusRequest;\n    type restaurantsMenusV1MenuMenus_universal_d_QueryMenusResponse = QueryMenusResponse;\n    type restaurantsMenusV1MenuMenus_universal_d_UpdateMenuRequest = UpdateMenuRequest;\n    type restaurantsMenusV1MenuMenus_universal_d_UpdateMenuResponse = UpdateMenuResponse;\n    type restaurantsMenusV1MenuMenus_universal_d_BulkUpdateMenuRequest = BulkUpdateMenuRequest;\n    type restaurantsMenusV1MenuMenus_universal_d_MaskedMenu = MaskedMenu;\n    type restaurantsMenusV1MenuMenus_universal_d_BulkUpdateMenuResponse = BulkUpdateMenuResponse;\n    type restaurantsMenusV1MenuMenus_universal_d_BulkMenuResult = BulkMenuResult;\n    type restaurantsMenusV1MenuMenus_universal_d_DeleteMenuRequest = DeleteMenuRequest;\n    type restaurantsMenusV1MenuMenus_universal_d_DeleteMenuResponse = DeleteMenuResponse;\n    type restaurantsMenusV1MenuMenus_universal_d_CloneMenusRequest = CloneMenusRequest;\n    type restaurantsMenusV1MenuMenus_universal_d_CloneMenusResponse = CloneMenusResponse;\n    type restaurantsMenusV1MenuMenus_universal_d_UndeleteInfo = UndeleteInfo;\n    const restaurantsMenusV1MenuMenus_universal_d_createMenu: typeof createMenu;\n    const restaurantsMenusV1MenuMenus_universal_d_bulkCreateMenus: typeof bulkCreateMenus;\n    type restaurantsMenusV1MenuMenus_universal_d_BulkCreateMenusOptions = BulkCreateMenusOptions;\n    const restaurantsMenusV1MenuMenus_universal_d_getMenu: typeof getMenu;\n    const restaurantsMenusV1MenuMenus_universal_d_listMenus: typeof listMenus;\n    type restaurantsMenusV1MenuMenus_universal_d_ListMenusOptions = ListMenusOptions;\n    const restaurantsMenusV1MenuMenus_universal_d_queryMenus: typeof queryMenus;\n    type restaurantsMenusV1MenuMenus_universal_d_MenusQueryResult = MenusQueryResult;\n    type restaurantsMenusV1MenuMenus_universal_d_MenusQueryBuilder = MenusQueryBuilder;\n    const restaurantsMenusV1MenuMenus_universal_d_updateMenu: typeof updateMenu;\n    type restaurantsMenusV1MenuMenus_universal_d_UpdateMenu = UpdateMenu;\n    type restaurantsMenusV1MenuMenus_universal_d_UpdateMenuOptions = UpdateMenuOptions;\n    const restaurantsMenusV1MenuMenus_universal_d_bulkUpdateMenu: typeof bulkUpdateMenu;\n    type restaurantsMenusV1MenuMenus_universal_d_BulkUpdateMenuOptions = BulkUpdateMenuOptions;\n    const restaurantsMenusV1MenuMenus_universal_d_deleteMenu: typeof deleteMenu;\n    namespace restaurantsMenusV1MenuMenus_universal_d {\n        export { restaurantsMenusV1MenuMenus_universal_d_Menu as Menu, ExtendedFields$5 as ExtendedFields, restaurantsMenusV1MenuMenus_universal_d_GetMenuSiteUrlRequest as GetMenuSiteUrlRequest, restaurantsMenusV1MenuMenus_universal_d_GetMenuSiteUrlResponse as GetMenuSiteUrlResponse, restaurantsMenusV1MenuMenus_universal_d_MenuSiteUrl as MenuSiteUrl, restaurantsMenusV1MenuMenus_universal_d_QueryMenusSiteUrlRequest as QueryMenusSiteUrlRequest, CursorQuery$8 as CursorQuery, CursorQueryPagingMethodOneOf$8 as CursorQueryPagingMethodOneOf, Sorting$8 as Sorting, SortOrder$8 as SortOrder, CursorPaging$8 as CursorPaging, restaurantsMenusV1MenuMenus_universal_d_QueryMenusSiteUrlResponse as QueryMenusSiteUrlResponse, CursorPagingMetadata$8 as CursorPagingMetadata, Cursors$8 as Cursors, InvalidateCache$7 as InvalidateCache, InvalidateCacheGetByOneOf$7 as InvalidateCacheGetByOneOf, App$7 as App, Page$7 as Page, URI$7 as URI, File$7 as File, restaurantsMenusV1MenuMenus_universal_d_DeleteOrphanSections as DeleteOrphanSections, MenusDataCloningCompleted$1 as MenusDataCloningCompleted, restaurantsMenusV1MenuMenus_universal_d_CreateMenuRequest as CreateMenuRequest, restaurantsMenusV1MenuMenus_universal_d_CreateMenuResponse as CreateMenuResponse, restaurantsMenusV1MenuMenus_universal_d_BulkCreateMenusRequest as BulkCreateMenusRequest, restaurantsMenusV1MenuMenus_universal_d_BulkCreateMenusResponse as BulkCreateMenusResponse, restaurantsMenusV1MenuMenus_universal_d_BulkCreateMenuResult as BulkCreateMenuResult, ItemMetadata$6 as ItemMetadata, ApplicationError$6 as ApplicationError, BulkActionMetadata$6 as BulkActionMetadata, restaurantsMenusV1MenuMenus_universal_d_GetMenuRequest as GetMenuRequest, restaurantsMenusV1MenuMenus_universal_d_GetMenuResponse as GetMenuResponse, restaurantsMenusV1MenuMenus_universal_d_ListMenusRequest as ListMenusRequest, restaurantsMenusV1MenuMenus_universal_d_ListMenusResponse as ListMenusResponse, restaurantsMenusV1MenuMenus_universal_d_QueryMenusRequest as QueryMenusRequest, restaurantsMenusV1MenuMenus_universal_d_QueryMenusResponse as QueryMenusResponse, restaurantsMenusV1MenuMenus_universal_d_UpdateMenuRequest as UpdateMenuRequest, restaurantsMenusV1MenuMenus_universal_d_UpdateMenuResponse as UpdateMenuResponse, restaurantsMenusV1MenuMenus_universal_d_BulkUpdateMenuRequest as BulkUpdateMenuRequest, restaurantsMenusV1MenuMenus_universal_d_MaskedMenu as MaskedMenu, restaurantsMenusV1MenuMenus_universal_d_BulkUpdateMenuResponse as BulkUpdateMenuResponse, restaurantsMenusV1MenuMenus_universal_d_BulkMenuResult as BulkMenuResult, UpdateExtendedFieldsRequest$1 as UpdateExtendedFieldsRequest, UpdateExtendedFieldsResponse$1 as UpdateExtendedFieldsResponse, restaurantsMenusV1MenuMenus_universal_d_DeleteMenuRequest as DeleteMenuRequest, restaurantsMenusV1MenuMenus_universal_d_DeleteMenuResponse as DeleteMenuResponse, restaurantsMenusV1MenuMenus_universal_d_CloneMenusRequest as CloneMenusRequest, restaurantsMenusV1MenuMenus_universal_d_CloneMenusResponse as CloneMenusResponse, DomainEvent$8 as DomainEvent, DomainEventBodyOneOf$8 as DomainEventBodyOneOf, EntityCreatedEvent$8 as EntityCreatedEvent, restaurantsMenusV1MenuMenus_universal_d_UndeleteInfo as UndeleteInfo, EntityUpdatedEvent$8 as EntityUpdatedEvent, EntityDeletedEvent$8 as EntityDeletedEvent, ActionEvent$8 as ActionEvent, Empty$7 as Empty, MessageEnvelope$8 as MessageEnvelope, IdentificationData$8 as IdentificationData, IdentificationDataIdOneOf$8 as IdentificationDataIdOneOf, WebhookIdentityType$8 as WebhookIdentityType, restaurantsMenusV1MenuMenus_universal_d_createMenu as createMenu, restaurantsMenusV1MenuMenus_universal_d_bulkCreateMenus as bulkCreateMenus, restaurantsMenusV1MenuMenus_universal_d_BulkCreateMenusOptions as BulkCreateMenusOptions, restaurantsMenusV1MenuMenus_universal_d_getMenu as getMenu, restaurantsMenusV1MenuMenus_universal_d_listMenus as listMenus, restaurantsMenusV1MenuMenus_universal_d_ListMenusOptions as ListMenusOptions, restaurantsMenusV1MenuMenus_universal_d_queryMenus as queryMenus, restaurantsMenusV1MenuMenus_universal_d_MenusQueryResult as MenusQueryResult, restaurantsMenusV1MenuMenus_universal_d_MenusQueryBuilder as MenusQueryBuilder, restaurantsMenusV1MenuMenus_universal_d_updateMenu as updateMenu, restaurantsMenusV1MenuMenus_universal_d_UpdateMenu as UpdateMenu, restaurantsMenusV1MenuMenus_universal_d_UpdateMenuOptions as UpdateMenuOptions, restaurantsMenusV1MenuMenus_universal_d_bulkUpdateMenu as bulkUpdateMenu, restaurantsMenusV1MenuMenus_universal_d_BulkUpdateMenuOptions as BulkUpdateMenuOptions, updateExtendedFields$1 as updateExtendedFields, UpdateExtendedFieldsOptions$1 as UpdateExtendedFieldsOptions, restaurantsMenusV1MenuMenus_universal_d_deleteMenu as deleteMenu, };\n    }\n    interface Rule$1 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?: CommonMoney;\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?: Money;\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;\n        /**\n         * Date and time the rule was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\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?: CommonMoney;\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?: Money;\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 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    /**\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 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$1;\n    }\n    enum Operation$1 {\n        /** == */\n        EQ = \"EQ\",\n        /** < */\n        LT = \"LT\",\n        /** <= */\n        LE = \"LE\",\n        /** > */\n        GT = \"GT\",\n        /** >= */\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$3;\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$1;\n    }\n    enum Type$1 {\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$3 {\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?: Money;\n        /** Tax amount. */\n        tax?: Money;\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$1;\n    }\n    interface CreateRuleResponse {\n        /** Created rule */\n        rule?: Rule$1;\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$1;\n    }\n    interface UpdateRuleRequest {\n        /** Rule to update. */\n        rule: Rule$1;\n    }\n    interface UpdateRuleResponse {\n        /** Updated rule. */\n        rule?: Rule$1;\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$1[];\n    }\n    interface QueryRulesRequest {\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$7;\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$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$7;\n    }\n    interface Sorting$7 {\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$7;\n    }\n    enum SortOrder$7 {\n        ASC = \"ASC\",\n        DESC = \"DESC\"\n    }\n    interface CursorPaging$7 {\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$1[];\n        /** Paging metadata. */\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 BulkCreateRulesRequest {\n        /** Rules to create. */\n        rules: Rule$1[];\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$5;\n    }\n    interface BulkRuleResult {\n        /** Metadata of the rule. */\n        itemMetadata?: ItemMetadata$5;\n        /** The created rule. */\n        rule?: Rule$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 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$1;\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$5;\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$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;\n        /**\n         * Whether the event was triggered as a result of a privacy regulation application\n         * (for example, GDPR).\n         */\n        triggeredByAnonymizeRequest?: boolean | null;\n        /** If present, indicates the action that triggered the event. */\n        originatedFrom?: string | null;\n        /**\n         * A sequence number defining the order of updates to the underlying entity.\n         * For example, given that some entity was updated at 16:00 and than again at 16:01,\n         * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n         * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n         * To do so, you will need to persist this number on your end, and compare the sequence number from the\n         * message against the one you have 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        /** 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;\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    interface EntityDeletedEvent$7 {\n        /** Entity that was deleted */\n        deletedEntityAsJson?: string | null;\n    }\n    interface ActionEvent$7 {\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     * 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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Created rule\n     */\n    function createRule(rule: Rule$1): Promise<Rule$1>;\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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @returns The retrieved rule.\n     */\n    function getRule(ruleId: string): Promise<Rule$1>;\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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Updated rule.\n     */\n    function updateRule(_id: string | null, rule: UpdateRule, options?: UpdateRuleOptions): Promise<Rule$1>;\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?: CommonMoney;\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?: Money;\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;\n        /**\n         * Date and time the rule was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\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    /**\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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionId WIX_RESTAURANTS.SERVICE_FEES_RULES_READ\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function queryRules(): RulesQueryBuilder;\n    interface QueryCursorResult$7 {\n        cursors: Cursors$7;\n        hasNext: () => boolean;\n        hasPrev: () => boolean;\n        length: number;\n        pageSize: number;\n    }\n    interface RulesQueryResult extends QueryCursorResult$7 {\n        items: Rule$1[];\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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function bulkCreateRules(rules: Rule$1[], 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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function bulkDeleteRules(ruleIds: string[]): Promise<BulkDeleteRulesResponse>;\n    type serviceFeesV1RuleServiceFees_universal_d_RuleValueOneOf = RuleValueOneOf;\n    type serviceFeesV1RuleServiceFees_universal_d_RuleRequirementsOneOf = RuleRequirementsOneOf;\n    type serviceFeesV1RuleServiceFees_universal_d_RuleConditionsOneOf = RuleConditionsOneOf;\n    type serviceFeesV1RuleServiceFees_universal_d_RuleConditionTypeOptionsOneOf = RuleConditionTypeOptionsOneOf;\n    type serviceFeesV1RuleServiceFees_universal_d_RuleTaxesOneOf = RuleTaxesOneOf;\n    type serviceFeesV1RuleServiceFees_universal_d_CommonMoney = CommonMoney;\n    type serviceFeesV1RuleServiceFees_universal_d_Money = Money;\n    type serviceFeesV1RuleServiceFees_universal_d_Condition = Condition;\n    type serviceFeesV1RuleServiceFees_universal_d_ConditionValueOneOf = ConditionValueOneOf;\n    type serviceFeesV1RuleServiceFees_universal_d_ExpectedType = ExpectedType;\n    type serviceFeesV1RuleServiceFees_universal_d_Value = Value;\n    const serviceFeesV1RuleServiceFees_universal_d_Value: typeof Value;\n    type serviceFeesV1RuleServiceFees_universal_d_ExpectedFieldType = ExpectedFieldType;\n    const serviceFeesV1RuleServiceFees_universal_d_ExpectedFieldType: typeof ExpectedFieldType;\n    type serviceFeesV1RuleServiceFees_universal_d__Number = _Number;\n    type serviceFeesV1RuleServiceFees_universal_d_List = List;\n    type serviceFeesV1RuleServiceFees_universal_d_ConditionTree = ConditionTree;\n    type serviceFeesV1RuleServiceFees_universal_d_ConditionTreeLeftConditionNodeOneOf = ConditionTreeLeftConditionNodeOneOf;\n    type serviceFeesV1RuleServiceFees_universal_d_ConditionTreeRightConditionNodeOneOf = ConditionTreeRightConditionNodeOneOf;\n    type serviceFeesV1RuleServiceFees_universal_d_Operator = Operator;\n    const serviceFeesV1RuleServiceFees_universal_d_Operator: typeof Operator;\n    type serviceFeesV1RuleServiceFees_universal_d_ConditionsType = ConditionsType;\n    const serviceFeesV1RuleServiceFees_universal_d_ConditionsType: typeof ConditionsType;\n    type serviceFeesV1RuleServiceFees_universal_d_ConditionType = ConditionType;\n    const serviceFeesV1RuleServiceFees_universal_d_ConditionType: typeof ConditionType;\n    type serviceFeesV1RuleServiceFees_universal_d_RoundingStrategy = RoundingStrategy;\n    const serviceFeesV1RuleServiceFees_universal_d_RoundingStrategy: typeof RoundingStrategy;\n    type serviceFeesV1RuleServiceFees_universal_d_CalculateServiceFeesRequest = CalculateServiceFeesRequest;\n    type serviceFeesV1RuleServiceFees_universal_d_Order = Order;\n    type serviceFeesV1RuleServiceFees_universal_d_PriceSummary = PriceSummary;\n    type serviceFeesV1RuleServiceFees_universal_d_ShippingInformation = ShippingInformation;\n    type serviceFeesV1RuleServiceFees_universal_d_DeliveryLogistics = DeliveryLogistics;\n    type serviceFeesV1RuleServiceFees_universal_d_Platform = Platform;\n    type serviceFeesV1RuleServiceFees_universal_d_PlatformValue = PlatformValue;\n    const serviceFeesV1RuleServiceFees_universal_d_PlatformValue: typeof PlatformValue;\n    type serviceFeesV1RuleServiceFees_universal_d_CalculateServiceFeesResponse = CalculateServiceFeesResponse;\n    type serviceFeesV1RuleServiceFees_universal_d_CalculatedFee = CalculatedFee;\n    type serviceFeesV1RuleServiceFees_universal_d_CreateRuleRequest = CreateRuleRequest;\n    type serviceFeesV1RuleServiceFees_universal_d_CreateRuleResponse = CreateRuleResponse;\n    type serviceFeesV1RuleServiceFees_universal_d_GetRuleRequest = GetRuleRequest;\n    type serviceFeesV1RuleServiceFees_universal_d_GetRuleResponse = GetRuleResponse;\n    type serviceFeesV1RuleServiceFees_universal_d_UpdateRuleRequest = UpdateRuleRequest;\n    type serviceFeesV1RuleServiceFees_universal_d_UpdateRuleResponse = UpdateRuleResponse;\n    type serviceFeesV1RuleServiceFees_universal_d_DeleteRuleRequest = DeleteRuleRequest;\n    type serviceFeesV1RuleServiceFees_universal_d_DeleteRuleResponse = DeleteRuleResponse;\n    type serviceFeesV1RuleServiceFees_universal_d_ListRulesRequest = ListRulesRequest;\n    type serviceFeesV1RuleServiceFees_universal_d_ListRulesResponse = ListRulesResponse;\n    type serviceFeesV1RuleServiceFees_universal_d_QueryRulesRequest = QueryRulesRequest;\n    type serviceFeesV1RuleServiceFees_universal_d_QueryRulesResponse = QueryRulesResponse;\n    type serviceFeesV1RuleServiceFees_universal_d_BulkCreateRulesRequest = BulkCreateRulesRequest;\n    type serviceFeesV1RuleServiceFees_universal_d_BulkCreateRulesResponse = BulkCreateRulesResponse;\n    type serviceFeesV1RuleServiceFees_universal_d_BulkRuleResult = BulkRuleResult;\n    type serviceFeesV1RuleServiceFees_universal_d_BulkUpdateRulesRequest = BulkUpdateRulesRequest;\n    type serviceFeesV1RuleServiceFees_universal_d_MaskedRule = MaskedRule;\n    type serviceFeesV1RuleServiceFees_universal_d_BulkUpdateRulesResponse = BulkUpdateRulesResponse;\n    type serviceFeesV1RuleServiceFees_universal_d_BulkDeleteRulesRequest = BulkDeleteRulesRequest;\n    type serviceFeesV1RuleServiceFees_universal_d_BulkDeleteRulesResponse = BulkDeleteRulesResponse;\n    const serviceFeesV1RuleServiceFees_universal_d_calculateServiceFees: typeof calculateServiceFees;\n    type serviceFeesV1RuleServiceFees_universal_d_CalculateServiceFeesOptions = CalculateServiceFeesOptions;\n    const serviceFeesV1RuleServiceFees_universal_d_createRule: typeof createRule;\n    const serviceFeesV1RuleServiceFees_universal_d_getRule: typeof getRule;\n    const serviceFeesV1RuleServiceFees_universal_d_updateRule: typeof updateRule;\n    type serviceFeesV1RuleServiceFees_universal_d_UpdateRule = UpdateRule;\n    type serviceFeesV1RuleServiceFees_universal_d_UpdateRuleOptions = UpdateRuleOptions;\n    const serviceFeesV1RuleServiceFees_universal_d_deleteRule: typeof deleteRule;\n    const serviceFeesV1RuleServiceFees_universal_d_listRules: typeof listRules;\n    type serviceFeesV1RuleServiceFees_universal_d_ListRulesOptions = ListRulesOptions;\n    const serviceFeesV1RuleServiceFees_universal_d_queryRules: typeof queryRules;\n    type serviceFeesV1RuleServiceFees_universal_d_RulesQueryResult = RulesQueryResult;\n    type serviceFeesV1RuleServiceFees_universal_d_RulesQueryBuilder = RulesQueryBuilder;\n    const serviceFeesV1RuleServiceFees_universal_d_bulkCreateRules: typeof bulkCreateRules;\n    type serviceFeesV1RuleServiceFees_universal_d_BulkCreateRulesOptions = BulkCreateRulesOptions;\n    const serviceFeesV1RuleServiceFees_universal_d_bulkUpdateRules: typeof bulkUpdateRules;\n    type serviceFeesV1RuleServiceFees_universal_d_BulkUpdateRulesOptions = BulkUpdateRulesOptions;\n    const serviceFeesV1RuleServiceFees_universal_d_bulkDeleteRules: typeof bulkDeleteRules;\n    namespace serviceFeesV1RuleServiceFees_universal_d {\n        export { Rule$1 as Rule, serviceFeesV1RuleServiceFees_universal_d_RuleValueOneOf as RuleValueOneOf, serviceFeesV1RuleServiceFees_universal_d_RuleRequirementsOneOf as RuleRequirementsOneOf, serviceFeesV1RuleServiceFees_universal_d_RuleConditionsOneOf as RuleConditionsOneOf, serviceFeesV1RuleServiceFees_universal_d_RuleConditionTypeOptionsOneOf as RuleConditionTypeOptionsOneOf, serviceFeesV1RuleServiceFees_universal_d_RuleTaxesOneOf as RuleTaxesOneOf, serviceFeesV1RuleServiceFees_universal_d_CommonMoney as CommonMoney, serviceFeesV1RuleServiceFees_universal_d_Money as Money, serviceFeesV1RuleServiceFees_universal_d_Condition as Condition, serviceFeesV1RuleServiceFees_universal_d_ConditionValueOneOf as ConditionValueOneOf, serviceFeesV1RuleServiceFees_universal_d_ExpectedType as ExpectedType, serviceFeesV1RuleServiceFees_universal_d_Value as Value, serviceFeesV1RuleServiceFees_universal_d_ExpectedFieldType as ExpectedFieldType, serviceFeesV1RuleServiceFees_universal_d__Number as _Number, Operation$1 as Operation, serviceFeesV1RuleServiceFees_universal_d_List as List, serviceFeesV1RuleServiceFees_universal_d_ConditionTree as ConditionTree, serviceFeesV1RuleServiceFees_universal_d_ConditionTreeLeftConditionNodeOneOf as ConditionTreeLeftConditionNodeOneOf, serviceFeesV1RuleServiceFees_universal_d_ConditionTreeRightConditionNodeOneOf as ConditionTreeRightConditionNodeOneOf, serviceFeesV1RuleServiceFees_universal_d_Operator as Operator, serviceFeesV1RuleServiceFees_universal_d_ConditionsType as ConditionsType, serviceFeesV1RuleServiceFees_universal_d_ConditionType as ConditionType, serviceFeesV1RuleServiceFees_universal_d_RoundingStrategy as RoundingStrategy, serviceFeesV1RuleServiceFees_universal_d_CalculateServiceFeesRequest as CalculateServiceFeesRequest, serviceFeesV1RuleServiceFees_universal_d_Order as Order, serviceFeesV1RuleServiceFees_universal_d_PriceSummary as PriceSummary, serviceFeesV1RuleServiceFees_universal_d_ShippingInformation as ShippingInformation, serviceFeesV1RuleServiceFees_universal_d_DeliveryLogistics as DeliveryLogistics, Type$1 as Type, serviceFeesV1RuleServiceFees_universal_d_Platform as Platform, serviceFeesV1RuleServiceFees_universal_d_PlatformValue as PlatformValue, Locale$3 as Locale, serviceFeesV1RuleServiceFees_universal_d_CalculateServiceFeesResponse as CalculateServiceFeesResponse, serviceFeesV1RuleServiceFees_universal_d_CalculatedFee as CalculatedFee, serviceFeesV1RuleServiceFees_universal_d_CreateRuleRequest as CreateRuleRequest, serviceFeesV1RuleServiceFees_universal_d_CreateRuleResponse as CreateRuleResponse, serviceFeesV1RuleServiceFees_universal_d_GetRuleRequest as GetRuleRequest, serviceFeesV1RuleServiceFees_universal_d_GetRuleResponse as GetRuleResponse, serviceFeesV1RuleServiceFees_universal_d_UpdateRuleRequest as UpdateRuleRequest, serviceFeesV1RuleServiceFees_universal_d_UpdateRuleResponse as UpdateRuleResponse, serviceFeesV1RuleServiceFees_universal_d_DeleteRuleRequest as DeleteRuleRequest, serviceFeesV1RuleServiceFees_universal_d_DeleteRuleResponse as DeleteRuleResponse, serviceFeesV1RuleServiceFees_universal_d_ListRulesRequest as ListRulesRequest, serviceFeesV1RuleServiceFees_universal_d_ListRulesResponse as ListRulesResponse, serviceFeesV1RuleServiceFees_universal_d_QueryRulesRequest as QueryRulesRequest, CursorQuery$7 as CursorQuery, CursorQueryPagingMethodOneOf$7 as CursorQueryPagingMethodOneOf, Sorting$7 as Sorting, SortOrder$7 as SortOrder, CursorPaging$7 as CursorPaging, serviceFeesV1RuleServiceFees_universal_d_QueryRulesResponse as QueryRulesResponse, CursorPagingMetadata$7 as CursorPagingMetadata, Cursors$7 as Cursors, serviceFeesV1RuleServiceFees_universal_d_BulkCreateRulesRequest as BulkCreateRulesRequest, serviceFeesV1RuleServiceFees_universal_d_BulkCreateRulesResponse as BulkCreateRulesResponse, serviceFeesV1RuleServiceFees_universal_d_BulkRuleResult as BulkRuleResult, ItemMetadata$5 as ItemMetadata, ApplicationError$5 as ApplicationError, BulkActionMetadata$5 as BulkActionMetadata, serviceFeesV1RuleServiceFees_universal_d_BulkUpdateRulesRequest as BulkUpdateRulesRequest, serviceFeesV1RuleServiceFees_universal_d_MaskedRule as MaskedRule, serviceFeesV1RuleServiceFees_universal_d_BulkUpdateRulesResponse as BulkUpdateRulesResponse, serviceFeesV1RuleServiceFees_universal_d_BulkDeleteRulesRequest as BulkDeleteRulesRequest, serviceFeesV1RuleServiceFees_universal_d_BulkDeleteRulesResponse as BulkDeleteRulesResponse, DomainEvent$7 as DomainEvent, DomainEventBodyOneOf$7 as DomainEventBodyOneOf, EntityCreatedEvent$7 as EntityCreatedEvent, RestoreInfo$7 as RestoreInfo, EntityUpdatedEvent$7 as EntityUpdatedEvent, EntityDeletedEvent$7 as EntityDeletedEvent, ActionEvent$7 as ActionEvent, MessageEnvelope$7 as MessageEnvelope, IdentificationData$7 as IdentificationData, IdentificationDataIdOneOf$7 as IdentificationDataIdOneOf, WebhookIdentityType$7 as WebhookIdentityType, serviceFeesV1RuleServiceFees_universal_d_calculateServiceFees as calculateServiceFees, serviceFeesV1RuleServiceFees_universal_d_CalculateServiceFeesOptions as CalculateServiceFeesOptions, serviceFeesV1RuleServiceFees_universal_d_createRule as createRule, serviceFeesV1RuleServiceFees_universal_d_getRule as getRule, serviceFeesV1RuleServiceFees_universal_d_updateRule as updateRule, serviceFeesV1RuleServiceFees_universal_d_UpdateRule as UpdateRule, serviceFeesV1RuleServiceFees_universal_d_UpdateRuleOptions as UpdateRuleOptions, serviceFeesV1RuleServiceFees_universal_d_deleteRule as deleteRule, serviceFeesV1RuleServiceFees_universal_d_listRules as listRules, serviceFeesV1RuleServiceFees_universal_d_ListRulesOptions as ListRulesOptions, serviceFeesV1RuleServiceFees_universal_d_queryRules as queryRules, serviceFeesV1RuleServiceFees_universal_d_RulesQueryResult as RulesQueryResult, serviceFeesV1RuleServiceFees_universal_d_RulesQueryBuilder as RulesQueryBuilder, serviceFeesV1RuleServiceFees_universal_d_bulkCreateRules as bulkCreateRules, serviceFeesV1RuleServiceFees_universal_d_BulkCreateRulesOptions as BulkCreateRulesOptions, serviceFeesV1RuleServiceFees_universal_d_bulkUpdateRules as bulkUpdateRules, serviceFeesV1RuleServiceFees_universal_d_BulkUpdateRulesOptions as BulkUpdateRulesOptions, serviceFeesV1RuleServiceFees_universal_d_bulkDeleteRules as bulkDeleteRules, };\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 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 passed 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;\n        /**\n         * Date and time the operation was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\n        /** Operation name. */\n        name?: 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](https://dev.wix.com/docs/rest/api-reference/wix-restaurants/fulfillment-methods/introduction) associated with the operation. */\n        fulfillmentIds?: string[] | null;\n        /**\n         * Online ordering status of the operation. <br />\n         * - `ENABLED`: Operation currently accepts online orders. <br />\n         * - `DISABLED`: Operation currently does not accept online orders. <br />\n         * - `PAUSED_UNTIL`: Operation currently does not accept online orders, but will accept online orders from a specifed time and date. When applied, `pausedUntilOptions` is a required field. <br />\n         * - `UNDEFINED_ONLINE_ORDERING_STATUS`: Online ordering status is not defined.\n         */\n        onlineOrderingStatus?: OnlineOrderingStatusType;\n        /** IDs of the [service fee](https://dev.wix.com/docs/rest/api-reference/wix-restaurants/service-fees/introduction) rules associated with the operation. */\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    /** @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 `REQUIRED`. */\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 `REQUIRED`. */\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        /** 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         * Currenly, only `TIME_WINDOWS` is supported.\n         */\n        fulfillmentTimesDisplay?: FulfillmentTimesDisplayConfig;\n    }\n    /** Method for `PREORDER` scheduling type. */\n    interface PreorderMethod extends PreorderMethodMethodOptionsOneOf {\n        /** Options for method. Required when `type` is `TIME_BOUNDED`. */\n        timeBoundedOptions?: TimeBounded;\n        /** Options for 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 method. Required when `type` is `TIME_BOUNDED`. */\n        timeBoundedOptions?: TimeBounded;\n        /** Options for 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$2;\n        /** Time of the day. */\n        timeOfDay?: TimeOfDay$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 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    /** 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        /** Preorder have a weekly schedule with a weekly a cutoff time. */\n        WEEKLY_SCHEDULE = \"WEEKLY_SCHEDULE\"\n    }\n    /** Information about the time range when preorders are time bounded. */\n    interface TimeBounded {\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 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         */\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        /** Undefined online ordering status. */\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 a specific date and time. */\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;\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 `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 type. */\n        UNKNOWN_PREPARATION_TIME = \"UNKNOWN_PREPARATION_TIME\",\n        /** Options for preparation time. Required when `type` is `MAX_TIME`. */\n        MAX_TIME = \"MAX_TIME\",\n        /** Options for preparation time. Required when `type` is `TIME_RANGE`. */\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 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;\n        /**\n         * Whether the event was triggered as a result of a privacy regulation application\n         * (for example, GDPR).\n         */\n        triggeredByAnonymizeRequest?: boolean | null;\n        /** If present, indicates the action that triggered the event. */\n        originatedFrom?: string | null;\n        /**\n         * A sequence number defining the order of updates to the underlying entity.\n         * For example, given that some entity was updated at 16:00 and than again at 16:01,\n         * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n         * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n         * To do so, you will need to persist this number on your end, and compare the sequence number from the\n         * message against the one you have 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        /** 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;\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    interface EntityDeletedEvent$6 {\n        /** Entity that was deleted */\n        deletedEntityAsJson?: 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$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    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    }\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 DeliveryProfileConfiguredForOperation {\n        /** Operation */\n        operation?: Operation;\n    }\n    interface OperationsDataCloningCompleted$1 {\n    }\n    interface CreateOperationRequest {\n        /** Operation to create. */\n        operation: Operation;\n    }\n    interface CreateOperationResponse {\n        /** Created operation. */\n        operation?: Operation;\n    }\n    interface GetOperationRequest {\n        /** ID of the operation to retrieve. */\n        operationId: string;\n    }\n    interface GetOperationResponse {\n        /** Retrieved operation. */\n        operation?: Operation;\n    }\n    interface UpdateOperationRequest {\n        /** Operation to update. */\n        operation: Operation;\n    }\n    interface UpdateOperationResponse {\n        /** Updated operation. */\n        operation?: Operation;\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$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$6;\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$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$6;\n    }\n    interface Sorting$6 {\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$6;\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 QueryOperationResponse {\n        /** Retrieved operations. */\n        operations?: Operation[];\n        /** 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        /** 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 ListOperationsRequest {\n    }\n    interface ListOperationsResponse {\n        /** Retrieved operations. */\n        operations?: Operation[];\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    /** @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    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    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 fulfil 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 limitted 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 limitted 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        /**\n         * Whether it is possible to submit an order for as soon as possible handling.\n         * @deprecated Whether it is possible to submit an order for as soon as possible handling.\n         * @replacedBy asap_handling_available\n         * @targetRemovalDate 2023-11-11\n         */\n        canSubmitOrderForNow?: boolean;\n        /** Date and time at which the fulfillment option's availability starts. */\n        startTime?: Date;\n        /** Date and time at which the fulfillment option's availability ends. */\n        endTime?: Date;\n        /**\n         * List of availabile times for the days of the week.\n         * All the given times must be within the range between `startTime` and `endTime`.\n         */\n        availableTimes?: DayOfWeekAvailability$2[];\n        /** List of availability exceptions that override the availability defined in `availableTimes`. */\n        exceptions?: AvailabilityException[];\n        /** Timezone for which the available times are given. */\n        timeZone?: string | null;\n        /** Whether it is possible to submit an order for as soon as possible handling. */\n        asapHandlingAvailable?: boolean;\n        /** Whether it is possible to submit an order for future handling. */\n        futureHandlingAvailable?: boolean | null;\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    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 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    /** 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    }\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 will be the first available time slot for the given fulfillment type.\n         * A delivery fulfillment type will only be returned 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;\n        /** End time and date of the time slot. */\n        endTime?: Date;\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        /** Menu IDs to get the first available time slots for. */\n        menuIds?: string[];\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    }\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;\n        /** End time and date of the time slot. */\n        timeslotEndTime?: Date;\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 Empty$6 {\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        /** 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 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 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 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    /** 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?: 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    /**\n     * Creates a new operation.\n     * @param operation - Operation to create.\n     * @public\n     * @documentationMaturity preview\n     * @requiredField operation\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Created operation.\n     */\n    function createOperation(operation: Operation): Promise<Operation>;\n    /**\n     * Retrieves an operation.\n     * @param operationId - ID of the operation to retrieve.\n     * @public\n     * @documentationMaturity preview\n     * @requiredField operationId\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @returns Retrieved operation.\n     */\n    function getOperation(operationId: string): Promise<Operation>;\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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Updated operation.\n     */\n    function updateOperation(_id: string | null, operation: UpdateOperation, options?: UpdateOperationOptions): Promise<Operation>;\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 passed 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;\n        /**\n         * Date and time the operation was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\n        /** Operation name. */\n        name?: 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](https://dev.wix.com/docs/rest/api-reference/wix-restaurants/fulfillment-methods/introduction) associated with the operation. */\n        fulfillmentIds?: string[] | null;\n        /**\n         * Online ordering status of the operation. <br />\n         * - `ENABLED`: Operation currently accepts online orders. <br />\n         * - `DISABLED`: Operation currently does not accept online orders. <br />\n         * - `PAUSED_UNTIL`: Operation currently does not accept online orders, but will accept online orders from a specifed time and date. When applied, `pausedUntilOptions` is a required field. <br />\n         * - `UNDEFINED_ONLINE_ORDERING_STATUS`: Online ordering status is not defined.\n         */\n        onlineOrderingStatus?: OnlineOrderingStatusType;\n        /** IDs of the [service fee](https://dev.wix.com/docs/rest/api-reference/wix-restaurants/service-fees/introduction) rules associated with the operation. */\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    interface UpdateOperationOptions {\n    }\n    /**\n     * Deletes an operation.\n     * @param operationId - ID of the operation to delete.\n     * @public\n     * @documentationMaturity preview\n     * @requiredField operationId\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionId RESTAURANTS.OPERATION_READ\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function queryOperation(): OperationsQueryBuilder;\n    interface QueryCursorResult$6 {\n        cursors: Cursors$6;\n        hasNext: () => boolean;\n        hasPrev: () => boolean;\n        length: number;\n        pageSize: number;\n    }\n    interface OperationsQueryResult extends QueryCursorResult$6 {\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\" | \"_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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function listOperations(): Promise<ListOperationsResponse>;\n    /**\n     * Retrieves a list of available fulfillment options.\n     *\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 - Operation ID. Returned fulfillment options will belong to this operation.\n     * @public\n     * @documentationMaturity preview\n     * @requiredField operationId\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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 will be 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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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    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        /** Menu IDs to get the first available time slots for. */\n        menuIds?: string[];\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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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    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;\n        /** End time and date of the time slot. */\n        timeslotEndTime?: Date;\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    type restaurantsOperationsV1OperationOperations_universal_d_Operation = Operation;\n    type restaurantsOperationsV1OperationOperations_universal_d_OperationOnlineOrderingStatusOptionsOneOf = OperationOnlineOrderingStatusOptionsOneOf;\n    type restaurantsOperationsV1OperationOperations_universal_d_Scheduling = Scheduling;\n    type restaurantsOperationsV1OperationOperations_universal_d_SchedulingSchedulingOptionsOneOf = SchedulingSchedulingOptionsOneOf;\n    type restaurantsOperationsV1OperationOperations_universal_d_SchedulingType = SchedulingType;\n    const restaurantsOperationsV1OperationOperations_universal_d_SchedulingType: typeof SchedulingType;\n    type restaurantsOperationsV1OperationOperations_universal_d_AsapScheduling = AsapScheduling;\n    type restaurantsOperationsV1OperationOperations_universal_d_AsapSchedulingPreparationTimeOneOf = AsapSchedulingPreparationTimeOneOf;\n    type restaurantsOperationsV1OperationOperations_universal_d_AsapSchedulingAsapPreorderOneOf = AsapSchedulingAsapPreorderOneOf;\n    type restaurantsOperationsV1OperationOperations_universal_d_PreparationTimeType = PreparationTimeType;\n    const restaurantsOperationsV1OperationOperations_universal_d_PreparationTimeType: typeof PreparationTimeType;\n    type restaurantsOperationsV1OperationOperations_universal_d_TimeDuration = TimeDuration;\n    type restaurantsOperationsV1OperationOperations_universal_d_TimeUnit = TimeUnit;\n    const restaurantsOperationsV1OperationOperations_universal_d_TimeUnit: typeof TimeUnit;\n    type restaurantsOperationsV1OperationOperations_universal_d_TimeDurationRange = TimeDurationRange;\n    type restaurantsOperationsV1OperationOperations_universal_d_AsapPreorderType = AsapPreorderType;\n    const restaurantsOperationsV1OperationOperations_universal_d_AsapPreorderType: typeof AsapPreorderType;\n    type restaurantsOperationsV1OperationOperations_universal_d_BusinessDaysPreorder = BusinessDaysPreorder;\n    type restaurantsOperationsV1OperationOperations_universal_d_PreorderScheduling = PreorderScheduling;\n    type restaurantsOperationsV1OperationOperations_universal_d_PreorderMethod = PreorderMethod;\n    type restaurantsOperationsV1OperationOperations_universal_d_PreorderMethodMethodOptionsOneOf = PreorderMethodMethodOptionsOneOf;\n    type restaurantsOperationsV1OperationOperations_universal_d_DayAndTime = DayAndTime;\n    type restaurantsOperationsV1OperationOperations_universal_d_MethodType = MethodType;\n    const restaurantsOperationsV1OperationOperations_universal_d_MethodType: typeof MethodType;\n    type restaurantsOperationsV1OperationOperations_universal_d_TimeBounded = TimeBounded;\n    type restaurantsOperationsV1OperationOperations_universal_d_WeeklySchedule = WeeklySchedule;\n    type restaurantsOperationsV1OperationOperations_universal_d_FulfillmentTimesDisplayConfig = FulfillmentTimesDisplayConfig;\n    type restaurantsOperationsV1OperationOperations_universal_d_FulfillmentTimesDisplayConfigFulfillmentTimesDisplayOptionsOneOf = FulfillmentTimesDisplayConfigFulfillmentTimesDisplayOptionsOneOf;\n    type restaurantsOperationsV1OperationOperations_universal_d_FulfillmentTimesType = FulfillmentTimesType;\n    const restaurantsOperationsV1OperationOperations_universal_d_FulfillmentTimesType: typeof FulfillmentTimesType;\n    type restaurantsOperationsV1OperationOperations_universal_d_OnlineOrderingStatusType = OnlineOrderingStatusType;\n    const restaurantsOperationsV1OperationOperations_universal_d_OnlineOrderingStatusType: typeof OnlineOrderingStatusType;\n    type restaurantsOperationsV1OperationOperations_universal_d_OnlineOrderingPausedUntilOptions = OnlineOrderingPausedUntilOptions;\n    type restaurantsOperationsV1OperationOperations_universal_d_FulfillmentType = FulfillmentType;\n    const restaurantsOperationsV1OperationOperations_universal_d_FulfillmentType: typeof FulfillmentType;\n    type restaurantsOperationsV1OperationOperations_universal_d_OrderScheduling = OrderScheduling;\n    type restaurantsOperationsV1OperationOperations_universal_d_OrderSchedulingOrderSchedulingOptionsOneOf = OrderSchedulingOrderSchedulingOptionsOneOf;\n    type restaurantsOperationsV1OperationOperations_universal_d_AsapOrderScheduling = AsapOrderScheduling;\n    type restaurantsOperationsV1OperationOperations_universal_d_AsapOrderSchedulingAsapFutureHandlingOptionsOneOf = AsapOrderSchedulingAsapFutureHandlingOptionsOneOf;\n    type restaurantsOperationsV1OperationOperations_universal_d_PreparationTime = PreparationTime;\n    type restaurantsOperationsV1OperationOperations_universal_d_PreparationTimeTimeSpecificationOneOf = PreparationTimeTimeSpecificationOneOf;\n    type restaurantsOperationsV1OperationOperations_universal_d_PreparationTimePreparationTimeType = PreparationTimePreparationTimeType;\n    const restaurantsOperationsV1OperationOperations_universal_d_PreparationTimePreparationTimeType: typeof PreparationTimePreparationTimeType;\n    type restaurantsOperationsV1OperationOperations_universal_d_AsapFutureHandlingType = AsapFutureHandlingType;\n    const restaurantsOperationsV1OperationOperations_universal_d_AsapFutureHandlingType: typeof AsapFutureHandlingType;\n    type restaurantsOperationsV1OperationOperations_universal_d_BusinessDaysAheadHandling = BusinessDaysAheadHandling;\n    type restaurantsOperationsV1OperationOperations_universal_d_DeliveryProfileConfiguredForOperation = DeliveryProfileConfiguredForOperation;\n    type restaurantsOperationsV1OperationOperations_universal_d_CreateOperationRequest = CreateOperationRequest;\n    type restaurantsOperationsV1OperationOperations_universal_d_CreateOperationResponse = CreateOperationResponse;\n    type restaurantsOperationsV1OperationOperations_universal_d_GetOperationRequest = GetOperationRequest;\n    type restaurantsOperationsV1OperationOperations_universal_d_GetOperationResponse = GetOperationResponse;\n    type restaurantsOperationsV1OperationOperations_universal_d_UpdateOperationRequest = UpdateOperationRequest;\n    type restaurantsOperationsV1OperationOperations_universal_d_UpdateOperationResponse = UpdateOperationResponse;\n    type restaurantsOperationsV1OperationOperations_universal_d_DeleteOperationRequest = DeleteOperationRequest;\n    type restaurantsOperationsV1OperationOperations_universal_d_DeleteOperationResponse = DeleteOperationResponse;\n    type restaurantsOperationsV1OperationOperations_universal_d_QueryOperationRequest = QueryOperationRequest;\n    type restaurantsOperationsV1OperationOperations_universal_d_QueryOperationResponse = QueryOperationResponse;\n    type restaurantsOperationsV1OperationOperations_universal_d_ListOperationsRequest = ListOperationsRequest;\n    type restaurantsOperationsV1OperationOperations_universal_d_ListOperationsResponse = ListOperationsResponse;\n    type restaurantsOperationsV1OperationOperations_universal_d_ListOperationIdsRequest = ListOperationIdsRequest;\n    type restaurantsOperationsV1OperationOperations_universal_d_ListOperationIdsResponse = ListOperationIdsResponse;\n    type restaurantsOperationsV1OperationOperations_universal_d_ListAvailableFulfillmentOptionsRequest = ListAvailableFulfillmentOptionsRequest;\n    type restaurantsOperationsV1OperationOperations_universal_d_ListAvailableFulfillmentOptionsResponse = ListAvailableFulfillmentOptionsResponse;\n    type restaurantsOperationsV1OperationOperations_universal_d_FulfillmentOption = FulfillmentOption;\n    type restaurantsOperationsV1OperationOperations_universal_d_FulfillmentOptionFulfillmentTimeOptionsOneOf = FulfillmentOptionFulfillmentTimeOptionsOneOf;\n    type restaurantsOperationsV1OperationOperations_universal_d_FulfillmentOptionFulfillmentTimesDisplayOptionsOneOf = FulfillmentOptionFulfillmentTimesDisplayOptionsOneOf;\n    type restaurantsOperationsV1OperationOperations_universal_d_FulfillmentOptionFulfillmentTypeOptionsOneOf = FulfillmentOptionFulfillmentTypeOptionsOneOf;\n    type restaurantsOperationsV1OperationOperations_universal_d_FulfillmentOptionAvailability = FulfillmentOptionAvailability;\n    type restaurantsOperationsV1OperationOperations_universal_d_AvailabilityException = AvailabilityException;\n    type restaurantsOperationsV1OperationOperations_universal_d_FulfillmentTimeType = FulfillmentTimeType;\n    const restaurantsOperationsV1OperationOperations_universal_d_FulfillmentTimeType: typeof FulfillmentTimeType;\n    type restaurantsOperationsV1OperationOperations_universal_d_DurationRange = DurationRange;\n    type restaurantsOperationsV1OperationOperations_universal_d_FulfillmentTimesDisplayType = FulfillmentTimesDisplayType;\n    const restaurantsOperationsV1OperationOperations_universal_d_FulfillmentTimesDisplayType: typeof FulfillmentTimesDisplayType;\n    type restaurantsOperationsV1OperationOperations_universal_d_TimeWindowDisplayConfig = TimeWindowDisplayConfig;\n    type restaurantsOperationsV1OperationOperations_universal_d_PickupDetails = PickupDetails;\n    type restaurantsOperationsV1OperationOperations_universal_d_DeliveryDetails = DeliveryDetails;\n    type restaurantsOperationsV1OperationOperations_universal_d_ListFirstAvailableTimeSlotForFulfillmentTypesRequest = ListFirstAvailableTimeSlotForFulfillmentTypesRequest;\n    type restaurantsOperationsV1OperationOperations_universal_d_ListFirstAvailableTimeSlotForFulfillmentTypesResponse = ListFirstAvailableTimeSlotForFulfillmentTypesResponse;\n    type restaurantsOperationsV1OperationOperations_universal_d_FulfillmentTimeSlot = FulfillmentTimeSlot;\n    type restaurantsOperationsV1OperationOperations_universal_d_FulfillmentDetails = FulfillmentDetails;\n    type restaurantsOperationsV1OperationOperations_universal_d_FulfillmentDetailsFulfillmentTimeOptionsOneOf = FulfillmentDetailsFulfillmentTimeOptionsOneOf;\n    type restaurantsOperationsV1OperationOperations_universal_d_FulfillmentAddress = FulfillmentAddress;\n    type restaurantsOperationsV1OperationOperations_universal_d_ListFirstAvailableTimeSlotsForMenusRequest = ListFirstAvailableTimeSlotsForMenusRequest;\n    type restaurantsOperationsV1OperationOperations_universal_d_ListFirstAvailableTimeSlotsForMenusResponse = ListFirstAvailableTimeSlotsForMenusResponse;\n    type restaurantsOperationsV1OperationOperations_universal_d_FirstFulfillmentTimeSlotsPerMenu = FirstFulfillmentTimeSlotsPerMenu;\n    type restaurantsOperationsV1OperationOperations_universal_d_ListAvailableTimeSlotsForDateRequest = ListAvailableTimeSlotsForDateRequest;\n    type restaurantsOperationsV1OperationOperations_universal_d__Date = _Date;\n    type restaurantsOperationsV1OperationOperations_universal_d_ListAvailableTimeSlotsForDateResponse = ListAvailableTimeSlotsForDateResponse;\n    type restaurantsOperationsV1OperationOperations_universal_d_ListAvailableDatesInRangeRequest = ListAvailableDatesInRangeRequest;\n    type restaurantsOperationsV1OperationOperations_universal_d_ListAvailableDatesInRangeResponse = ListAvailableDatesInRangeResponse;\n    type restaurantsOperationsV1OperationOperations_universal_d_FulfillmentTypeAvailableDates = FulfillmentTypeAvailableDates;\n    type restaurantsOperationsV1OperationOperations_universal_d_GetExpectedFulfillmentSelectionRequest = GetExpectedFulfillmentSelectionRequest;\n    type restaurantsOperationsV1OperationOperations_universal_d_GetExpectedFulfillmentSelectionResponse = GetExpectedFulfillmentSelectionResponse;\n    const restaurantsOperationsV1OperationOperations_universal_d_createOperation: typeof createOperation;\n    const restaurantsOperationsV1OperationOperations_universal_d_getOperation: typeof getOperation;\n    const restaurantsOperationsV1OperationOperations_universal_d_updateOperation: typeof updateOperation;\n    type restaurantsOperationsV1OperationOperations_universal_d_UpdateOperation = UpdateOperation;\n    type restaurantsOperationsV1OperationOperations_universal_d_UpdateOperationOptions = UpdateOperationOptions;\n    const restaurantsOperationsV1OperationOperations_universal_d_deleteOperation: typeof deleteOperation;\n    const restaurantsOperationsV1OperationOperations_universal_d_queryOperation: typeof queryOperation;\n    type restaurantsOperationsV1OperationOperations_universal_d_OperationsQueryResult = OperationsQueryResult;\n    type restaurantsOperationsV1OperationOperations_universal_d_OperationsQueryBuilder = OperationsQueryBuilder;\n    const restaurantsOperationsV1OperationOperations_universal_d_listOperations: typeof listOperations;\n    const restaurantsOperationsV1OperationOperations_universal_d_listAvailableFulfillmentOptions: typeof listAvailableFulfillmentOptions;\n    type restaurantsOperationsV1OperationOperations_universal_d_ListAvailableFulfillmentOptions = ListAvailableFulfillmentOptions;\n    const restaurantsOperationsV1OperationOperations_universal_d_listFirstAvailableTimeSlotForFulfillmentTypes: typeof listFirstAvailableTimeSlotForFulfillmentTypes;\n    type restaurantsOperationsV1OperationOperations_universal_d_ListFirstAvailableTimeSlotForFulfillmentTypesOptions = ListFirstAvailableTimeSlotForFulfillmentTypesOptions;\n    type restaurantsOperationsV1OperationOperations_universal_d_ListFirstAvailableTimeSlotsForMenusOptions = ListFirstAvailableTimeSlotsForMenusOptions;\n    const restaurantsOperationsV1OperationOperations_universal_d_listAvailableTimeSlotsForDate: typeof listAvailableTimeSlotsForDate;\n    type restaurantsOperationsV1OperationOperations_universal_d_ListAvailableTimeSlotsForDateOptions = ListAvailableTimeSlotsForDateOptions;\n    const restaurantsOperationsV1OperationOperations_universal_d_listAvailableDatesInRange: typeof listAvailableDatesInRange;\n    type restaurantsOperationsV1OperationOperations_universal_d_ListAvailableDatesInRangeOptions = ListAvailableDatesInRangeOptions;\n    type restaurantsOperationsV1OperationOperations_universal_d_GetExpectedFulfillmentSelectionOptions = GetExpectedFulfillmentSelectionOptions;\n    namespace restaurantsOperationsV1OperationOperations_universal_d {\n        export { restaurantsOperationsV1OperationOperations_universal_d_Operation as Operation, restaurantsOperationsV1OperationOperations_universal_d_OperationOnlineOrderingStatusOptionsOneOf as OperationOnlineOrderingStatusOptionsOneOf, restaurantsOperationsV1OperationOperations_universal_d_Scheduling as Scheduling, restaurantsOperationsV1OperationOperations_universal_d_SchedulingSchedulingOptionsOneOf as SchedulingSchedulingOptionsOneOf, restaurantsOperationsV1OperationOperations_universal_d_SchedulingType as SchedulingType, restaurantsOperationsV1OperationOperations_universal_d_AsapScheduling as AsapScheduling, restaurantsOperationsV1OperationOperations_universal_d_AsapSchedulingPreparationTimeOneOf as AsapSchedulingPreparationTimeOneOf, restaurantsOperationsV1OperationOperations_universal_d_AsapSchedulingAsapPreorderOneOf as AsapSchedulingAsapPreorderOneOf, restaurantsOperationsV1OperationOperations_universal_d_PreparationTimeType as PreparationTimeType, restaurantsOperationsV1OperationOperations_universal_d_TimeDuration as TimeDuration, restaurantsOperationsV1OperationOperations_universal_d_TimeUnit as TimeUnit, restaurantsOperationsV1OperationOperations_universal_d_TimeDurationRange as TimeDurationRange, restaurantsOperationsV1OperationOperations_universal_d_AsapPreorderType as AsapPreorderType, restaurantsOperationsV1OperationOperations_universal_d_BusinessDaysPreorder as BusinessDaysPreorder, restaurantsOperationsV1OperationOperations_universal_d_PreorderScheduling as PreorderScheduling, restaurantsOperationsV1OperationOperations_universal_d_PreorderMethod as PreorderMethod, restaurantsOperationsV1OperationOperations_universal_d_PreorderMethodMethodOptionsOneOf as PreorderMethodMethodOptionsOneOf, restaurantsOperationsV1OperationOperations_universal_d_DayAndTime as DayAndTime, EntitiesDayOfWeek$2 as EntitiesDayOfWeek, TimeOfDay$2 as TimeOfDay, restaurantsOperationsV1OperationOperations_universal_d_MethodType as MethodType, restaurantsOperationsV1OperationOperations_universal_d_TimeBounded as TimeBounded, restaurantsOperationsV1OperationOperations_universal_d_WeeklySchedule as WeeklySchedule, restaurantsOperationsV1OperationOperations_universal_d_FulfillmentTimesDisplayConfig as FulfillmentTimesDisplayConfig, restaurantsOperationsV1OperationOperations_universal_d_FulfillmentTimesDisplayConfigFulfillmentTimesDisplayOptionsOneOf as FulfillmentTimesDisplayConfigFulfillmentTimesDisplayOptionsOneOf, restaurantsOperationsV1OperationOperations_universal_d_FulfillmentTimesType as FulfillmentTimesType, restaurantsOperationsV1OperationOperations_universal_d_OnlineOrderingStatusType as OnlineOrderingStatusType, restaurantsOperationsV1OperationOperations_universal_d_OnlineOrderingPausedUntilOptions as OnlineOrderingPausedUntilOptions, restaurantsOperationsV1OperationOperations_universal_d_FulfillmentType as FulfillmentType, restaurantsOperationsV1OperationOperations_universal_d_OrderScheduling as OrderScheduling, restaurantsOperationsV1OperationOperations_universal_d_OrderSchedulingOrderSchedulingOptionsOneOf as OrderSchedulingOrderSchedulingOptionsOneOf, restaurantsOperationsV1OperationOperations_universal_d_AsapOrderScheduling as AsapOrderScheduling, restaurantsOperationsV1OperationOperations_universal_d_AsapOrderSchedulingAsapFutureHandlingOptionsOneOf as AsapOrderSchedulingAsapFutureHandlingOptionsOneOf, restaurantsOperationsV1OperationOperations_universal_d_PreparationTime as PreparationTime, restaurantsOperationsV1OperationOperations_universal_d_PreparationTimeTimeSpecificationOneOf as PreparationTimeTimeSpecificationOneOf, restaurantsOperationsV1OperationOperations_universal_d_PreparationTimePreparationTimeType as PreparationTimePreparationTimeType, restaurantsOperationsV1OperationOperations_universal_d_AsapFutureHandlingType as AsapFutureHandlingType, restaurantsOperationsV1OperationOperations_universal_d_BusinessDaysAheadHandling as BusinessDaysAheadHandling, DomainEvent$6 as DomainEvent, DomainEventBodyOneOf$6 as DomainEventBodyOneOf, EntityCreatedEvent$6 as EntityCreatedEvent, RestoreInfo$6 as RestoreInfo, EntityUpdatedEvent$6 as EntityUpdatedEvent, EntityDeletedEvent$6 as EntityDeletedEvent, ActionEvent$6 as ActionEvent, MessageEnvelope$6 as MessageEnvelope, IdentificationData$6 as IdentificationData, IdentificationDataIdOneOf$6 as IdentificationDataIdOneOf, WebhookIdentityType$6 as WebhookIdentityType, InvalidateCache$6 as InvalidateCache, InvalidateCacheGetByOneOf$6 as InvalidateCacheGetByOneOf, App$6 as App, Page$6 as Page, URI$6 as URI, File$6 as File, restaurantsOperationsV1OperationOperations_universal_d_DeliveryProfileConfiguredForOperation as DeliveryProfileConfiguredForOperation, OperationsDataCloningCompleted$1 as OperationsDataCloningCompleted, restaurantsOperationsV1OperationOperations_universal_d_CreateOperationRequest as CreateOperationRequest, restaurantsOperationsV1OperationOperations_universal_d_CreateOperationResponse as CreateOperationResponse, restaurantsOperationsV1OperationOperations_universal_d_GetOperationRequest as GetOperationRequest, restaurantsOperationsV1OperationOperations_universal_d_GetOperationResponse as GetOperationResponse, restaurantsOperationsV1OperationOperations_universal_d_UpdateOperationRequest as UpdateOperationRequest, restaurantsOperationsV1OperationOperations_universal_d_UpdateOperationResponse as UpdateOperationResponse, restaurantsOperationsV1OperationOperations_universal_d_DeleteOperationRequest as DeleteOperationRequest, restaurantsOperationsV1OperationOperations_universal_d_DeleteOperationResponse as DeleteOperationResponse, restaurantsOperationsV1OperationOperations_universal_d_QueryOperationRequest as QueryOperationRequest, CursorQuery$6 as CursorQuery, CursorQueryPagingMethodOneOf$6 as CursorQueryPagingMethodOneOf, Sorting$6 as Sorting, SortOrder$6 as SortOrder, CursorPaging$6 as CursorPaging, restaurantsOperationsV1OperationOperations_universal_d_QueryOperationResponse as QueryOperationResponse, CursorPagingMetadata$6 as CursorPagingMetadata, Cursors$6 as Cursors, restaurantsOperationsV1OperationOperations_universal_d_ListOperationsRequest as ListOperationsRequest, restaurantsOperationsV1OperationOperations_universal_d_ListOperationsResponse as ListOperationsResponse, restaurantsOperationsV1OperationOperations_universal_d_ListOperationIdsRequest as ListOperationIdsRequest, restaurantsOperationsV1OperationOperations_universal_d_ListOperationIdsResponse as ListOperationIdsResponse, restaurantsOperationsV1OperationOperations_universal_d_ListAvailableFulfillmentOptionsRequest as ListAvailableFulfillmentOptionsRequest, CommonAddress$1 as CommonAddress, CommonAddressStreetOneOf$1 as CommonAddressStreetOneOf, StreetAddress$1 as StreetAddress, AddressLocation$1 as AddressLocation, Subdivision$1 as Subdivision, SubdivisionType$1 as SubdivisionType, restaurantsOperationsV1OperationOperations_universal_d_ListAvailableFulfillmentOptionsResponse as ListAvailableFulfillmentOptionsResponse, restaurantsOperationsV1OperationOperations_universal_d_FulfillmentOption as FulfillmentOption, restaurantsOperationsV1OperationOperations_universal_d_FulfillmentOptionFulfillmentTimeOptionsOneOf as FulfillmentOptionFulfillmentTimeOptionsOneOf, restaurantsOperationsV1OperationOperations_universal_d_FulfillmentOptionFulfillmentTimesDisplayOptionsOneOf as FulfillmentOptionFulfillmentTimesDisplayOptionsOneOf, restaurantsOperationsV1OperationOperations_universal_d_FulfillmentOptionFulfillmentTypeOptionsOneOf as FulfillmentOptionFulfillmentTypeOptionsOneOf, restaurantsOperationsV1OperationOperations_universal_d_FulfillmentOptionAvailability as FulfillmentOptionAvailability, DayOfWeekAvailability$2 as DayOfWeekAvailability, TimeOfDayRange$2 as TimeOfDayRange, restaurantsOperationsV1OperationOperations_universal_d_AvailabilityException as AvailabilityException, restaurantsOperationsV1OperationOperations_universal_d_FulfillmentTimeType as FulfillmentTimeType, restaurantsOperationsV1OperationOperations_universal_d_DurationRange as DurationRange, restaurantsOperationsV1OperationOperations_universal_d_FulfillmentTimesDisplayType as FulfillmentTimesDisplayType, restaurantsOperationsV1OperationOperations_universal_d_TimeWindowDisplayConfig as TimeWindowDisplayConfig, restaurantsOperationsV1OperationOperations_universal_d_PickupDetails as PickupDetails, restaurantsOperationsV1OperationOperations_universal_d_DeliveryDetails as DeliveryDetails, restaurantsOperationsV1OperationOperations_universal_d_ListFirstAvailableTimeSlotForFulfillmentTypesRequest as ListFirstAvailableTimeSlotForFulfillmentTypesRequest, restaurantsOperationsV1OperationOperations_universal_d_ListFirstAvailableTimeSlotForFulfillmentTypesResponse as ListFirstAvailableTimeSlotForFulfillmentTypesResponse, restaurantsOperationsV1OperationOperations_universal_d_FulfillmentTimeSlot as FulfillmentTimeSlot, restaurantsOperationsV1OperationOperations_universal_d_FulfillmentDetails as FulfillmentDetails, restaurantsOperationsV1OperationOperations_universal_d_FulfillmentDetailsFulfillmentTimeOptionsOneOf as FulfillmentDetailsFulfillmentTimeOptionsOneOf, restaurantsOperationsV1OperationOperations_universal_d_FulfillmentAddress as FulfillmentAddress, restaurantsOperationsV1OperationOperations_universal_d_ListFirstAvailableTimeSlotsForMenusRequest as ListFirstAvailableTimeSlotsForMenusRequest, restaurantsOperationsV1OperationOperations_universal_d_ListFirstAvailableTimeSlotsForMenusResponse as ListFirstAvailableTimeSlotsForMenusResponse, restaurantsOperationsV1OperationOperations_universal_d_FirstFulfillmentTimeSlotsPerMenu as FirstFulfillmentTimeSlotsPerMenu, restaurantsOperationsV1OperationOperations_universal_d_ListAvailableTimeSlotsForDateRequest as ListAvailableTimeSlotsForDateRequest, restaurantsOperationsV1OperationOperations_universal_d__Date as _Date, restaurantsOperationsV1OperationOperations_universal_d_ListAvailableTimeSlotsForDateResponse as ListAvailableTimeSlotsForDateResponse, restaurantsOperationsV1OperationOperations_universal_d_ListAvailableDatesInRangeRequest as ListAvailableDatesInRangeRequest, restaurantsOperationsV1OperationOperations_universal_d_ListAvailableDatesInRangeResponse as ListAvailableDatesInRangeResponse, restaurantsOperationsV1OperationOperations_universal_d_FulfillmentTypeAvailableDates as FulfillmentTypeAvailableDates, restaurantsOperationsV1OperationOperations_universal_d_GetExpectedFulfillmentSelectionRequest as GetExpectedFulfillmentSelectionRequest, restaurantsOperationsV1OperationOperations_universal_d_GetExpectedFulfillmentSelectionResponse as GetExpectedFulfillmentSelectionResponse, Empty$6 as Empty, SitePropertiesNotification$2 as SitePropertiesNotification, SitePropertiesEvent$2 as SitePropertiesEvent, Properties$2 as Properties, Categories$2 as Categories, Locale$2 as Locale, Address$2 as Address, AddressHint$2 as AddressHint, PlacementType$2 as PlacementType, GeoCoordinates$2 as GeoCoordinates, BusinessSchedule$2 as BusinessSchedule, TimePeriod$2 as TimePeriod, DayOfWeek$2 as DayOfWeek, SpecialHourPeriod$2 as SpecialHourPeriod, Multilingual$2 as Multilingual, SupportedLanguage$2 as SupportedLanguage, ResolutionMethod$2 as ResolutionMethod, ConsentPolicy$2 as ConsentPolicy, Translation$2 as Translation, ChangeContext$2 as ChangeContext, ChangeContextPayloadOneOf$2 as ChangeContextPayloadOneOf, PropertiesChange$2 as PropertiesChange, SiteCreated$2 as SiteCreated, SiteCloned$2 as SiteCloned, restaurantsOperationsV1OperationOperations_universal_d_createOperation as createOperation, restaurantsOperationsV1OperationOperations_universal_d_getOperation as getOperation, restaurantsOperationsV1OperationOperations_universal_d_updateOperation as updateOperation, restaurantsOperationsV1OperationOperations_universal_d_UpdateOperation as UpdateOperation, restaurantsOperationsV1OperationOperations_universal_d_UpdateOperationOptions as UpdateOperationOptions, restaurantsOperationsV1OperationOperations_universal_d_deleteOperation as deleteOperation, restaurantsOperationsV1OperationOperations_universal_d_queryOperation as queryOperation, restaurantsOperationsV1OperationOperations_universal_d_OperationsQueryResult as OperationsQueryResult, restaurantsOperationsV1OperationOperations_universal_d_OperationsQueryBuilder as OperationsQueryBuilder, restaurantsOperationsV1OperationOperations_universal_d_listOperations as listOperations, restaurantsOperationsV1OperationOperations_universal_d_listAvailableFulfillmentOptions as listAvailableFulfillmentOptions, restaurantsOperationsV1OperationOperations_universal_d_ListAvailableFulfillmentOptions as ListAvailableFulfillmentOptions, restaurantsOperationsV1OperationOperations_universal_d_listFirstAvailableTimeSlotForFulfillmentTypes as listFirstAvailableTimeSlotForFulfillmentTypes, restaurantsOperationsV1OperationOperations_universal_d_ListFirstAvailableTimeSlotForFulfillmentTypesOptions as ListFirstAvailableTimeSlotForFulfillmentTypesOptions, restaurantsOperationsV1OperationOperations_universal_d_ListFirstAvailableTimeSlotsForMenusOptions as ListFirstAvailableTimeSlotsForMenusOptions, restaurantsOperationsV1OperationOperations_universal_d_listAvailableTimeSlotsForDate as listAvailableTimeSlotsForDate, restaurantsOperationsV1OperationOperations_universal_d_ListAvailableTimeSlotsForDateOptions as ListAvailableTimeSlotsForDateOptions, restaurantsOperationsV1OperationOperations_universal_d_listAvailableDatesInRange as listAvailableDatesInRange, restaurantsOperationsV1OperationOperations_universal_d_ListAvailableDatesInRangeOptions as ListAvailableDatesInRangeOptions, restaurantsOperationsV1OperationOperations_universal_d_GetExpectedFulfillmentSelectionOptions as GetExpectedFulfillmentSelectionOptions, };\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 passed 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](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/operations/introduction) the menu belongs to. */\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        /** Extended fields. */\n        extendedFields?: ExtendedFields$4;\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        /**\n         * Availability type.\n         *\n         * - `UNSPECIFIED_AVAILABILITY_OPTION`: Missing type due to an error\n         * - `ALWAYS_AVAILABLE`: Available all the time.\n         * - `WEEKLY_SCHEDULE`: Available on specific days and times throughout the week.\n         * - `TIMESTAMP_RANGES`: Available during a specfic time range.\n         */\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 specfic 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$1[];\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    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 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 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    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$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$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 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    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    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$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    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 QueryMenuOrderingSettingsResponse {\n        /** List of menu ordering settings entities. */\n        menuOrderingSettings?: MenuOrderingSettings[];\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$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 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    interface BulkUpdateMenuOrderingSettingsResponse {\n        /** Results of bulk menu ordering settings entities update. */\n        results?: BulkMenuOrderingSettingsResult[];\n        /** Metadata for the API call. */\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 BulkMenuOrderingSettingsResult {\n        /** Metadata for menu update. */\n        menuOrderingSettingsMetadata?: ItemMetadata$4;\n        /** Updated menu ordering settings. Only returned if `returnEntity` is set to `true`. */\n        menuOrderingSettings?: MenuOrderingSettings;\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 ListMenusAvailabilityStatusRequest {\n        /** The time slot for which to check the availability of menus. */\n        timeSlot: TimeSlot;\n        /** The ID of the [restaurant operation](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/operations/introduction) whose menus will be checked. */\n        operationId?: string | null;\n        /** Cursor paging */\n        cursorPaging?: CursorPaging$5;\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$5;\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 {\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        /** The updated menu ordering settings entity. */\n        menuOrderingSettings?: MenuOrderingSettings;\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        /** 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 | 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    interface EntityDeletedEvent$5 {\n        /** Entity that was deleted */\n        deletedEntityAsJson?: string | null;\n    }\n    interface ActionEvent$5 {\n        bodyAsJson?: string;\n    }\n    interface Empty$5 {\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$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        /** 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 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 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 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$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?: 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 OperationsDataCloningCompleted {\n    }\n    interface MenusDataCloningCompleted {\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 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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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 passed 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](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/operations/introduction) the menu belongs to. */\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        /** Extended fields. */\n        extendedFields?: ExtendedFields$4;\n    }\n    interface UpsertMenuOrderingSettingsByMenuIdOptions {\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 passed 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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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 passed 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](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/operations/introduction) the menu belongs to. */\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        /** Extended fields. */\n        extendedFields?: ExtendedFields$4;\n    }\n    interface UpdateMenuOrderingSettingsOptions {\n    }\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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionId RESTAURANTS.MENU_ORDERING_SETTINGS_READ\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function queryMenuOrderingSettings(): MenuOrderingSettingsQueryBuilder;\n    interface QueryCursorResult$5 {\n        cursors: Cursors$5;\n        hasNext: () => boolean;\n        hasPrev: () => boolean;\n        length: number;\n        pageSize: number;\n    }\n    interface MenuOrderingSettingsQueryResult extends QueryCursorResult$5 {\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 included 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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/operations/introduction).\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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function listMenusAvailabilityStatus(timeSlot: TimeSlot, options?: ListMenusAvailabilityStatusOptions): Promise<ListMenusAvailabilityStatusResponse>;\n    interface ListMenusAvailabilityStatusOptions {\n        /** The ID of the [restaurant operation](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/operations/introduction) whose menus will be checked. */\n        operationId?: string | null;\n        /** Cursor paging */\n        cursorPaging?: CursorPaging$5;\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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_MenuOrderingSettings = MenuOrderingSettings;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_AvailabilityAvailabilityTypeOptionsOneOf = AvailabilityAvailabilityTypeOptionsOneOf;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_AvailabilityType = AvailabilityType;\n    const restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_AvailabilityType: typeof AvailabilityType;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_WeeklyScheduleOptions = WeeklyScheduleOptions;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_TimestampRangesOptions = TimestampRangesOptions;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_AvailableRange = AvailableRange;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_CreateMenuOrderingSettingsRequest = CreateMenuOrderingSettingsRequest;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_CreateMenuOrderingSettingsResponse = CreateMenuOrderingSettingsResponse;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_GetMenuOrderingSettingsRequest = GetMenuOrderingSettingsRequest;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_GetMenuOrderingSettingsResponse = GetMenuOrderingSettingsResponse;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_UpsertMenuOrderingSettingsByMenuIdRequest = UpsertMenuOrderingSettingsByMenuIdRequest;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_UpsertMenuOrderingSettingsByMenuIdResponse = UpsertMenuOrderingSettingsByMenuIdResponse;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_UpdateMenuOrderingSettingsRequest = UpdateMenuOrderingSettingsRequest;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_UpdateMenuOrderingSettingsResponse = UpdateMenuOrderingSettingsResponse;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_DeleteMenuOrderingSettingsRequest = DeleteMenuOrderingSettingsRequest;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_DeleteMenuOrderingSettingsResponse = DeleteMenuOrderingSettingsResponse;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_QueryMenuOrderingSettingsRequest = QueryMenuOrderingSettingsRequest;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_QueryMenuOrderingSettingsResponse = QueryMenuOrderingSettingsResponse;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_BulkUpdateMenuOrderingSettingsRequest = BulkUpdateMenuOrderingSettingsRequest;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_MaskedMenuOrderingSettings = MaskedMenuOrderingSettings;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_BulkUpdateMenuOrderingSettingsResponse = BulkUpdateMenuOrderingSettingsResponse;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_BulkMenuOrderingSettingsResult = BulkMenuOrderingSettingsResult;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_ListMenusAvailabilityStatusRequest = ListMenusAvailabilityStatusRequest;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_TimeSlot = TimeSlot;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_ListMenusAvailabilityStatusResponse = ListMenusAvailabilityStatusResponse;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_MenuAvailabilityStatus = MenuAvailabilityStatus;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_AvailabilityStatus = AvailabilityStatus;\n    const restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_AvailabilityStatus: typeof AvailabilityStatus;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_UpdateExtendedFieldsRequest = UpdateExtendedFieldsRequest;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_UpdateExtendedFieldsResponse = UpdateExtendedFieldsResponse;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_GetRestaurantsAppClonesStatusRequest = GetRestaurantsAppClonesStatusRequest;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_GetRestaurantsAppClonesStatusResponse = GetRestaurantsAppClonesStatusResponse;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_RestaurantsAppCloneStatus = RestaurantsAppCloneStatus;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_OperationsDataCloningCompleted = OperationsDataCloningCompleted;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_MenusDataCloningCompleted = MenusDataCloningCompleted;\n    const restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_getMenuOrderingSettings: typeof getMenuOrderingSettings;\n    const restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_upsertMenuOrderingSettingsByMenuId: typeof upsertMenuOrderingSettingsByMenuId;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_UpsertMenuOrderingSettingsByMenuIdMenuOrderingSettings = UpsertMenuOrderingSettingsByMenuIdMenuOrderingSettings;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_UpsertMenuOrderingSettingsByMenuIdOptions = UpsertMenuOrderingSettingsByMenuIdOptions;\n    const restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_updateMenuOrderingSettings: typeof updateMenuOrderingSettings;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_UpdateMenuOrderingSettings = UpdateMenuOrderingSettings;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_UpdateMenuOrderingSettingsOptions = UpdateMenuOrderingSettingsOptions;\n    const restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_queryMenuOrderingSettings: typeof queryMenuOrderingSettings;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_MenuOrderingSettingsQueryResult = MenuOrderingSettingsQueryResult;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_MenuOrderingSettingsQueryBuilder = MenuOrderingSettingsQueryBuilder;\n    const restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_bulkUpdateMenuOrderingSettings: typeof bulkUpdateMenuOrderingSettings;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_BulkUpdateMenuOrderingSettingsOptions = BulkUpdateMenuOrderingSettingsOptions;\n    const restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_listMenusAvailabilityStatus: typeof listMenusAvailabilityStatus;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_ListMenusAvailabilityStatusOptions = ListMenusAvailabilityStatusOptions;\n    const restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_updateExtendedFields: typeof updateExtendedFields;\n    type restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_UpdateExtendedFieldsOptions = UpdateExtendedFieldsOptions;\n    namespace restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d {\n        export { restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_MenuOrderingSettings as MenuOrderingSettings, Availability$1 as Availability, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_AvailabilityAvailabilityTypeOptionsOneOf as AvailabilityAvailabilityTypeOptionsOneOf, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_AvailabilityType as AvailabilityType, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_WeeklyScheduleOptions as WeeklyScheduleOptions, DayOfWeekAvailability$1 as DayOfWeekAvailability, EntitiesDayOfWeek$1 as EntitiesDayOfWeek, TimeOfDayRange$1 as TimeOfDayRange, TimeOfDay$1 as TimeOfDay, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_TimestampRangesOptions as TimestampRangesOptions, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_AvailableRange as AvailableRange, ExtendedFields$4 as ExtendedFields, InvalidateCache$5 as InvalidateCache, InvalidateCacheGetByOneOf$5 as InvalidateCacheGetByOneOf, App$5 as App, Page$5 as Page, URI$5 as URI, File$5 as File, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_CreateMenuOrderingSettingsRequest as CreateMenuOrderingSettingsRequest, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_CreateMenuOrderingSettingsResponse as CreateMenuOrderingSettingsResponse, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_GetMenuOrderingSettingsRequest as GetMenuOrderingSettingsRequest, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_GetMenuOrderingSettingsResponse as GetMenuOrderingSettingsResponse, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_UpsertMenuOrderingSettingsByMenuIdRequest as UpsertMenuOrderingSettingsByMenuIdRequest, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_UpsertMenuOrderingSettingsByMenuIdResponse as UpsertMenuOrderingSettingsByMenuIdResponse, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_UpdateMenuOrderingSettingsRequest as UpdateMenuOrderingSettingsRequest, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_UpdateMenuOrderingSettingsResponse as UpdateMenuOrderingSettingsResponse, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_DeleteMenuOrderingSettingsRequest as DeleteMenuOrderingSettingsRequest, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_DeleteMenuOrderingSettingsResponse as DeleteMenuOrderingSettingsResponse, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_QueryMenuOrderingSettingsRequest as QueryMenuOrderingSettingsRequest, CursorQuery$5 as CursorQuery, CursorQueryPagingMethodOneOf$5 as CursorQueryPagingMethodOneOf, Sorting$5 as Sorting, SortOrder$5 as SortOrder, CursorPaging$5 as CursorPaging, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_QueryMenuOrderingSettingsResponse as QueryMenuOrderingSettingsResponse, CursorPagingMetadata$5 as CursorPagingMetadata, Cursors$5 as Cursors, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_BulkUpdateMenuOrderingSettingsRequest as BulkUpdateMenuOrderingSettingsRequest, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_MaskedMenuOrderingSettings as MaskedMenuOrderingSettings, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_BulkUpdateMenuOrderingSettingsResponse as BulkUpdateMenuOrderingSettingsResponse, ItemMetadata$4 as ItemMetadata, ApplicationError$4 as ApplicationError, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_BulkMenuOrderingSettingsResult as BulkMenuOrderingSettingsResult, BulkActionMetadata$4 as BulkActionMetadata, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_ListMenusAvailabilityStatusRequest as ListMenusAvailabilityStatusRequest, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_TimeSlot as TimeSlot, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_ListMenusAvailabilityStatusResponse as ListMenusAvailabilityStatusResponse, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_MenuAvailabilityStatus as MenuAvailabilityStatus, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_AvailabilityStatus as AvailabilityStatus, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_UpdateExtendedFieldsRequest as UpdateExtendedFieldsRequest, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_UpdateExtendedFieldsResponse as UpdateExtendedFieldsResponse, DomainEvent$5 as DomainEvent, DomainEventBodyOneOf$5 as DomainEventBodyOneOf, EntityCreatedEvent$5 as EntityCreatedEvent, RestoreInfo$5 as RestoreInfo, EntityUpdatedEvent$5 as EntityUpdatedEvent, EntityDeletedEvent$5 as EntityDeletedEvent, ActionEvent$5 as ActionEvent, Empty$5 as Empty, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_GetRestaurantsAppClonesStatusRequest as GetRestaurantsAppClonesStatusRequest, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_GetRestaurantsAppClonesStatusResponse as GetRestaurantsAppClonesStatusResponse, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_RestaurantsAppCloneStatus as RestaurantsAppCloneStatus, SitePropertiesNotification$1 as SitePropertiesNotification, SitePropertiesEvent$1 as SitePropertiesEvent, Properties$1 as Properties, Categories$1 as Categories, Locale$1 as Locale, Address$1 as Address, AddressHint$1 as AddressHint, PlacementType$1 as PlacementType, GeoCoordinates$1 as GeoCoordinates, BusinessSchedule$1 as BusinessSchedule, TimePeriod$1 as TimePeriod, DayOfWeek$1 as DayOfWeek, SpecialHourPeriod$1 as SpecialHourPeriod, Multilingual$1 as Multilingual, SupportedLanguage$1 as SupportedLanguage, ResolutionMethod$1 as ResolutionMethod, ConsentPolicy$1 as ConsentPolicy, Translation$1 as Translation, ChangeContext$1 as ChangeContext, ChangeContextPayloadOneOf$1 as ChangeContextPayloadOneOf, PropertiesChange$1 as PropertiesChange, SiteCreated$1 as SiteCreated, SiteCloned$1 as SiteCloned, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_OperationsDataCloningCompleted as OperationsDataCloningCompleted, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_MenusDataCloningCompleted as MenusDataCloningCompleted, MessageEnvelope$5 as MessageEnvelope, IdentificationData$5 as IdentificationData, IdentificationDataIdOneOf$5 as IdentificationDataIdOneOf, WebhookIdentityType$5 as WebhookIdentityType, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_getMenuOrderingSettings as getMenuOrderingSettings, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_upsertMenuOrderingSettingsByMenuId as upsertMenuOrderingSettingsByMenuId, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_UpsertMenuOrderingSettingsByMenuIdMenuOrderingSettings as UpsertMenuOrderingSettingsByMenuIdMenuOrderingSettings, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_UpsertMenuOrderingSettingsByMenuIdOptions as UpsertMenuOrderingSettingsByMenuIdOptions, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_updateMenuOrderingSettings as updateMenuOrderingSettings, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_UpdateMenuOrderingSettings as UpdateMenuOrderingSettings, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_UpdateMenuOrderingSettingsOptions as UpdateMenuOrderingSettingsOptions, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_queryMenuOrderingSettings as queryMenuOrderingSettings, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_MenuOrderingSettingsQueryResult as MenuOrderingSettingsQueryResult, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_MenuOrderingSettingsQueryBuilder as MenuOrderingSettingsQueryBuilder, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_bulkUpdateMenuOrderingSettings as bulkUpdateMenuOrderingSettings, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_BulkUpdateMenuOrderingSettingsOptions as BulkUpdateMenuOrderingSettingsOptions, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_listMenusAvailabilityStatus as listMenusAvailabilityStatus, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_ListMenusAvailabilityStatusOptions as ListMenusAvailabilityStatusOptions, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_updateExtendedFields as updateExtendedFields, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d_UpdateExtendedFieldsOptions as UpdateExtendedFieldsOptions, };\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;\n        /**\n         * Date and time the item was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\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$1[];\n        /** Extended fields. */\n        extendedFields?: ExtendedFields$3;\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    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    interface ModifierGroup$1 {\n        /** Modifier group ID. */\n        _id?: 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 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$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        /** 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$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    interface EntityDeletedEvent$4 {\n        /** Entity that was deleted */\n        deletedEntityAsJson?: string | null;\n    }\n    interface ActionEvent$4 {\n        bodyAsJson?: string;\n    }\n    interface Empty$4 {\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 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 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    }\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 CreateItemRequest {\n        /** Item details. */\n        item: Item;\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    interface BulkCreateItemsResponse {\n        /** Information about the created items. */\n        results?: BulkCreateItemResult[];\n        /** Metadata for the API call. */\n        bulkActionMetadata?: BulkActionMetadata$3;\n    }\n    interface BulkCreateItemResult {\n        /** Metadata for item update. */\n        itemMetadata?: ItemMetadata$3;\n        /** Created item. */\n        item?: Item;\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 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$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 ListItemsResponse {\n        /** Items. */\n        items?: Item[];\n        /** The metadata of the paginated results. */\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$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 QueryItemsRequest {\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$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    enum SortOrder$4 {\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$4;\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    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    interface MaskedItem {\n        /** Item to update. */\n        item?: Item;\n    }\n    interface BulkUpdateItemResponse {\n        /** Information about the updated items. */\n        results?: BulkItemResult[];\n        /** Metadata for the API call. */\n        bulkActionMetadata?: BulkActionMetadata$3;\n    }\n    interface BulkItemResult {\n        /** Metadata for item update. */\n        itemMetadata?: ItemMetadata$3;\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    interface DeleteItemResponse {\n    }\n    interface BulkDeleteItemsRequest {\n        /** Item IDs. */\n        ids: string[];\n    }\n    interface BulkDeleteItemsResponse {\n        /** Information about the deleted items. */\n        results?: BulkDeleteItemResult[];\n        /** Metadata for the API call. */\n        bulkActionMetadata?: BulkActionMetadata$3;\n    }\n    interface BulkDeleteItemResult {\n        /** Metadata for item delete. */\n        itemMetadata?: ItemMetadata$3;\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Item.\n     */\n    function createItem(item: Item, options?: CreateItemOptions): Promise<Item>;\n    interface CreateItemOptions {\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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    /**\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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$4;\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionId RESTAURANTS.ITEM_READ\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function queryItems(): ItemsQueryBuilder;\n    interface QueryCursorResult$4 {\n        cursors: Cursors$4;\n        hasNext: () => boolean;\n        hasPrev: () => boolean;\n        length: number;\n        pageSize: number;\n    }\n    interface ItemsQueryResult extends QueryCursorResult$4 {\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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.revision\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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;\n        /**\n         * Date and time the item was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\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$1[];\n        /** Extended fields. */\n        extendedFields?: ExtendedFields$3;\n    }\n    interface UpdateItemOptions {\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.revision\n     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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    /**\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function deleteItem(itemId: string, options?: DeleteItemOptions): Promise<void>;\n    interface DeleteItemOptions {\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function bulkDeleteItems(ids: string[], options?: BulkDeleteItemsOptions): Promise<BulkDeleteItemsResponse>;\n    interface BulkDeleteItemsOptions {\n    }\n    type restaurantsMenusV1ItemItems_universal_d_Item = Item;\n    type restaurantsMenusV1ItemItems_universal_d_ItemPricingOneOf = ItemPricingOneOf;\n    type restaurantsMenusV1ItemItems_universal_d_PriceVariants = PriceVariants;\n    type restaurantsMenusV1ItemItems_universal_d_PriceVariant = PriceVariant;\n    type restaurantsMenusV1ItemItems_universal_d_PriceInfo = PriceInfo;\n    type restaurantsMenusV1ItemItems_universal_d_OrderSettings = OrderSettings;\n    type restaurantsMenusV1ItemItems_universal_d_UpdateDocumentsEvent = UpdateDocumentsEvent;\n    type restaurantsMenusV1ItemItems_universal_d_UpdateDocumentsEventOperationOneOf = UpdateDocumentsEventOperationOneOf;\n    type restaurantsMenusV1ItemItems_universal_d_DocumentUpdateOperation = DocumentUpdateOperation;\n    type restaurantsMenusV1ItemItems_universal_d_IndexDocument = IndexDocument;\n    type restaurantsMenusV1ItemItems_universal_d_DocumentPayload = DocumentPayload;\n    type restaurantsMenusV1ItemItems_universal_d_DocumentImage = DocumentImage;\n    type restaurantsMenusV1ItemItems_universal_d_Enum = Enum;\n    const restaurantsMenusV1ItemItems_universal_d_Enum: typeof Enum;\n    type restaurantsMenusV1ItemItems_universal_d_DeleteByIdsOperation = DeleteByIdsOperation;\n    type restaurantsMenusV1ItemItems_universal_d_DeleteByFilterOperation = DeleteByFilterOperation;\n    type restaurantsMenusV1ItemItems_universal_d_UpdateByFilterOperation = UpdateByFilterOperation;\n    type restaurantsMenusV1ItemItems_universal_d_UpdateExistingOperation = UpdateExistingOperation;\n    type restaurantsMenusV1ItemItems_universal_d_SearchIndexingNotification = SearchIndexingNotification;\n    type restaurantsMenusV1ItemItems_universal_d_State = State;\n    const restaurantsMenusV1ItemItems_universal_d_State: typeof State;\n    type restaurantsMenusV1ItemItems_universal_d_CreateItemRequest = CreateItemRequest;\n    type restaurantsMenusV1ItemItems_universal_d_CreateItemResponse = CreateItemResponse;\n    type restaurantsMenusV1ItemItems_universal_d_BulkCreateItemsRequest = BulkCreateItemsRequest;\n    type restaurantsMenusV1ItemItems_universal_d_BulkCreateItemsResponse = BulkCreateItemsResponse;\n    type restaurantsMenusV1ItemItems_universal_d_BulkCreateItemResult = BulkCreateItemResult;\n    type restaurantsMenusV1ItemItems_universal_d_GetItemRequest = GetItemRequest;\n    type restaurantsMenusV1ItemItems_universal_d_GetItemResponse = GetItemResponse;\n    type restaurantsMenusV1ItemItems_universal_d_ListItemsRequest = ListItemsRequest;\n    type restaurantsMenusV1ItemItems_universal_d_ListItemsResponse = ListItemsResponse;\n    type restaurantsMenusV1ItemItems_universal_d_QueryItemsRequest = QueryItemsRequest;\n    type restaurantsMenusV1ItemItems_universal_d_QueryItemsResponse = QueryItemsResponse;\n    type restaurantsMenusV1ItemItems_universal_d_CountItemsRequest = CountItemsRequest;\n    type restaurantsMenusV1ItemItems_universal_d_CountItemsResponse = CountItemsResponse;\n    type restaurantsMenusV1ItemItems_universal_d_UpdateItemRequest = UpdateItemRequest;\n    type restaurantsMenusV1ItemItems_universal_d_UpdateItemResponse = UpdateItemResponse;\n    type restaurantsMenusV1ItemItems_universal_d_BulkUpdateItemRequest = BulkUpdateItemRequest;\n    type restaurantsMenusV1ItemItems_universal_d_MaskedItem = MaskedItem;\n    type restaurantsMenusV1ItemItems_universal_d_BulkUpdateItemResponse = BulkUpdateItemResponse;\n    type restaurantsMenusV1ItemItems_universal_d_BulkItemResult = BulkItemResult;\n    type restaurantsMenusV1ItemItems_universal_d_DeleteItemRequest = DeleteItemRequest;\n    type restaurantsMenusV1ItemItems_universal_d_DeleteItemResponse = DeleteItemResponse;\n    type restaurantsMenusV1ItemItems_universal_d_BulkDeleteItemsRequest = BulkDeleteItemsRequest;\n    type restaurantsMenusV1ItemItems_universal_d_BulkDeleteItemsResponse = BulkDeleteItemsResponse;\n    type restaurantsMenusV1ItemItems_universal_d_BulkDeleteItemResult = BulkDeleteItemResult;\n    type restaurantsMenusV1ItemItems_universal_d_CloneItemsRequest = CloneItemsRequest;\n    type restaurantsMenusV1ItemItems_universal_d_CloneItemsResponse = CloneItemsResponse;\n    const restaurantsMenusV1ItemItems_universal_d_createItem: typeof createItem;\n    type restaurantsMenusV1ItemItems_universal_d_CreateItemOptions = CreateItemOptions;\n    const restaurantsMenusV1ItemItems_universal_d_bulkCreateItems: typeof bulkCreateItems;\n    type restaurantsMenusV1ItemItems_universal_d_BulkCreateItemsOptions = BulkCreateItemsOptions;\n    const restaurantsMenusV1ItemItems_universal_d_getItem: typeof getItem;\n    const restaurantsMenusV1ItemItems_universal_d_listItems: typeof listItems;\n    type restaurantsMenusV1ItemItems_universal_d_ListItemsOptions = ListItemsOptions;\n    const restaurantsMenusV1ItemItems_universal_d_queryItems: typeof queryItems;\n    type restaurantsMenusV1ItemItems_universal_d_ItemsQueryResult = ItemsQueryResult;\n    type restaurantsMenusV1ItemItems_universal_d_ItemsQueryBuilder = ItemsQueryBuilder;\n    const restaurantsMenusV1ItemItems_universal_d_countItems: typeof countItems;\n    type restaurantsMenusV1ItemItems_universal_d_CountItemsOptions = CountItemsOptions;\n    const restaurantsMenusV1ItemItems_universal_d_updateItem: typeof updateItem;\n    type restaurantsMenusV1ItemItems_universal_d_UpdateItem = UpdateItem;\n    type restaurantsMenusV1ItemItems_universal_d_UpdateItemOptions = UpdateItemOptions;\n    const restaurantsMenusV1ItemItems_universal_d_bulkUpdateItem: typeof bulkUpdateItem;\n    type restaurantsMenusV1ItemItems_universal_d_BulkUpdateItemOptions = BulkUpdateItemOptions;\n    const restaurantsMenusV1ItemItems_universal_d_deleteItem: typeof deleteItem;\n    type restaurantsMenusV1ItemItems_universal_d_DeleteItemOptions = DeleteItemOptions;\n    const restaurantsMenusV1ItemItems_universal_d_bulkDeleteItems: typeof bulkDeleteItems;\n    type restaurantsMenusV1ItemItems_universal_d_BulkDeleteItemsOptions = BulkDeleteItemsOptions;\n    namespace restaurantsMenusV1ItemItems_universal_d {\n        export { restaurantsMenusV1ItemItems_universal_d_Item as Item, restaurantsMenusV1ItemItems_universal_d_ItemPricingOneOf as ItemPricingOneOf, restaurantsMenusV1ItemItems_universal_d_PriceVariants as PriceVariants, restaurantsMenusV1ItemItems_universal_d_PriceVariant as PriceVariant, restaurantsMenusV1ItemItems_universal_d_PriceInfo as PriceInfo, Label$1 as Label, restaurantsMenusV1ItemItems_universal_d_OrderSettings as OrderSettings, ModifierGroup$1 as ModifierGroup, ExtendedFields$3 as ExtendedFields, restaurantsMenusV1ItemItems_universal_d_UpdateDocumentsEvent as UpdateDocumentsEvent, restaurantsMenusV1ItemItems_universal_d_UpdateDocumentsEventOperationOneOf as UpdateDocumentsEventOperationOneOf, restaurantsMenusV1ItemItems_universal_d_DocumentUpdateOperation as DocumentUpdateOperation, restaurantsMenusV1ItemItems_universal_d_IndexDocument as IndexDocument, restaurantsMenusV1ItemItems_universal_d_DocumentPayload as DocumentPayload, restaurantsMenusV1ItemItems_universal_d_DocumentImage as DocumentImage, restaurantsMenusV1ItemItems_universal_d_Enum as Enum, restaurantsMenusV1ItemItems_universal_d_DeleteByIdsOperation as DeleteByIdsOperation, restaurantsMenusV1ItemItems_universal_d_DeleteByFilterOperation as DeleteByFilterOperation, restaurantsMenusV1ItemItems_universal_d_UpdateByFilterOperation as UpdateByFilterOperation, restaurantsMenusV1ItemItems_universal_d_UpdateExistingOperation as UpdateExistingOperation, DomainEvent$4 as DomainEvent, DomainEventBodyOneOf$4 as DomainEventBodyOneOf, EntityCreatedEvent$4 as EntityCreatedEvent, RestoreInfo$4 as RestoreInfo, EntityUpdatedEvent$4 as EntityUpdatedEvent, EntityDeletedEvent$4 as EntityDeletedEvent, ActionEvent$4 as ActionEvent, Empty$4 as Empty, restaurantsMenusV1ItemItems_universal_d_SearchIndexingNotification as SearchIndexingNotification, restaurantsMenusV1ItemItems_universal_d_State as State, MessageEnvelope$4 as MessageEnvelope, IdentificationData$4 as IdentificationData, IdentificationDataIdOneOf$4 as IdentificationDataIdOneOf, WebhookIdentityType$4 as WebhookIdentityType, InvalidateCache$4 as InvalidateCache, InvalidateCacheGetByOneOf$4 as InvalidateCacheGetByOneOf, App$4 as App, Page$4 as Page, URI$4 as URI, File$4 as File, restaurantsMenusV1ItemItems_universal_d_CreateItemRequest as CreateItemRequest, restaurantsMenusV1ItemItems_universal_d_CreateItemResponse as CreateItemResponse, restaurantsMenusV1ItemItems_universal_d_BulkCreateItemsRequest as BulkCreateItemsRequest, restaurantsMenusV1ItemItems_universal_d_BulkCreateItemsResponse as BulkCreateItemsResponse, restaurantsMenusV1ItemItems_universal_d_BulkCreateItemResult as BulkCreateItemResult, ItemMetadata$3 as ItemMetadata, ApplicationError$3 as ApplicationError, BulkActionMetadata$3 as BulkActionMetadata, restaurantsMenusV1ItemItems_universal_d_GetItemRequest as GetItemRequest, restaurantsMenusV1ItemItems_universal_d_GetItemResponse as GetItemResponse, restaurantsMenusV1ItemItems_universal_d_ListItemsRequest as ListItemsRequest, CursorPaging$4 as CursorPaging, restaurantsMenusV1ItemItems_universal_d_ListItemsResponse as ListItemsResponse, CursorPagingMetadata$4 as CursorPagingMetadata, Cursors$4 as Cursors, restaurantsMenusV1ItemItems_universal_d_QueryItemsRequest as QueryItemsRequest, CursorQuery$4 as CursorQuery, CursorQueryPagingMethodOneOf$4 as CursorQueryPagingMethodOneOf, Sorting$4 as Sorting, SortOrder$4 as SortOrder, restaurantsMenusV1ItemItems_universal_d_QueryItemsResponse as QueryItemsResponse, restaurantsMenusV1ItemItems_universal_d_CountItemsRequest as CountItemsRequest, restaurantsMenusV1ItemItems_universal_d_CountItemsResponse as CountItemsResponse, restaurantsMenusV1ItemItems_universal_d_UpdateItemRequest as UpdateItemRequest, restaurantsMenusV1ItemItems_universal_d_UpdateItemResponse as UpdateItemResponse, restaurantsMenusV1ItemItems_universal_d_BulkUpdateItemRequest as BulkUpdateItemRequest, restaurantsMenusV1ItemItems_universal_d_MaskedItem as MaskedItem, restaurantsMenusV1ItemItems_universal_d_BulkUpdateItemResponse as BulkUpdateItemResponse, restaurantsMenusV1ItemItems_universal_d_BulkItemResult as BulkItemResult, restaurantsMenusV1ItemItems_universal_d_DeleteItemRequest as DeleteItemRequest, restaurantsMenusV1ItemItems_universal_d_DeleteItemResponse as DeleteItemResponse, restaurantsMenusV1ItemItems_universal_d_BulkDeleteItemsRequest as BulkDeleteItemsRequest, restaurantsMenusV1ItemItems_universal_d_BulkDeleteItemsResponse as BulkDeleteItemsResponse, restaurantsMenusV1ItemItems_universal_d_BulkDeleteItemResult as BulkDeleteItemResult, restaurantsMenusV1ItemItems_universal_d_CloneItemsRequest as CloneItemsRequest, restaurantsMenusV1ItemItems_universal_d_CloneItemsResponse as CloneItemsResponse, restaurantsMenusV1ItemItems_universal_d_createItem as createItem, restaurantsMenusV1ItemItems_universal_d_CreateItemOptions as CreateItemOptions, restaurantsMenusV1ItemItems_universal_d_bulkCreateItems as bulkCreateItems, restaurantsMenusV1ItemItems_universal_d_BulkCreateItemsOptions as BulkCreateItemsOptions, restaurantsMenusV1ItemItems_universal_d_getItem as getItem, restaurantsMenusV1ItemItems_universal_d_listItems as listItems, restaurantsMenusV1ItemItems_universal_d_ListItemsOptions as ListItemsOptions, restaurantsMenusV1ItemItems_universal_d_queryItems as queryItems, restaurantsMenusV1ItemItems_universal_d_ItemsQueryResult as ItemsQueryResult, restaurantsMenusV1ItemItems_universal_d_ItemsQueryBuilder as ItemsQueryBuilder, restaurantsMenusV1ItemItems_universal_d_countItems as countItems, restaurantsMenusV1ItemItems_universal_d_CountItemsOptions as CountItemsOptions, restaurantsMenusV1ItemItems_universal_d_updateItem as updateItem, restaurantsMenusV1ItemItems_universal_d_UpdateItem as UpdateItem, restaurantsMenusV1ItemItems_universal_d_UpdateItemOptions as UpdateItemOptions, restaurantsMenusV1ItemItems_universal_d_bulkUpdateItem as bulkUpdateItem, restaurantsMenusV1ItemItems_universal_d_BulkUpdateItemOptions as BulkUpdateItemOptions, restaurantsMenusV1ItemItems_universal_d_deleteItem as deleteItem, restaurantsMenusV1ItemItems_universal_d_DeleteItemOptions as DeleteItemOptions, restaurantsMenusV1ItemItems_universal_d_bulkDeleteItems as bulkDeleteItems, restaurantsMenusV1ItemItems_universal_d_BulkDeleteItemsOptions as BulkDeleteItemsOptions, };\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;\n        /**\n         * Date and time the item label was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\n        /** Item label name. */\n        name?: string;\n        /** Item label icon. */\n        icon?: string;\n        /** Extended fields. */\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 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    }\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 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$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 QueryLabelsResponse {\n        /** Retrieved item labels. */\n        labels?: Label[];\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 UpdateLabelRequest {\n        /** Item label to update. */\n        label: Label;\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$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;\n        /**\n         * Whether the event was triggered as a result of a privacy regulation application\n         * (for example, GDPR).\n         */\n        triggeredByAnonymizeRequest?: boolean | null;\n        /** If present, indicates the action that triggered the event. */\n        originatedFrom?: string | null;\n        /**\n         * A sequence number defining the order of updates to the underlying entity.\n         * For example, given that some entity was updated at 16:00 and than again at 16:01,\n         * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n         * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n         * To do so, you will need to persist this number on your end, and compare the sequence number from the\n         * message against the one you have 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        /** 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$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    interface EntityDeletedEvent$3 {\n        /** Entity that was deleted */\n        deletedEntityAsJson?: 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     * > **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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionId RESTAURANTS.LABEL_READ\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function queryLabels(): LabelsQueryBuilder;\n    interface QueryCursorResult$3 {\n        cursors: Cursors$3;\n        hasNext: () => boolean;\n        hasPrev: () => boolean;\n        length: number;\n        pageSize: number;\n    }\n    interface LabelsQueryResult extends QueryCursorResult$3 {\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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;\n        /**\n         * Date and time the item label was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\n        /** Item label name. */\n        name?: string;\n        /** Item label icon. */\n        icon?: string;\n        /** Extended fields. */\n        extendedFields?: ExtendedFields$2;\n    }\n    interface UpdateLabelOptions {\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function deleteLabel(labelId: string): Promise<void>;\n    type restaurantsMenusV1ItemLabelItemLabels_universal_d_Label = Label;\n    type restaurantsMenusV1ItemLabelItemLabels_universal_d_CreateLabelRequest = CreateLabelRequest;\n    type restaurantsMenusV1ItemLabelItemLabels_universal_d_CreateLabelResponse = CreateLabelResponse;\n    type restaurantsMenusV1ItemLabelItemLabels_universal_d_GetLabelRequest = GetLabelRequest;\n    type restaurantsMenusV1ItemLabelItemLabels_universal_d_GetLabelResponse = GetLabelResponse;\n    type restaurantsMenusV1ItemLabelItemLabels_universal_d_ListLabelsRequest = ListLabelsRequest;\n    type restaurantsMenusV1ItemLabelItemLabels_universal_d_ListLabelsResponse = ListLabelsResponse;\n    type restaurantsMenusV1ItemLabelItemLabels_universal_d_QueryLabelsRequest = QueryLabelsRequest;\n    type restaurantsMenusV1ItemLabelItemLabels_universal_d_QueryLabelsResponse = QueryLabelsResponse;\n    type restaurantsMenusV1ItemLabelItemLabels_universal_d_UpdateLabelRequest = UpdateLabelRequest;\n    type restaurantsMenusV1ItemLabelItemLabels_universal_d_UpdateLabelResponse = UpdateLabelResponse;\n    type restaurantsMenusV1ItemLabelItemLabels_universal_d_DeleteLabelRequest = DeleteLabelRequest;\n    type restaurantsMenusV1ItemLabelItemLabels_universal_d_DeleteLabelResponse = DeleteLabelResponse;\n    type restaurantsMenusV1ItemLabelItemLabels_universal_d_CloneLabelsRequest = CloneLabelsRequest;\n    type restaurantsMenusV1ItemLabelItemLabels_universal_d_CloneLabelsResponse = CloneLabelsResponse;\n    const restaurantsMenusV1ItemLabelItemLabels_universal_d_createLabel: typeof createLabel;\n    const restaurantsMenusV1ItemLabelItemLabels_universal_d_getLabel: typeof getLabel;\n    const restaurantsMenusV1ItemLabelItemLabels_universal_d_listLabels: typeof listLabels;\n    const restaurantsMenusV1ItemLabelItemLabels_universal_d_queryLabels: typeof queryLabels;\n    type restaurantsMenusV1ItemLabelItemLabels_universal_d_LabelsQueryResult = LabelsQueryResult;\n    type restaurantsMenusV1ItemLabelItemLabels_universal_d_LabelsQueryBuilder = LabelsQueryBuilder;\n    const restaurantsMenusV1ItemLabelItemLabels_universal_d_updateLabel: typeof updateLabel;\n    type restaurantsMenusV1ItemLabelItemLabels_universal_d_UpdateLabel = UpdateLabel;\n    type restaurantsMenusV1ItemLabelItemLabels_universal_d_UpdateLabelOptions = UpdateLabelOptions;\n    const restaurantsMenusV1ItemLabelItemLabels_universal_d_deleteLabel: typeof deleteLabel;\n    namespace restaurantsMenusV1ItemLabelItemLabels_universal_d {\n        export { restaurantsMenusV1ItemLabelItemLabels_universal_d_Label as Label, ExtendedFields$2 as ExtendedFields, InvalidateCache$3 as InvalidateCache, InvalidateCacheGetByOneOf$3 as InvalidateCacheGetByOneOf, App$3 as App, Page$3 as Page, URI$3 as URI, File$3 as File, restaurantsMenusV1ItemLabelItemLabels_universal_d_CreateLabelRequest as CreateLabelRequest, restaurantsMenusV1ItemLabelItemLabels_universal_d_CreateLabelResponse as CreateLabelResponse, restaurantsMenusV1ItemLabelItemLabels_universal_d_GetLabelRequest as GetLabelRequest, restaurantsMenusV1ItemLabelItemLabels_universal_d_GetLabelResponse as GetLabelResponse, restaurantsMenusV1ItemLabelItemLabels_universal_d_ListLabelsRequest as ListLabelsRequest, restaurantsMenusV1ItemLabelItemLabels_universal_d_ListLabelsResponse as ListLabelsResponse, restaurantsMenusV1ItemLabelItemLabels_universal_d_QueryLabelsRequest as QueryLabelsRequest, CursorQuery$3 as CursorQuery, CursorQueryPagingMethodOneOf$3 as CursorQueryPagingMethodOneOf, Sorting$3 as Sorting, SortOrder$3 as SortOrder, CursorPaging$3 as CursorPaging, restaurantsMenusV1ItemLabelItemLabels_universal_d_QueryLabelsResponse as QueryLabelsResponse, CursorPagingMetadata$3 as CursorPagingMetadata, Cursors$3 as Cursors, restaurantsMenusV1ItemLabelItemLabels_universal_d_UpdateLabelRequest as UpdateLabelRequest, restaurantsMenusV1ItemLabelItemLabels_universal_d_UpdateLabelResponse as UpdateLabelResponse, restaurantsMenusV1ItemLabelItemLabels_universal_d_DeleteLabelRequest as DeleteLabelRequest, restaurantsMenusV1ItemLabelItemLabels_universal_d_DeleteLabelResponse as DeleteLabelResponse, restaurantsMenusV1ItemLabelItemLabels_universal_d_CloneLabelsRequest as CloneLabelsRequest, restaurantsMenusV1ItemLabelItemLabels_universal_d_CloneLabelsResponse as CloneLabelsResponse, DomainEvent$3 as DomainEvent, DomainEventBodyOneOf$3 as DomainEventBodyOneOf, EntityCreatedEvent$3 as EntityCreatedEvent, RestoreInfo$3 as RestoreInfo, EntityUpdatedEvent$3 as EntityUpdatedEvent, EntityDeletedEvent$3 as EntityDeletedEvent, ActionEvent$3 as ActionEvent, Empty$3 as Empty, MessageEnvelope$3 as MessageEnvelope, IdentificationData$3 as IdentificationData, IdentificationDataIdOneOf$3 as IdentificationDataIdOneOf, WebhookIdentityType$3 as WebhookIdentityType, restaurantsMenusV1ItemLabelItemLabels_universal_d_createLabel as createLabel, restaurantsMenusV1ItemLabelItemLabels_universal_d_getLabel as getLabel, restaurantsMenusV1ItemLabelItemLabels_universal_d_listLabels as listLabels, restaurantsMenusV1ItemLabelItemLabels_universal_d_queryLabels as queryLabels, restaurantsMenusV1ItemLabelItemLabels_universal_d_LabelsQueryResult as LabelsQueryResult, restaurantsMenusV1ItemLabelItemLabels_universal_d_LabelsQueryBuilder as LabelsQueryBuilder, restaurantsMenusV1ItemLabelItemLabels_universal_d_updateLabel as updateLabel, restaurantsMenusV1ItemLabelItemLabels_universal_d_UpdateLabel as UpdateLabel, restaurantsMenusV1ItemLabelItemLabels_universal_d_UpdateLabelOptions as UpdateLabelOptions, restaurantsMenusV1ItemLabelItemLabels_universal_d_deleteLabel as deleteLabel, };\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;\n        /**\n         * Date and time the section was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\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$1;\n        /** Whether the section is visible in the menu for site visitors. */\n        visible?: 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$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    }\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 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$2;\n    }\n    interface BulkCreateSectionResult {\n        /** Metadata for created sections. */\n        itemMetadata?: ItemMetadata$2;\n        /** Created section. Only returned if `returnEntity` is set to `true`. */\n        item?: Section;\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 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$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 ListSectionsResponse {\n        /** Retrieved sections. */\n        sections?: Section[];\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 QuerySectionsRequest {\n        /** Query options. */\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 QuerySectionsResponse {\n        /** Retrieved sections. */\n        sections?: Section[];\n        /** The metadata of the paginated results. */\n        pagingMetadata?: CursorPagingMetadata$2;\n    }\n    interface UpdateSectionRequest {\n        /** Section update. */\n        section: Section;\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    interface BulkUpdateSectionResponse {\n        /** Information about the updated sections. */\n        results?: BulkSectionResult[];\n        /** Metadata for the API call. */\n        bulkActionMetadata?: BulkActionMetadata$2;\n    }\n    interface BulkSectionResult {\n        /** Whether to receive the updated sections in the response. */\n        sectionMetadata?: ItemMetadata$2;\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$2;\n    }\n    interface BulkDeleteSectionResult {\n        /** Metadata for deleted sections. */\n        itemMetadata?: ItemMetadata$2;\n    }\n    interface CloneSectionsRequest {\n        /** The MetaSiteId to clone from. */\n        metaSiteId: string;\n    }\n    interface CloneSectionsResponse {\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;\n        /**\n         * Whether the event was triggered as a result of a privacy regulation application\n         * (for example, GDPR).\n         */\n        triggeredByAnonymizeRequest?: boolean | null;\n        /** If present, indicates the action that triggered the event. */\n        originatedFrom?: string | null;\n        /**\n         * A sequence number defining the order of updates to the underlying entity.\n         * For example, given that some entity was updated at 16:00 and than again at 16:01,\n         * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n         * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n         * To do so, you will need to persist this number on your end, and compare the sequence number from the\n         * message against the one you have 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        /** 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    interface EntityDeletedEvent$2 {\n        /** Entity that was deleted */\n        deletedEntityAsJson?: 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     * > **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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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$2;\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionId RESTAURANTS.SECTION_READ\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function querySections(): SectionsQueryBuilder;\n    interface QueryCursorResult$2 {\n        cursors: Cursors$2;\n        hasNext: () => boolean;\n        hasPrev: () => boolean;\n        length: number;\n        pageSize: number;\n    }\n    interface SectionsQueryResult extends QueryCursorResult$2 {\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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;\n        /**\n         * Date and time the section was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\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$1;\n        /** Whether the section is visible in the menu for site visitors. */\n        visible?: boolean | null;\n    }\n    interface UpdateSectionOptions {\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function bulkDeleteSections(ids: string[]): Promise<BulkDeleteSectionsResponse>;\n    type restaurantsMenusV1SectionSections_universal_d_Section = Section;\n    type restaurantsMenusV1SectionSections_universal_d_CreateSectionRequest = CreateSectionRequest;\n    type restaurantsMenusV1SectionSections_universal_d_CreateSectionResponse = CreateSectionResponse;\n    type restaurantsMenusV1SectionSections_universal_d_BulkCreateSectionsRequest = BulkCreateSectionsRequest;\n    type restaurantsMenusV1SectionSections_universal_d_BulkCreateSectionsResponse = BulkCreateSectionsResponse;\n    type restaurantsMenusV1SectionSections_universal_d_BulkCreateSectionResult = BulkCreateSectionResult;\n    type restaurantsMenusV1SectionSections_universal_d_GetSectionRequest = GetSectionRequest;\n    type restaurantsMenusV1SectionSections_universal_d_GetSectionResponse = GetSectionResponse;\n    type restaurantsMenusV1SectionSections_universal_d_ListSectionsRequest = ListSectionsRequest;\n    type restaurantsMenusV1SectionSections_universal_d_ListSectionsResponse = ListSectionsResponse;\n    type restaurantsMenusV1SectionSections_universal_d_QuerySectionsRequest = QuerySectionsRequest;\n    type restaurantsMenusV1SectionSections_universal_d_QuerySectionsResponse = QuerySectionsResponse;\n    type restaurantsMenusV1SectionSections_universal_d_UpdateSectionRequest = UpdateSectionRequest;\n    type restaurantsMenusV1SectionSections_universal_d_UpdateSectionResponse = UpdateSectionResponse;\n    type restaurantsMenusV1SectionSections_universal_d_BulkUpdateSectionRequest = BulkUpdateSectionRequest;\n    type restaurantsMenusV1SectionSections_universal_d_MaskedSection = MaskedSection;\n    type restaurantsMenusV1SectionSections_universal_d_BulkUpdateSectionResponse = BulkUpdateSectionResponse;\n    type restaurantsMenusV1SectionSections_universal_d_BulkSectionResult = BulkSectionResult;\n    type restaurantsMenusV1SectionSections_universal_d_DeleteSectionRequest = DeleteSectionRequest;\n    type restaurantsMenusV1SectionSections_universal_d_DeleteSectionResponse = DeleteSectionResponse;\n    type restaurantsMenusV1SectionSections_universal_d_BulkDeleteSectionsRequest = BulkDeleteSectionsRequest;\n    type restaurantsMenusV1SectionSections_universal_d_BulkDeleteSectionsResponse = BulkDeleteSectionsResponse;\n    type restaurantsMenusV1SectionSections_universal_d_BulkDeleteSectionResult = BulkDeleteSectionResult;\n    type restaurantsMenusV1SectionSections_universal_d_CloneSectionsRequest = CloneSectionsRequest;\n    type restaurantsMenusV1SectionSections_universal_d_CloneSectionsResponse = CloneSectionsResponse;\n    const restaurantsMenusV1SectionSections_universal_d_createSection: typeof createSection;\n    const restaurantsMenusV1SectionSections_universal_d_bulkCreateSections: typeof bulkCreateSections;\n    type restaurantsMenusV1SectionSections_universal_d_BulkCreateSectionsOptions = BulkCreateSectionsOptions;\n    const restaurantsMenusV1SectionSections_universal_d_getSection: typeof getSection;\n    const restaurantsMenusV1SectionSections_universal_d_listSections: typeof listSections;\n    type restaurantsMenusV1SectionSections_universal_d_ListSectionsOptions = ListSectionsOptions;\n    const restaurantsMenusV1SectionSections_universal_d_querySections: typeof querySections;\n    type restaurantsMenusV1SectionSections_universal_d_SectionsQueryResult = SectionsQueryResult;\n    type restaurantsMenusV1SectionSections_universal_d_SectionsQueryBuilder = SectionsQueryBuilder;\n    const restaurantsMenusV1SectionSections_universal_d_updateSection: typeof updateSection;\n    type restaurantsMenusV1SectionSections_universal_d_UpdateSection = UpdateSection;\n    type restaurantsMenusV1SectionSections_universal_d_UpdateSectionOptions = UpdateSectionOptions;\n    const restaurantsMenusV1SectionSections_universal_d_bulkUpdateSection: typeof bulkUpdateSection;\n    type restaurantsMenusV1SectionSections_universal_d_BulkUpdateSectionOptions = BulkUpdateSectionOptions;\n    const restaurantsMenusV1SectionSections_universal_d_deleteSection: typeof deleteSection;\n    const restaurantsMenusV1SectionSections_universal_d_bulkDeleteSections: typeof bulkDeleteSections;\n    namespace restaurantsMenusV1SectionSections_universal_d {\n        export { restaurantsMenusV1SectionSections_universal_d_Section as Section, ExtendedFields$1 as ExtendedFields, InvalidateCache$2 as InvalidateCache, InvalidateCacheGetByOneOf$2 as InvalidateCacheGetByOneOf, App$2 as App, Page$2 as Page, URI$2 as URI, File$2 as File, restaurantsMenusV1SectionSections_universal_d_CreateSectionRequest as CreateSectionRequest, restaurantsMenusV1SectionSections_universal_d_CreateSectionResponse as CreateSectionResponse, restaurantsMenusV1SectionSections_universal_d_BulkCreateSectionsRequest as BulkCreateSectionsRequest, restaurantsMenusV1SectionSections_universal_d_BulkCreateSectionsResponse as BulkCreateSectionsResponse, restaurantsMenusV1SectionSections_universal_d_BulkCreateSectionResult as BulkCreateSectionResult, ItemMetadata$2 as ItemMetadata, ApplicationError$2 as ApplicationError, BulkActionMetadata$2 as BulkActionMetadata, restaurantsMenusV1SectionSections_universal_d_GetSectionRequest as GetSectionRequest, restaurantsMenusV1SectionSections_universal_d_GetSectionResponse as GetSectionResponse, restaurantsMenusV1SectionSections_universal_d_ListSectionsRequest as ListSectionsRequest, CursorPaging$2 as CursorPaging, restaurantsMenusV1SectionSections_universal_d_ListSectionsResponse as ListSectionsResponse, CursorPagingMetadata$2 as CursorPagingMetadata, Cursors$2 as Cursors, restaurantsMenusV1SectionSections_universal_d_QuerySectionsRequest as QuerySectionsRequest, CursorQuery$2 as CursorQuery, CursorQueryPagingMethodOneOf$2 as CursorQueryPagingMethodOneOf, Sorting$2 as Sorting, SortOrder$2 as SortOrder, restaurantsMenusV1SectionSections_universal_d_QuerySectionsResponse as QuerySectionsResponse, restaurantsMenusV1SectionSections_universal_d_UpdateSectionRequest as UpdateSectionRequest, restaurantsMenusV1SectionSections_universal_d_UpdateSectionResponse as UpdateSectionResponse, restaurantsMenusV1SectionSections_universal_d_BulkUpdateSectionRequest as BulkUpdateSectionRequest, restaurantsMenusV1SectionSections_universal_d_MaskedSection as MaskedSection, restaurantsMenusV1SectionSections_universal_d_BulkUpdateSectionResponse as BulkUpdateSectionResponse, restaurantsMenusV1SectionSections_universal_d_BulkSectionResult as BulkSectionResult, restaurantsMenusV1SectionSections_universal_d_DeleteSectionRequest as DeleteSectionRequest, restaurantsMenusV1SectionSections_universal_d_DeleteSectionResponse as DeleteSectionResponse, restaurantsMenusV1SectionSections_universal_d_BulkDeleteSectionsRequest as BulkDeleteSectionsRequest, restaurantsMenusV1SectionSections_universal_d_BulkDeleteSectionsResponse as BulkDeleteSectionsResponse, restaurantsMenusV1SectionSections_universal_d_BulkDeleteSectionResult as BulkDeleteSectionResult, restaurantsMenusV1SectionSections_universal_d_CloneSectionsRequest as CloneSectionsRequest, restaurantsMenusV1SectionSections_universal_d_CloneSectionsResponse as CloneSectionsResponse, DomainEvent$2 as DomainEvent, DomainEventBodyOneOf$2 as DomainEventBodyOneOf, EntityCreatedEvent$2 as EntityCreatedEvent, RestoreInfo$2 as RestoreInfo, EntityUpdatedEvent$2 as EntityUpdatedEvent, EntityDeletedEvent$2 as EntityDeletedEvent, ActionEvent$2 as ActionEvent, Empty$2 as Empty, MessageEnvelope$2 as MessageEnvelope, IdentificationData$2 as IdentificationData, IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf, WebhookIdentityType$2 as WebhookIdentityType, restaurantsMenusV1SectionSections_universal_d_createSection as createSection, restaurantsMenusV1SectionSections_universal_d_bulkCreateSections as bulkCreateSections, restaurantsMenusV1SectionSections_universal_d_BulkCreateSectionsOptions as BulkCreateSectionsOptions, restaurantsMenusV1SectionSections_universal_d_getSection as getSection, restaurantsMenusV1SectionSections_universal_d_listSections as listSections, restaurantsMenusV1SectionSections_universal_d_ListSectionsOptions as ListSectionsOptions, restaurantsMenusV1SectionSections_universal_d_querySections as querySections, restaurantsMenusV1SectionSections_universal_d_SectionsQueryResult as SectionsQueryResult, restaurantsMenusV1SectionSections_universal_d_SectionsQueryBuilder as SectionsQueryBuilder, restaurantsMenusV1SectionSections_universal_d_updateSection as updateSection, restaurantsMenusV1SectionSections_universal_d_UpdateSection as UpdateSection, restaurantsMenusV1SectionSections_universal_d_UpdateSectionOptions as UpdateSectionOptions, restaurantsMenusV1SectionSections_universal_d_bulkUpdateSection as bulkUpdateSection, restaurantsMenusV1SectionSections_universal_d_BulkUpdateSectionOptions as BulkUpdateSectionOptions, restaurantsMenusV1SectionSections_universal_d_deleteSection as deleteSection, restaurantsMenusV1SectionSections_universal_d_bulkDeleteSections as bulkDeleteSections, };\n    }\n    interface ModifierGroup {\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;\n        /**\n         * Date and time the modifier group was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\n        /** Modifier group name. */\n        name?: string | null;\n        /** Group of item modifiers. */\n        modifiers?: Modifier[];\n        /** Modifier group details. */\n        rule?: Rule;\n        /** Extended fields. */\n        extendedFields?: ExtendedFields;\n    }\n    interface Modifier {\n        /** Item modifier ID. */\n        _id?: string;\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    interface Rule {\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 {\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$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    }\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 CreateModifierGroupRequest {\n        /** Modifier group details. */\n        modifierGroup: ModifierGroup;\n    }\n    interface CreateModifierGroupResponse {\n        /** Modifier group. */\n        modifierGroup?: ModifierGroup;\n    }\n    interface GetModifierGroupRequest {\n        /** Modifier group ID. */\n        modifierGroupId: string;\n    }\n    interface GetModifierGroupResponse {\n        /** Modifier group. */\n        modifierGroup?: ModifierGroup;\n    }\n    interface ListModifierGroupRequest {\n        /** Modifier group IDs. */\n        modifierGroupIds?: 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 ListModifierGroupResponse {\n        /** Retrieved modifier groups. */\n        modifierGroups?: ModifierGroup[];\n        /** The metadata of the paginated results. */\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 QueryModifierGroupsRequest {\n        /** Query options. */\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 QueryModifierGroupsResponse {\n        /** Retrieved modifier groups. */\n        modifierGroups?: ModifierGroup[];\n        /** Metadata of the paginated results. */\n        pagingMetadata?: CursorPagingMetadata$1;\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;\n    }\n    interface UpdateModifierGroupResponse {\n        /** Updated modifier group. */\n        modifierGroup?: ModifierGroup;\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[];\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$1;\n    }\n    interface BulkCreateModifierGroupsResult {\n        /** Metadata for group modifier creation. */\n        itemMetadata?: ItemMetadata$1;\n        /** Created modifier group. */\n        modifierGroup?: ModifierGroup;\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 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;\n    }\n    interface BulkUpdateModifierGroupsResponse {\n        /** Information about the updated modifier groups. */\n        results?: BulkUpdateModifierGroupsResult[];\n        /** Metadata for the API call. */\n        bulkActionMetadata?: BulkActionMetadata$1;\n    }\n    interface BulkUpdateModifierGroupsResult {\n        /** Metadata for group modifier update. */\n        itemMetadata?: ItemMetadata$1;\n        /** Updated modifier group. Only returned if `returnEntity` is set to `true`. */\n        modifierGroup?: ModifierGroup;\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$1;\n    }\n    interface BulkDeleteModifierGroupsResult {\n        /** Metadata for group modifier deletion. */\n        itemMetadata?: ItemMetadata$1;\n    }\n    interface CloneModifierGroupsRequest {\n        /** The MetaSiteId to clone from. */\n        metaSiteId: string;\n    }\n    interface CloneModifierGroupsResponse {\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;\n        /**\n         * Whether the event was triggered as a result of a privacy regulation application\n         * (for example, GDPR).\n         */\n        triggeredByAnonymizeRequest?: boolean | null;\n        /** If present, indicates the action that triggered the event. */\n        originatedFrom?: string | null;\n        /**\n         * A sequence number defining the order of updates to the underlying entity.\n         * For example, given that some entity was updated at 16:00 and than again at 16:01,\n         * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n         * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n         * To do so, you will need to persist this number on your end, and compare the sequence number from the\n         * message against the one you have 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        /** 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    interface EntityDeletedEvent$1 {\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     * > **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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Modifier group.\n     */\n    function createModifierGroup(modifierGroup: ModifierGroup): Promise<ModifierGroup>;\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     * @returns Modifier group.\n     */\n    function getModifierGroup(modifierGroupId: string): Promise<ModifierGroup>;\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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$1;\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionId RESTAURANTS.MODIFIER_GROUP_READ\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function queryModifierGroups(): ModifierGroupsQueryBuilder;\n    interface QueryCursorResult$1 {\n        cursors: Cursors$1;\n        hasNext: () => boolean;\n        hasPrev: () => boolean;\n        length: number;\n        pageSize: number;\n    }\n    interface ModifierGroupsQueryResult extends QueryCursorResult$1 {\n        items: ModifierGroup[];\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Updated modifier group.\n     */\n    function updateModifierGroup(_id: string | null, modifierGroup: UpdateModifierGroup, options?: UpdateModifierGroupOptions): Promise<ModifierGroup>;\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;\n        /**\n         * Date and time the modifier group was updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\n        /** Modifier group name. */\n        name?: string | null;\n        /** Group of item modifiers. */\n        modifiers?: Modifier[];\n        /** Modifier group details. */\n        rule?: Rule;\n        /** Extended fields. */\n        extendedFields?: ExtendedFields;\n    }\n    interface UpdateModifierGroupOptions {\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function bulkCreateModifierGroups(modifierGroups: ModifierGroup[], 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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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     * @permissionScope Manage Bookings Services and Settings\n     * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n     * @permissionScope Manage Restaurants Menus\n     * @permissionScopeId SCOPE.RESTAURANTS.MODIFY_MENUS\n     * @permissionScope Manage Portfolio\n     * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function bulkDeleteModifierGroups(ids: string[]): Promise<BulkDeleteModifierGroupsResponse>;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_ModifierGroup = ModifierGroup;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_Modifier = Modifier;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_AdditionalChargeInfo = AdditionalChargeInfo;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_Rule = Rule;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_ExtendedFields = ExtendedFields;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_CreateModifierGroupRequest = CreateModifierGroupRequest;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_CreateModifierGroupResponse = CreateModifierGroupResponse;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_GetModifierGroupRequest = GetModifierGroupRequest;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_GetModifierGroupResponse = GetModifierGroupResponse;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_ListModifierGroupRequest = ListModifierGroupRequest;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_ListModifierGroupResponse = ListModifierGroupResponse;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_QueryModifierGroupsRequest = QueryModifierGroupsRequest;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_QueryModifierGroupsResponse = QueryModifierGroupsResponse;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_CountModifierGroupsRequest = CountModifierGroupsRequest;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_CountModifierGroupsResponse = CountModifierGroupsResponse;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_UpdateModifierGroupRequest = UpdateModifierGroupRequest;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_UpdateModifierGroupResponse = UpdateModifierGroupResponse;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_DeleteModifierGroupRequest = DeleteModifierGroupRequest;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_DeleteModifierGroupResponse = DeleteModifierGroupResponse;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_BulkCreateModifierGroupsRequest = BulkCreateModifierGroupsRequest;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_BulkCreateModifierGroupsResponse = BulkCreateModifierGroupsResponse;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_BulkCreateModifierGroupsResult = BulkCreateModifierGroupsResult;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_BulkUpdateModifierGroupsRequest = BulkUpdateModifierGroupsRequest;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_MaskedModifierGroup = MaskedModifierGroup;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_BulkUpdateModifierGroupsResponse = BulkUpdateModifierGroupsResponse;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_BulkUpdateModifierGroupsResult = BulkUpdateModifierGroupsResult;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_BulkDeleteModifierGroupsRequest = BulkDeleteModifierGroupsRequest;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_BulkDeleteModifierGroupsResponse = BulkDeleteModifierGroupsResponse;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_BulkDeleteModifierGroupsResult = BulkDeleteModifierGroupsResult;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_CloneModifierGroupsRequest = CloneModifierGroupsRequest;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_CloneModifierGroupsResponse = CloneModifierGroupsResponse;\n    const restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_createModifierGroup: typeof createModifierGroup;\n    const restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_getModifierGroup: typeof getModifierGroup;\n    const restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_listModifierGroups: typeof listModifierGroups;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_ListModifierGroupsOptions = ListModifierGroupsOptions;\n    const restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_queryModifierGroups: typeof queryModifierGroups;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_ModifierGroupsQueryResult = ModifierGroupsQueryResult;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_ModifierGroupsQueryBuilder = ModifierGroupsQueryBuilder;\n    const restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_countModifierGroups: typeof countModifierGroups;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_CountModifierGroupsOptions = CountModifierGroupsOptions;\n    const restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_updateModifierGroup: typeof updateModifierGroup;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_UpdateModifierGroup = UpdateModifierGroup;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_UpdateModifierGroupOptions = UpdateModifierGroupOptions;\n    const restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_deleteModifierGroup: typeof deleteModifierGroup;\n    const restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_bulkCreateModifierGroups: typeof bulkCreateModifierGroups;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_BulkCreateModifierGroupsOptions = BulkCreateModifierGroupsOptions;\n    const restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_bulkUpdateModifierGroups: typeof bulkUpdateModifierGroups;\n    type restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_BulkUpdateModifierGroupsOptions = BulkUpdateModifierGroupsOptions;\n    const restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_bulkDeleteModifierGroups: typeof bulkDeleteModifierGroups;\n    namespace restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d {\n        export { restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_ModifierGroup as ModifierGroup, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_Modifier as Modifier, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_AdditionalChargeInfo as AdditionalChargeInfo, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_Rule as Rule, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_ExtendedFields as ExtendedFields, InvalidateCache$1 as InvalidateCache, InvalidateCacheGetByOneOf$1 as InvalidateCacheGetByOneOf, App$1 as App, Page$1 as Page, URI$1 as URI, File$1 as File, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_CreateModifierGroupRequest as CreateModifierGroupRequest, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_CreateModifierGroupResponse as CreateModifierGroupResponse, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_GetModifierGroupRequest as GetModifierGroupRequest, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_GetModifierGroupResponse as GetModifierGroupResponse, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_ListModifierGroupRequest as ListModifierGroupRequest, CursorPaging$1 as CursorPaging, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_ListModifierGroupResponse as ListModifierGroupResponse, CursorPagingMetadata$1 as CursorPagingMetadata, Cursors$1 as Cursors, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_QueryModifierGroupsRequest as QueryModifierGroupsRequest, CursorQuery$1 as CursorQuery, CursorQueryPagingMethodOneOf$1 as CursorQueryPagingMethodOneOf, Sorting$1 as Sorting, SortOrder$1 as SortOrder, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_QueryModifierGroupsResponse as QueryModifierGroupsResponse, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_CountModifierGroupsRequest as CountModifierGroupsRequest, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_CountModifierGroupsResponse as CountModifierGroupsResponse, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_UpdateModifierGroupRequest as UpdateModifierGroupRequest, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_UpdateModifierGroupResponse as UpdateModifierGroupResponse, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_DeleteModifierGroupRequest as DeleteModifierGroupRequest, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_DeleteModifierGroupResponse as DeleteModifierGroupResponse, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_BulkCreateModifierGroupsRequest as BulkCreateModifierGroupsRequest, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_BulkCreateModifierGroupsResponse as BulkCreateModifierGroupsResponse, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_BulkCreateModifierGroupsResult as BulkCreateModifierGroupsResult, ItemMetadata$1 as ItemMetadata, ApplicationError$1 as ApplicationError, BulkActionMetadata$1 as BulkActionMetadata, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_BulkUpdateModifierGroupsRequest as BulkUpdateModifierGroupsRequest, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_MaskedModifierGroup as MaskedModifierGroup, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_BulkUpdateModifierGroupsResponse as BulkUpdateModifierGroupsResponse, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_BulkUpdateModifierGroupsResult as BulkUpdateModifierGroupsResult, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_BulkDeleteModifierGroupsRequest as BulkDeleteModifierGroupsRequest, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_BulkDeleteModifierGroupsResponse as BulkDeleteModifierGroupsResponse, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_BulkDeleteModifierGroupsResult as BulkDeleteModifierGroupsResult, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_CloneModifierGroupsRequest as CloneModifierGroupsRequest, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_CloneModifierGroupsResponse as CloneModifierGroupsResponse, DomainEvent$1 as DomainEvent, DomainEventBodyOneOf$1 as DomainEventBodyOneOf, EntityCreatedEvent$1 as EntityCreatedEvent, RestoreInfo$1 as RestoreInfo, EntityUpdatedEvent$1 as EntityUpdatedEvent, EntityDeletedEvent$1 as EntityDeletedEvent, ActionEvent$1 as ActionEvent, Empty$1 as Empty, MessageEnvelope$1 as MessageEnvelope, IdentificationData$1 as IdentificationData, IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf, WebhookIdentityType$1 as WebhookIdentityType, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_createModifierGroup as createModifierGroup, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_getModifierGroup as getModifierGroup, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_listModifierGroups as listModifierGroups, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_ListModifierGroupsOptions as ListModifierGroupsOptions, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_queryModifierGroups as queryModifierGroups, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_ModifierGroupsQueryResult as ModifierGroupsQueryResult, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_ModifierGroupsQueryBuilder as ModifierGroupsQueryBuilder, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_countModifierGroups as countModifierGroups, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_CountModifierGroupsOptions as CountModifierGroupsOptions, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_updateModifierGroup as updateModifierGroup, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_UpdateModifierGroup as UpdateModifierGroup, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_UpdateModifierGroupOptions as UpdateModifierGroupOptions, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_deleteModifierGroup as deleteModifierGroup, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_bulkCreateModifierGroups as bulkCreateModifierGroups, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_BulkCreateModifierGroupsOptions as BulkCreateModifierGroupsOptions, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_bulkUpdateModifierGroups as bulkUpdateModifierGroups, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_BulkUpdateModifierGroupsOptions as BulkUpdateModifierGroupsOptions, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d_bulkDeleteModifierGroups as bulkDeleteModifierGroups, };\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;\n        /**\n         * Date and time the fulfillment method was last updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\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    /** @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        /** Missing type due to an error. */\n        UNKNOWN_FULFILLMENT_TYPE = \"UNKNOWN_FULFILLMENT_TYPE\",\n        /**\n         * Pickup fulfillment method.\n         *\n         * This indicates that the customer must pick up the order from the restaurant.\n         */\n        PICKUP = \"PICKUP\",\n        /**\n         * Delivery fulfillment method.\n         *\n         * This indicates that the restaurant, or someone on behalf of the restaurant, must deliver the order to the customer.\n         */\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    /** @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    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    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;\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 {\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         */\n        value?: 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         * 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 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 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;\n    }\n    interface BulkCreateFulfillmentMethodResult {\n        /** Metadata for fulfillment method creation. */\n        itemMetadata?: ItemMetadata;\n        /** Created fulfillment method. */\n        fulfillmentMethod?: FulfillmentMethod;\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 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    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;\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 QueryFulfillmentMethodsResponse {\n        /** The retrieved fulfillment methods. */\n        fulfillmentMethods?: FulfillmentMethod[];\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        /** 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 ListFulfillmentMethodsRequest {\n        /** Cursor paging */\n        cursorPaging?: CursorPaging;\n    }\n    interface ListFulfillmentMethodsResponse {\n        /** The retrieved fulfillment methods. */\n        fulfillmentMethods?: FulfillmentMethod[];\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;\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?: CursorPagingMetadata;\n    }\n    interface ListActiveFulfillmentMethodsRequest {\n        /** Only fulfillment methods with the given IDs will be returned. */\n        fulfillmentMethodIds?: string[];\n        /** Cursor paging */\n        cursorPaging?: CursorPaging;\n    }\n    interface ListActiveFulfillmentMethodsResponse {\n        /** The enabled fulfillment methods. */\n        fulfillmentMethods?: FulfillmentMethod[];\n        /** The metadata of the paginated results. */\n        pagingMetadata?: CursorPagingMetadata;\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        /** 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 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 {\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 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        /** 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    interface EntityDeletedEvent {\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 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.deliveryOptions.deliveryArea.radiusOptions.value\n     * @requiredField fulfillmentMethod.pickupOptions.address\n     * @permissionId RESTAURANTS.FULFILLMENT_METHOD_CREATE\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns The created fulfillment method.\n     */\n    function createFulfillmentMethod(fulfillmentMethod: FulfillmentMethod): Promise<FulfillmentMethod>;\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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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;\n        /**\n         * Date and time the fulfillment method was last updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\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    interface UpdateFulfillmentMethodOptions {\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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @permissionId RESTAURANTS.FULFILLMENT_METHOD_READ\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function queryFulfillmentMethods(options?: QueryFulfillmentMethodsOptions): FulfillmentMethodsQueryBuilder;\n    interface QueryFulfillmentMethodsOptions {\n    }\n    interface QueryCursorResult {\n        cursors: Cursors;\n        hasNext: () => boolean;\n        hasPrev: () => boolean;\n        length: number;\n        pageSize: number;\n    }\n    interface FulfillmentMethodsQueryResult extends QueryCursorResult {\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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function listFulfillmentMethods(options?: ListFulfillmentMethodsOptions): Promise<ListFulfillmentMethodsResponse>;\n    interface ListFulfillmentMethodsOptions {\n        /** Cursor paging */\n        cursorPaging?: CursorPaging;\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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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;\n        /** If provided, only fulfillment methods with the given IDs will be returned. */\n        fulfillmentMethodIds?: string[];\n    }\n    interface ListActiveFulfillmentMethodsOptions {\n        /** Only fulfillment methods with the given IDs will be returned. */\n        fulfillmentMethodIds?: string[];\n        /** Cursor paging */\n        cursorPaging?: CursorPaging;\n    }\n    /**\n     * Retrieves the accumulated availability of all fulfillment methods.\n     * @public\n     * @documentationMaturity preview\n     * @permissionId RESTAURANTS.FULFILLMENT_METHOD_READ\n     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Restaurants - all permissions\n     * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n     * @applicableIdentity APP\n     * @applicableIdentity VISITOR\n     */\n    function getCombinedMethodAvailability(fulfillmentMethodIds: string[]): Promise<GetCombinedMethodAvailabilityResponse>;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_FulfillmentMethod = FulfillmentMethod;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_FulfillmentMethodMethodOptionsOneOf = FulfillmentMethodMethodOptionsOneOf;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_FulfillmentMethodType = FulfillmentMethodType;\n    const restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_FulfillmentMethodType: typeof FulfillmentMethodType;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_PickupInfo = PickupInfo;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_CommonAddress = CommonAddress;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_CommonAddressStreetOneOf = CommonAddressStreetOneOf;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_StreetAddress = StreetAddress;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_AddressLocation = AddressLocation;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Subdivision = Subdivision;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_SubdivisionType = SubdivisionType;\n    const restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_SubdivisionType: typeof SubdivisionType;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_DeliveryInfo = DeliveryInfo;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_DeliveryArea = DeliveryArea;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_DeliveryAreaAreaOptionsOneOf = DeliveryAreaAreaOptionsOneOf;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Type = Type;\n    const restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Type: typeof Type;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Radius = Radius;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Unit = Unit;\n    const restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Unit: typeof Unit;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_PostalCode = PostalCode;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_CustomArea = CustomArea;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Availability = Availability;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_DayOfWeekAvailability = DayOfWeekAvailability;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_EntitiesDayOfWeek = EntitiesDayOfWeek;\n    const restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_EntitiesDayOfWeek: typeof EntitiesDayOfWeek;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_TimeOfDayRange = TimeOfDayRange;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_TimeOfDay = TimeOfDay;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_InvalidateCache = InvalidateCache;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_InvalidateCacheGetByOneOf = InvalidateCacheGetByOneOf;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_App = App;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Page = Page;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_URI = URI;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_File = File;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_CreateFulfillmentMethodRequest = CreateFulfillmentMethodRequest;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_CreateFulfillmentMethodResponse = CreateFulfillmentMethodResponse;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_BulkCreateFulfillmentMethodsRequest = BulkCreateFulfillmentMethodsRequest;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_BulkCreateFulfillmentMethodsResponse = BulkCreateFulfillmentMethodsResponse;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_BulkCreateFulfillmentMethodResult = BulkCreateFulfillmentMethodResult;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ItemMetadata = ItemMetadata;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ApplicationError = ApplicationError;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_BulkActionMetadata = BulkActionMetadata;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_GetFulfillmentMethodRequest = GetFulfillmentMethodRequest;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_GetFulfillmentMethodResponse = GetFulfillmentMethodResponse;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_UpdateFulfillmentMethodRequest = UpdateFulfillmentMethodRequest;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_UpdateFulfillmentMethodResponse = UpdateFulfillmentMethodResponse;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_DeleteFulfillmentMethodRequest = DeleteFulfillmentMethodRequest;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_DeleteFulfillmentMethodResponse = DeleteFulfillmentMethodResponse;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_QueryFulfillmentMethodsRequest = QueryFulfillmentMethodsRequest;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_CursorQuery = CursorQuery;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Sorting = Sorting;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_SortOrder = SortOrder;\n    const restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_SortOrder: typeof SortOrder;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_CursorPaging = CursorPaging;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_QueryFulfillmentMethodsResponse = QueryFulfillmentMethodsResponse;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Cursors = Cursors;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ListFulfillmentMethodsRequest = ListFulfillmentMethodsRequest;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ListFulfillmentMethodsResponse = ListFulfillmentMethodsResponse;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ListAvailableFulfillmentMethodsForAddressRequest = ListAvailableFulfillmentMethodsForAddressRequest;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ListAvailableFulfillmentMethodsForAddressResponse = ListAvailableFulfillmentMethodsForAddressResponse;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ListActiveFulfillmentMethodsRequest = ListActiveFulfillmentMethodsRequest;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ListActiveFulfillmentMethodsResponse = ListActiveFulfillmentMethodsResponse;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_GetAccumulatedFulfillmentMethodsAvailabilityRequest = GetAccumulatedFulfillmentMethodsAvailabilityRequest;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_GetAccumulatedFulfillmentMethodsAvailabilityResponse = GetAccumulatedFulfillmentMethodsAvailabilityResponse;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_GetCombinedMethodAvailabilityRequest = GetCombinedMethodAvailabilityRequest;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_GetCombinedMethodAvailabilityResponse = GetCombinedMethodAvailabilityResponse;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_SitePropertiesNotification = SitePropertiesNotification;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_SitePropertiesEvent = SitePropertiesEvent;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Properties = Properties;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Categories = Categories;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Locale = Locale;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Address = Address;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_AddressHint = AddressHint;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_PlacementType = PlacementType;\n    const restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_PlacementType: typeof PlacementType;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_GeoCoordinates = GeoCoordinates;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_BusinessSchedule = BusinessSchedule;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_TimePeriod = TimePeriod;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_DayOfWeek = DayOfWeek;\n    const restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_DayOfWeek: typeof DayOfWeek;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_SpecialHourPeriod = SpecialHourPeriod;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Multilingual = Multilingual;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_SupportedLanguage = SupportedLanguage;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ResolutionMethod = ResolutionMethod;\n    const restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ResolutionMethod: typeof ResolutionMethod;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ConsentPolicy = ConsentPolicy;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Translation = Translation;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ChangeContext = ChangeContext;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ChangeContextPayloadOneOf = ChangeContextPayloadOneOf;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_PropertiesChange = PropertiesChange;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_SiteCreated = SiteCreated;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_SiteCloned = SiteCloned;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Empty = Empty;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_DomainEvent = DomainEvent;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_RestoreInfo = RestoreInfo;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ActionEvent = ActionEvent;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_MessageEnvelope = MessageEnvelope;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_IdentificationData = IdentificationData;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_WebhookIdentityType = WebhookIdentityType;\n    const restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n    const restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_createFulfillmentMethod: typeof createFulfillmentMethod;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_BulkCreateFulfillmentMethodsOptions = BulkCreateFulfillmentMethodsOptions;\n    const restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_getFulfillmentMethod: typeof getFulfillmentMethod;\n    const restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_updateFulfillmentMethod: typeof updateFulfillmentMethod;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_UpdateFulfillmentMethod = UpdateFulfillmentMethod;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_UpdateFulfillmentMethodOptions = UpdateFulfillmentMethodOptions;\n    const restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_deleteFulfillmentMethod: typeof deleteFulfillmentMethod;\n    const restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_queryFulfillmentMethods: typeof queryFulfillmentMethods;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_QueryFulfillmentMethodsOptions = QueryFulfillmentMethodsOptions;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_FulfillmentMethodsQueryResult = FulfillmentMethodsQueryResult;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_FulfillmentMethodsQueryBuilder = FulfillmentMethodsQueryBuilder;\n    const restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_listFulfillmentMethods: typeof listFulfillmentMethods;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ListFulfillmentMethodsOptions = ListFulfillmentMethodsOptions;\n    const restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_listAvailableFulfillmentMethodsForAddress: typeof listAvailableFulfillmentMethodsForAddress;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ListAvailableFulfillmentMethodsForAddressOptions = ListAvailableFulfillmentMethodsForAddressOptions;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ListActiveFulfillmentMethodsOptions = ListActiveFulfillmentMethodsOptions;\n    const restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_getAccumulatedFulfillmentMethodsAvailability: typeof getAccumulatedFulfillmentMethodsAvailability;\n    type restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_GetAccumulatedFulfillmentMethodsAvailabilityOptions = GetAccumulatedFulfillmentMethodsAvailabilityOptions;\n    const restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_getCombinedMethodAvailability: typeof getCombinedMethodAvailability;\n    namespace restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d {\n        export { restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_FulfillmentMethod as FulfillmentMethod, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_FulfillmentMethodMethodOptionsOneOf as FulfillmentMethodMethodOptionsOneOf, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_FulfillmentMethodType as FulfillmentMethodType, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_PickupInfo as PickupInfo, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_CommonAddress as CommonAddress, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_CommonAddressStreetOneOf as CommonAddressStreetOneOf, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_StreetAddress as StreetAddress, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_AddressLocation as AddressLocation, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Subdivision as Subdivision, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_SubdivisionType as SubdivisionType, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_DeliveryInfo as DeliveryInfo, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_DeliveryArea as DeliveryArea, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_DeliveryAreaAreaOptionsOneOf as DeliveryAreaAreaOptionsOneOf, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Type as Type, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Radius as Radius, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Unit as Unit, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_PostalCode as PostalCode, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_CustomArea as CustomArea, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Availability as Availability, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_DayOfWeekAvailability as DayOfWeekAvailability, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_EntitiesDayOfWeek as EntitiesDayOfWeek, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_TimeOfDayRange as TimeOfDayRange, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_TimeOfDay as TimeOfDay, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_InvalidateCache as InvalidateCache, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_InvalidateCacheGetByOneOf as InvalidateCacheGetByOneOf, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_App as App, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Page as Page, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_URI as URI, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_File as File, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_CreateFulfillmentMethodRequest as CreateFulfillmentMethodRequest, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_CreateFulfillmentMethodResponse as CreateFulfillmentMethodResponse, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_BulkCreateFulfillmentMethodsRequest as BulkCreateFulfillmentMethodsRequest, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_BulkCreateFulfillmentMethodsResponse as BulkCreateFulfillmentMethodsResponse, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_BulkCreateFulfillmentMethodResult as BulkCreateFulfillmentMethodResult, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ItemMetadata as ItemMetadata, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ApplicationError as ApplicationError, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_BulkActionMetadata as BulkActionMetadata, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_GetFulfillmentMethodRequest as GetFulfillmentMethodRequest, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_GetFulfillmentMethodResponse as GetFulfillmentMethodResponse, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_UpdateFulfillmentMethodRequest as UpdateFulfillmentMethodRequest, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_UpdateFulfillmentMethodResponse as UpdateFulfillmentMethodResponse, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_DeleteFulfillmentMethodRequest as DeleteFulfillmentMethodRequest, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_DeleteFulfillmentMethodResponse as DeleteFulfillmentMethodResponse, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_QueryFulfillmentMethodsRequest as QueryFulfillmentMethodsRequest, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_CursorQuery as CursorQuery, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Sorting as Sorting, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_SortOrder as SortOrder, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_CursorPaging as CursorPaging, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_QueryFulfillmentMethodsResponse as QueryFulfillmentMethodsResponse, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_CursorPagingMetadata as CursorPagingMetadata, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Cursors as Cursors, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ListFulfillmentMethodsRequest as ListFulfillmentMethodsRequest, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ListFulfillmentMethodsResponse as ListFulfillmentMethodsResponse, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ListAvailableFulfillmentMethodsForAddressRequest as ListAvailableFulfillmentMethodsForAddressRequest, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ListAvailableFulfillmentMethodsForAddressResponse as ListAvailableFulfillmentMethodsForAddressResponse, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ListActiveFulfillmentMethodsRequest as ListActiveFulfillmentMethodsRequest, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ListActiveFulfillmentMethodsResponse as ListActiveFulfillmentMethodsResponse, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_GetAccumulatedFulfillmentMethodsAvailabilityRequest as GetAccumulatedFulfillmentMethodsAvailabilityRequest, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_GetAccumulatedFulfillmentMethodsAvailabilityResponse as GetAccumulatedFulfillmentMethodsAvailabilityResponse, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_GetCombinedMethodAvailabilityRequest as GetCombinedMethodAvailabilityRequest, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_GetCombinedMethodAvailabilityResponse as GetCombinedMethodAvailabilityResponse, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_SitePropertiesNotification as SitePropertiesNotification, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_SitePropertiesEvent as SitePropertiesEvent, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Properties as Properties, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Categories as Categories, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Locale as Locale, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Address as Address, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_AddressHint as AddressHint, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_PlacementType as PlacementType, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_GeoCoordinates as GeoCoordinates, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_BusinessSchedule as BusinessSchedule, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_TimePeriod as TimePeriod, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_DayOfWeek as DayOfWeek, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_SpecialHourPeriod as SpecialHourPeriod, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Multilingual as Multilingual, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_SupportedLanguage as SupportedLanguage, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ResolutionMethod as ResolutionMethod, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ConsentPolicy as ConsentPolicy, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Translation as Translation, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ChangeContext as ChangeContext, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ChangeContextPayloadOneOf as ChangeContextPayloadOneOf, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_PropertiesChange as PropertiesChange, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_SiteCreated as SiteCreated, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_SiteCloned as SiteCloned, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_Empty as Empty, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_DomainEvent as DomainEvent, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_EntityCreatedEvent as EntityCreatedEvent, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_RestoreInfo as RestoreInfo, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_EntityUpdatedEvent as EntityUpdatedEvent, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_EntityDeletedEvent as EntityDeletedEvent, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ActionEvent as ActionEvent, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_MessageEnvelope as MessageEnvelope, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_IdentificationData as IdentificationData, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_WebhookIdentityType as WebhookIdentityType, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_createFulfillmentMethod as createFulfillmentMethod, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_BulkCreateFulfillmentMethodsOptions as BulkCreateFulfillmentMethodsOptions, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_getFulfillmentMethod as getFulfillmentMethod, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_updateFulfillmentMethod as updateFulfillmentMethod, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_UpdateFulfillmentMethod as UpdateFulfillmentMethod, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_UpdateFulfillmentMethodOptions as UpdateFulfillmentMethodOptions, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_deleteFulfillmentMethod as deleteFulfillmentMethod, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_queryFulfillmentMethods as queryFulfillmentMethods, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_QueryFulfillmentMethodsOptions as QueryFulfillmentMethodsOptions, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_FulfillmentMethodsQueryResult as FulfillmentMethodsQueryResult, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_FulfillmentMethodsQueryBuilder as FulfillmentMethodsQueryBuilder, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_listFulfillmentMethods as listFulfillmentMethods, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ListFulfillmentMethodsOptions as ListFulfillmentMethodsOptions, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_listAvailableFulfillmentMethodsForAddress as listAvailableFulfillmentMethodsForAddress, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ListAvailableFulfillmentMethodsForAddressOptions as ListAvailableFulfillmentMethodsForAddressOptions, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_ListActiveFulfillmentMethodsOptions as ListActiveFulfillmentMethodsOptions, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_getAccumulatedFulfillmentMethodsAvailability as getAccumulatedFulfillmentMethodsAvailability, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_GetAccumulatedFulfillmentMethodsAvailabilityOptions as GetAccumulatedFulfillmentMethodsAvailabilityOptions, restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d_getCombinedMethodAvailability as getCombinedMethodAvailability, };\n    }\n    export { restaurantsV1FulfillmentMethodFulfillmentMethods_universal_d as fulfillmentMethods, restaurantsMenusV1ItemLabelItemLabels_universal_d as itemLabels, restaurantsMenusV1ItemModifierGroupItemModifierGroups_universal_d as itemModifierGroups, restaurantsMenusV1ItemModifierItemModifiers_universal_d as itemModifiers, restaurantsMenusV1ItemVariantItemVariants_universal_d as itemVariants, restaurantsMenusV1ItemItems_universal_d as items, restaurantsMenuSettingsV1MenuOrderingSettingsMenuOrderingSettings_universal_d as menuOrderingSettings, restaurantsMenusV1MenuMenus_universal_d as menus, restaurantsOperationsV1OperationOperations_universal_d as operations, restaurantsMenusV1SectionSections_universal_d as sections, serviceFeesV1RuleServiceFees_universal_d as serviceFees };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/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    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    export { AlternativeUri, BusinessError, Context, IdentificationData, IdentificationDataIdOneOf, IdentityType, InvokeOptions, InvokeRequest, InvokeResponse, SpiBaseUri, VeloActionConfig };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-multilingual.v2.d.ts",
      "content": "declare module \"wix-multilingual.v2\" {\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;\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;\n    }\n    enum Format {\n        /** Unspecified format. Is automatically rejected. */\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 {\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        /** 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    }\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. 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        /** 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. 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        /** Image caption. */\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    }\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 Metadata {\n        /** Schema version. */\n        version?: number;\n        /**\n         * When the object was created.\n         * @readonly\n         * @deprecated\n         */\n        createdTimestamp?: Date;\n        /**\n         * When the object was most recently updated.\n         * @deprecated\n         */\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 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        /** Mriteilon (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 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;\n    }\n    interface BulkTranslateResult {\n        /** Metadata for the individual item in the request. */\n        itemMetadata?: ItemMetadata;\n        /** The translated content. */\n        item?: TranslatableContent;\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    /**\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     * @applicableIdentity VISITOR\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     * @applicableIdentity VISITOR\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    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_TranslatableContent = TranslatableContent;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_TranslatableContentContentOneOf = TranslatableContentContentOneOf;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Format = Format;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Format: typeof Format;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_RichContent = RichContent;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Node = Node;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_NodeDataOneOf = NodeDataOneOf;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_NodeType = NodeType;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_NodeType: typeof NodeType;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_NodeStyle = NodeStyle;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_ButtonData = ButtonData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Border = Border;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Colors = Colors;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_PluginContainerData = PluginContainerData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_WidthType = WidthType;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_WidthType: typeof WidthType;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_PluginContainerDataWidth = PluginContainerDataWidth;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_PluginContainerDataWidthDataOneOf = PluginContainerDataWidthDataOneOf;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_PluginContainerDataAlignment = PluginContainerDataAlignment;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_PluginContainerDataAlignment: typeof PluginContainerDataAlignment;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Spoiler = Spoiler;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Height = Height;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Type = Type;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Type: typeof Type;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Styles = Styles;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Link = Link;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_LinkDataOneOf = LinkDataOneOf;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Target = Target;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Target: typeof Target;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Rel = Rel;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_CodeBlockData = CodeBlockData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_TextStyle = TextStyle;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_TextAlignment = TextAlignment;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_TextAlignment: typeof TextAlignment;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_DividerData = DividerData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_LineStyle = LineStyle;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_LineStyle: typeof LineStyle;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Width = Width;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Width: typeof Width;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Alignment = Alignment;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Alignment: typeof Alignment;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_FileData = FileData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_ViewMode = ViewMode;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_ViewMode: typeof ViewMode;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_FileSource = FileSource;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_FileSourceDataOneOf = FileSourceDataOneOf;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_PDFSettings = PDFSettings;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_GalleryData = GalleryData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Media = Media;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Image = Image;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Video = Video;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Item = Item;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_ItemDataOneOf = ItemDataOneOf;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_GalleryOptions = GalleryOptions;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_LayoutType = LayoutType;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_LayoutType: typeof LayoutType;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Orientation = Orientation;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Orientation: typeof Orientation;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Crop = Crop;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Crop: typeof Crop;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_ThumbnailsAlignment = ThumbnailsAlignment;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_ThumbnailsAlignment: typeof ThumbnailsAlignment;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Layout = Layout;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_ItemStyle = ItemStyle;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Thumbnails = Thumbnails;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_GIFData = GIFData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_GIF = GIF;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_HeadingData = HeadingData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_HTMLData = HTMLData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_HTMLDataDataOneOf = HTMLDataDataOneOf;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Source = Source;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Source: typeof Source;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_ImageData = ImageData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_LinkPreviewData = LinkPreviewData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_MapData = MapData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_MapSettings = MapSettings;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_MapType = MapType;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_MapType: typeof MapType;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_ParagraphData = ParagraphData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_PollData = PollData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_ViewRole = ViewRole;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_ViewRole: typeof ViewRole;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_VoteRole = VoteRole;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_VoteRole: typeof VoteRole;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Permissions = Permissions;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Option = Option;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Settings = Settings;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_PollLayoutType = PollLayoutType;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_PollLayoutType: typeof PollLayoutType;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_PollLayoutDirection = PollLayoutDirection;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_PollLayoutDirection: typeof PollLayoutDirection;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_PollLayout = PollLayout;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_OptionLayout = OptionLayout;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_BackgroundType = BackgroundType;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_BackgroundType: typeof BackgroundType;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Gradient = Gradient;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Background = Background;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_BackgroundBackgroundOneOf = BackgroundBackgroundOneOf;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_PollDesign = PollDesign;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_OptionDesign = OptionDesign;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Poll = Poll;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_PollDataLayout = PollDataLayout;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Design = Design;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_TextData = TextData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Decoration = Decoration;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_DecorationDataOneOf = DecorationDataOneOf;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_DecorationType = DecorationType;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_DecorationType: typeof DecorationType;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_AnchorData = AnchorData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_ColorData = ColorData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_LinkData = LinkData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_MentionData = MentionData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_FontSizeData = FontSizeData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_FontType = FontType;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_FontType: typeof FontType;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_SpoilerData = SpoilerData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_AppEmbedData = AppEmbedData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_AppEmbedDataAppDataOneOf = AppEmbedDataAppDataOneOf;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_AppType = AppType;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_AppType: typeof AppType;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_BookingData = BookingData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_EventData = EventData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_VideoData = VideoData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_PlaybackOptions = PlaybackOptions;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_EmbedData = EmbedData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Oembed = Oembed;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_CollapsibleListData = CollapsibleListData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_InitialExpandedItems = InitialExpandedItems;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_InitialExpandedItems: typeof InitialExpandedItems;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Direction = Direction;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Direction: typeof Direction;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_TableData = TableData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Dimensions = Dimensions;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_TableCellData = TableCellData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_VerticalAlignment = VerticalAlignment;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_VerticalAlignment: typeof VerticalAlignment;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_CellStyle = CellStyle;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_BorderColors = BorderColors;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_NullValue = NullValue;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_NullValue: typeof NullValue;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_ListValue = ListValue;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_AudioData = AudioData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_OrderedListData = OrderedListData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_BulletedListData = BulletedListData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_BlockquoteData = BlockquoteData;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Metadata = Metadata;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_DocumentStyle = DocumentStyle;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_TextNodeStyle = TextNodeStyle;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_MachineTranslateRequest = MachineTranslateRequest;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_SupportedLanguage = SupportedLanguage;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_SupportedLanguage: typeof SupportedLanguage;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_MachineTranslateResponse = MachineTranslateResponse;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_NotEnoughCreditsError = NotEnoughCreditsError;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_TextTooLongError = TextTooLongError;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_UnknownFormatError = UnknownFormatError;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_BulkMachineTranslateRequest = BulkMachineTranslateRequest;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_BulkMachineTranslateResponse = BulkMachineTranslateResponse;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_BulkTranslateResult = BulkTranslateResult;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_ItemMetadata = ItemMetadata;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_ApplicationError = ApplicationError;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_BulkActionMetadata = BulkActionMetadata;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_machineTranslate: typeof machineTranslate;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_MachineTranslateOptions = MachineTranslateOptions;\n    const multilingualMachineV3TranslatableContentMachineTranslation_universal_d_bulkMachineTranslate: typeof bulkMachineTranslate;\n    type multilingualMachineV3TranslatableContentMachineTranslation_universal_d_BulkMachineTranslateOptions = BulkMachineTranslateOptions;\n    namespace multilingualMachineV3TranslatableContentMachineTranslation_universal_d {\n        export { multilingualMachineV3TranslatableContentMachineTranslation_universal_d_TranslatableContent as TranslatableContent, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_TranslatableContentContentOneOf as TranslatableContentContentOneOf, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Format as Format, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_RichContent as RichContent, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Node as Node, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_NodeDataOneOf as NodeDataOneOf, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_NodeType as NodeType, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_NodeStyle as NodeStyle, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_ButtonData as ButtonData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Border as Border, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Colors as Colors, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_PluginContainerData as PluginContainerData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_WidthType as WidthType, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_PluginContainerDataWidth as PluginContainerDataWidth, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_PluginContainerDataWidthDataOneOf as PluginContainerDataWidthDataOneOf, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_PluginContainerDataAlignment as PluginContainerDataAlignment, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Spoiler as Spoiler, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Height as Height, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Type as Type, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Styles as Styles, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Link as Link, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_LinkDataOneOf as LinkDataOneOf, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Target as Target, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Rel as Rel, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_CodeBlockData as CodeBlockData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_TextStyle as TextStyle, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_TextAlignment as TextAlignment, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_DividerData as DividerData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_LineStyle as LineStyle, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Width as Width, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Alignment as Alignment, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_FileData as FileData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_ViewMode as ViewMode, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_FileSource as FileSource, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_FileSourceDataOneOf as FileSourceDataOneOf, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_PDFSettings as PDFSettings, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_GalleryData as GalleryData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Media as Media, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Image as Image, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Video as Video, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Item as Item, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_ItemDataOneOf as ItemDataOneOf, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_GalleryOptions as GalleryOptions, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_LayoutType as LayoutType, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Orientation as Orientation, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Crop as Crop, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_ThumbnailsAlignment as ThumbnailsAlignment, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Layout as Layout, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_ItemStyle as ItemStyle, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Thumbnails as Thumbnails, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_GIFData as GIFData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_GIF as GIF, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_HeadingData as HeadingData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_HTMLData as HTMLData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_HTMLDataDataOneOf as HTMLDataDataOneOf, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Source as Source, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_ImageData as ImageData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_LinkPreviewData as LinkPreviewData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_MapData as MapData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_MapSettings as MapSettings, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_MapType as MapType, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_ParagraphData as ParagraphData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_PollData as PollData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_ViewRole as ViewRole, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_VoteRole as VoteRole, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Permissions as Permissions, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Option as Option, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Settings as Settings, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_PollLayoutType as PollLayoutType, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_PollLayoutDirection as PollLayoutDirection, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_PollLayout as PollLayout, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_OptionLayout as OptionLayout, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_BackgroundType as BackgroundType, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Gradient as Gradient, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Background as Background, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_BackgroundBackgroundOneOf as BackgroundBackgroundOneOf, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_PollDesign as PollDesign, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_OptionDesign as OptionDesign, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Poll as Poll, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_PollDataLayout as PollDataLayout, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Design as Design, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_TextData as TextData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Decoration as Decoration, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_DecorationDataOneOf as DecorationDataOneOf, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_DecorationType as DecorationType, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_AnchorData as AnchorData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_ColorData as ColorData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_LinkData as LinkData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_MentionData as MentionData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_FontSizeData as FontSizeData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_FontType as FontType, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_SpoilerData as SpoilerData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_AppEmbedData as AppEmbedData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_AppEmbedDataAppDataOneOf as AppEmbedDataAppDataOneOf, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_AppType as AppType, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_BookingData as BookingData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_EventData as EventData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_VideoData as VideoData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_PlaybackOptions as PlaybackOptions, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_EmbedData as EmbedData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Oembed as Oembed, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_CollapsibleListData as CollapsibleListData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_InitialExpandedItems as InitialExpandedItems, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Direction as Direction, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_TableData as TableData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Dimensions as Dimensions, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_TableCellData as TableCellData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_VerticalAlignment as VerticalAlignment, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_CellStyle as CellStyle, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_BorderColors as BorderColors, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_NullValue as NullValue, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_ListValue as ListValue, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_AudioData as AudioData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_OrderedListData as OrderedListData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_BulletedListData as BulletedListData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_BlockquoteData as BlockquoteData, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_Metadata as Metadata, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_DocumentStyle as DocumentStyle, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_TextNodeStyle as TextNodeStyle, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_MachineTranslateRequest as MachineTranslateRequest, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_SupportedLanguage as SupportedLanguage, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_MachineTranslateResponse as MachineTranslateResponse, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_NotEnoughCreditsError as NotEnoughCreditsError, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_TextTooLongError as TextTooLongError, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_UnknownFormatError as UnknownFormatError, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_BulkMachineTranslateRequest as BulkMachineTranslateRequest, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_BulkMachineTranslateResponse as BulkMachineTranslateResponse, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_BulkTranslateResult as BulkTranslateResult, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_ItemMetadata as ItemMetadata, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_ApplicationError as ApplicationError, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_BulkActionMetadata as BulkActionMetadata, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_machineTranslate as machineTranslate, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_MachineTranslateOptions as MachineTranslateOptions, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_bulkMachineTranslate as bulkMachineTranslate, multilingualMachineV3TranslatableContentMachineTranslation_universal_d_BulkMachineTranslateOptions as BulkMachineTranslateOptions, };\n    }\n    export { multilingualMachineV3TranslatableContentMachineTranslation_universal_d as machineTranslation };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/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;\n        /**\n         * Date and time the tax group was last updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\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    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 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        /** 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 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        /** 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. */\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    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    interface EntityDeletedEvent$1 {\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 tax group.\n     *\n     * Add the `taxGroupId` to specific Stores products to categorize a group based on distinct tax treatment. Wix uses tax groups to `calculateTax()`.\n     *\n     * In addition to tax groups you create, default tax groups are already included in all Wix catalogs. Use `listDefaultTaxGroups()` to retrieve them. You can also use the [Tax Groups Integration service plugin](https://dev.wix.com/docs/rest/business-management/payments/tax/tax-groups-integration-service-plugin/introduction) 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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\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;\n        /**\n         * Date and time the tax group was last updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\n    }\n    interface UpdateTaxGroupOptions {\n    }\n    /**\n     * Deletes a tax group.\n     *\n     * If a tax group is deleted but the `taxGroupId` is still assigned to a Stores product 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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\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. 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](https://dev.wix.com/docs/rest/business-management/payments/tax/tax-groups-integration-service-plugin/introduction).\n     * @public\n     * @documentationMaturity preview\n     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\n     */\n    function listDefaultTaxGroupsByAppIds(appIds: string[]): Promise<ListDefaultTaxGroupsByAppIdsResponse>;\n    type billingV1TaxGroupTaxGroups_universal_d_TaxGroup = TaxGroup;\n    type billingV1TaxGroupTaxGroups_universal_d_CreateTaxGroupRequest = CreateTaxGroupRequest;\n    type billingV1TaxGroupTaxGroups_universal_d_CreateTaxGroupResponse = CreateTaxGroupResponse;\n    type billingV1TaxGroupTaxGroups_universal_d_GetTaxGroupRequest = GetTaxGroupRequest;\n    type billingV1TaxGroupTaxGroups_universal_d_GetTaxGroupResponse = GetTaxGroupResponse;\n    type billingV1TaxGroupTaxGroups_universal_d_UpdateTaxGroupRequest = UpdateTaxGroupRequest;\n    type billingV1TaxGroupTaxGroups_universal_d_UpdateTaxGroupResponse = UpdateTaxGroupResponse;\n    type billingV1TaxGroupTaxGroups_universal_d_DeleteTaxGroupRequest = DeleteTaxGroupRequest;\n    type billingV1TaxGroupTaxGroups_universal_d_DeleteTaxGroupResponse = DeleteTaxGroupResponse;\n    type billingV1TaxGroupTaxGroups_universal_d_QueryTaxGroupsRequest = QueryTaxGroupsRequest;\n    type billingV1TaxGroupTaxGroups_universal_d_QueryV2 = QueryV2;\n    type billingV1TaxGroupTaxGroups_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n    type billingV1TaxGroupTaxGroups_universal_d_Paging = Paging;\n    type billingV1TaxGroupTaxGroups_universal_d_QueryTaxGroupsResponse = QueryTaxGroupsResponse;\n    type billingV1TaxGroupTaxGroups_universal_d_ListDefaultTaxGroupsRequest = ListDefaultTaxGroupsRequest;\n    type billingV1TaxGroupTaxGroups_universal_d_ListDefaultTaxGroupsResponse = ListDefaultTaxGroupsResponse;\n    type billingV1TaxGroupTaxGroups_universal_d_ListDefaultTaxGroupsByAppIdsRequest = ListDefaultTaxGroupsByAppIdsRequest;\n    type billingV1TaxGroupTaxGroups_universal_d_ListDefaultTaxGroupsByAppIdsResponse = ListDefaultTaxGroupsByAppIdsResponse;\n    type billingV1TaxGroupTaxGroups_universal_d_ListDefaultTaxGroupsByAppIdsResult = ListDefaultTaxGroupsByAppIdsResult;\n    const billingV1TaxGroupTaxGroups_universal_d_createTaxGroup: typeof createTaxGroup;\n    const billingV1TaxGroupTaxGroups_universal_d_getTaxGroup: typeof getTaxGroup;\n    const billingV1TaxGroupTaxGroups_universal_d_updateTaxGroup: typeof updateTaxGroup;\n    type billingV1TaxGroupTaxGroups_universal_d_UpdateTaxGroup = UpdateTaxGroup;\n    type billingV1TaxGroupTaxGroups_universal_d_UpdateTaxGroupOptions = UpdateTaxGroupOptions;\n    const billingV1TaxGroupTaxGroups_universal_d_deleteTaxGroup: typeof deleteTaxGroup;\n    const billingV1TaxGroupTaxGroups_universal_d_queryTaxGroups: typeof queryTaxGroups;\n    type billingV1TaxGroupTaxGroups_universal_d_TaxGroupsQueryResult = TaxGroupsQueryResult;\n    type billingV1TaxGroupTaxGroups_universal_d_TaxGroupsQueryBuilder = TaxGroupsQueryBuilder;\n    const billingV1TaxGroupTaxGroups_universal_d_listDefaultTaxGroups: typeof listDefaultTaxGroups;\n    const billingV1TaxGroupTaxGroups_universal_d_listDefaultTaxGroupsByAppIds: typeof listDefaultTaxGroupsByAppIds;\n    namespace billingV1TaxGroupTaxGroups_universal_d {\n        export { billingV1TaxGroupTaxGroups_universal_d_TaxGroup as TaxGroup, billingV1TaxGroupTaxGroups_universal_d_CreateTaxGroupRequest as CreateTaxGroupRequest, billingV1TaxGroupTaxGroups_universal_d_CreateTaxGroupResponse as CreateTaxGroupResponse, billingV1TaxGroupTaxGroups_universal_d_GetTaxGroupRequest as GetTaxGroupRequest, billingV1TaxGroupTaxGroups_universal_d_GetTaxGroupResponse as GetTaxGroupResponse, billingV1TaxGroupTaxGroups_universal_d_UpdateTaxGroupRequest as UpdateTaxGroupRequest, billingV1TaxGroupTaxGroups_universal_d_UpdateTaxGroupResponse as UpdateTaxGroupResponse, billingV1TaxGroupTaxGroups_universal_d_DeleteTaxGroupRequest as DeleteTaxGroupRequest, billingV1TaxGroupTaxGroups_universal_d_DeleteTaxGroupResponse as DeleteTaxGroupResponse, billingV1TaxGroupTaxGroups_universal_d_QueryTaxGroupsRequest as QueryTaxGroupsRequest, billingV1TaxGroupTaxGroups_universal_d_QueryV2 as QueryV2, billingV1TaxGroupTaxGroups_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf, Sorting$1 as Sorting, SortOrder$1 as SortOrder, billingV1TaxGroupTaxGroups_universal_d_Paging as Paging, CursorPaging$1 as CursorPaging, billingV1TaxGroupTaxGroups_universal_d_QueryTaxGroupsResponse as QueryTaxGroupsResponse, CursorPagingMetadata$1 as CursorPagingMetadata, Cursors$1 as Cursors, billingV1TaxGroupTaxGroups_universal_d_ListDefaultTaxGroupsRequest as ListDefaultTaxGroupsRequest, billingV1TaxGroupTaxGroups_universal_d_ListDefaultTaxGroupsResponse as ListDefaultTaxGroupsResponse, billingV1TaxGroupTaxGroups_universal_d_ListDefaultTaxGroupsByAppIdsRequest as ListDefaultTaxGroupsByAppIdsRequest, billingV1TaxGroupTaxGroups_universal_d_ListDefaultTaxGroupsByAppIdsResponse as ListDefaultTaxGroupsByAppIdsResponse, billingV1TaxGroupTaxGroups_universal_d_ListDefaultTaxGroupsByAppIdsResult as ListDefaultTaxGroupsByAppIdsResult, ItemMetadata$1 as ItemMetadata, ApplicationError$2 as ApplicationError, BulkActionMetadata$1 as BulkActionMetadata, DomainEvent$1 as DomainEvent, DomainEventBodyOneOf$1 as DomainEventBodyOneOf, EntityCreatedEvent$1 as EntityCreatedEvent, EntityUpdatedEvent$1 as EntityUpdatedEvent, EntityDeletedEvent$1 as EntityDeletedEvent, ActionEvent$1 as ActionEvent, MessageEnvelope$1 as MessageEnvelope, IdentificationData$1 as IdentificationData, IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf, WebhookIdentityType$1 as WebhookIdentityType, billingV1TaxGroupTaxGroups_universal_d_createTaxGroup as createTaxGroup, billingV1TaxGroupTaxGroups_universal_d_getTaxGroup as getTaxGroup, billingV1TaxGroupTaxGroups_universal_d_updateTaxGroup as updateTaxGroup, billingV1TaxGroupTaxGroups_universal_d_UpdateTaxGroup as UpdateTaxGroup, billingV1TaxGroupTaxGroups_universal_d_UpdateTaxGroupOptions as UpdateTaxGroupOptions, billingV1TaxGroupTaxGroups_universal_d_deleteTaxGroup as deleteTaxGroup, billingV1TaxGroupTaxGroups_universal_d_queryTaxGroups as queryTaxGroups, billingV1TaxGroupTaxGroups_universal_d_TaxGroupsQueryResult as TaxGroupsQueryResult, billingV1TaxGroupTaxGroups_universal_d_TaxGroupsQueryBuilder as TaxGroupsQueryBuilder, billingV1TaxGroupTaxGroups_universal_d_listDefaultTaxGroups as listDefaultTaxGroups, billingV1TaxGroupTaxGroups_universal_d_listDefaultTaxGroupsByAppIds as listDefaultTaxGroupsByAppIds, };\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 [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 | 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$1[];\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    /** 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$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 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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function listTaxCalculators(): Promise<ListTaxCalculatorsResponse>;\n    type gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_TaxCalculationGateway = TaxCalculationGateway;\n    type gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_CalculateTaxRequest = CalculateTaxRequest;\n    type gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_Address = Address;\n    type gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_LineItem = LineItem;\n    type gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_AddressIndex = AddressIndex;\n    type gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_AddressIndexAddressIndexOptionsOneOf = AddressIndexAddressIndexOptionsOneOf;\n    type gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_MultipleAddresses = MultipleAddresses;\n    type gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_CalculateTaxResponse = CalculateTaxResponse;\n    type gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_TaxSummary = TaxSummary;\n    type gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_AggregatedTaxBreakdown = AggregatedTaxBreakdown;\n    type gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_JurisdictionType = JurisdictionType;\n    const gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_JurisdictionType: typeof JurisdictionType;\n    type gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_LineItemTaxDetails = LineItemTaxDetails;\n    type gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_TaxBreakdown = TaxBreakdown;\n    type gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_LineItemTaxSummary = LineItemTaxSummary;\n    type gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_ListTaxCalculatorsRequest = ListTaxCalculatorsRequest;\n    type gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_ListTaxCalculatorsResponse = ListTaxCalculatorsResponse;\n    type gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_TaxCalculatorDetails = TaxCalculatorDetails;\n    const gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_calculateTax: typeof calculateTax;\n    type gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_CalculateTaxOptions = CalculateTaxOptions;\n    const gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_listTaxCalculators: typeof listTaxCalculators;\n    namespace gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d {\n        export { gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_TaxCalculationGateway as TaxCalculationGateway, gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_CalculateTaxRequest as CalculateTaxRequest, gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_Address as Address, gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_LineItem as LineItem, gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_AddressIndex as AddressIndex, gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_AddressIndexAddressIndexOptionsOneOf as AddressIndexAddressIndexOptionsOneOf, gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_MultipleAddresses as MultipleAddresses, gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_CalculateTaxResponse as CalculateTaxResponse, gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_TaxSummary as TaxSummary, gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_AggregatedTaxBreakdown as AggregatedTaxBreakdown, gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_JurisdictionType as JurisdictionType, gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_LineItemTaxDetails as LineItemTaxDetails, gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_TaxBreakdown as TaxBreakdown, gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_LineItemTaxSummary as LineItemTaxSummary, ApplicationError$1 as ApplicationError, gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_ListTaxCalculatorsRequest as ListTaxCalculatorsRequest, gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_ListTaxCalculatorsResponse as ListTaxCalculatorsResponse, gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_TaxCalculatorDetails as TaxCalculatorDetails, gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_calculateTax as calculateTax, gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_CalculateTaxOptions as CalculateTaxOptions, gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d_listTaxCalculators as listTaxCalculators, };\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;\n        /**\n         * Date and time the tax region was last updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\n    }\n    interface CreateTaxRegionRequest {\n        /** Tax region to create. */\n        taxRegion: TaxRegion;\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;\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 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    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        /** Cursor token pointing to 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        /** Retrieved tax regions. */\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    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    interface EntityDeletedEvent {\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 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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Created tax region.\n     */\n    function createTaxRegion(taxRegion: TaxRegion, options?: CreateTaxRegionOptions): Promise<TaxRegion>;\n    interface CreateTaxRegionOptions {\n    }\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\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;\n        /**\n         * Date and time the tax region was last updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\n    }\n    interface UpdateTaxRegionOptions {\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\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     * @permissionScope Manage Stores - all permissions\n     * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n     * @permissionScope Manage eCommerce - all permissions\n     * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n     * @permissionScope Manage Orders\n     * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n     * @applicableIdentity APP\n     * @applicableIdentity MEMBER\n     * @applicableIdentity VISITOR\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    type billingV1TaxRegionTaxRegions_universal_d_TaxRegion = TaxRegion;\n    type billingV1TaxRegionTaxRegions_universal_d_CreateTaxRegionRequest = CreateTaxRegionRequest;\n    type billingV1TaxRegionTaxRegions_universal_d_CreateTaxRegionResponse = CreateTaxRegionResponse;\n    type billingV1TaxRegionTaxRegions_universal_d_ConflictErrorDetails = ConflictErrorDetails;\n    type billingV1TaxRegionTaxRegions_universal_d_BulkCreateTaxRegionRequest = BulkCreateTaxRegionRequest;\n    type billingV1TaxRegionTaxRegions_universal_d_BulkCreateTaxRegionResponse = BulkCreateTaxRegionResponse;\n    type billingV1TaxRegionTaxRegions_universal_d_BulkCreateTaxRegionResult = BulkCreateTaxRegionResult;\n    type billingV1TaxRegionTaxRegions_universal_d_ItemMetadata = ItemMetadata;\n    type billingV1TaxRegionTaxRegions_universal_d_ApplicationError = ApplicationError;\n    type billingV1TaxRegionTaxRegions_universal_d_BulkActionMetadata = BulkActionMetadata;\n    type billingV1TaxRegionTaxRegions_universal_d_GetTaxRegionRequest = GetTaxRegionRequest;\n    type billingV1TaxRegionTaxRegions_universal_d_GetTaxRegionResponse = GetTaxRegionResponse;\n    type billingV1TaxRegionTaxRegions_universal_d_UpdateTaxRegionRequest = UpdateTaxRegionRequest;\n    type billingV1TaxRegionTaxRegions_universal_d_UpdateTaxRegionResponse = UpdateTaxRegionResponse;\n    type billingV1TaxRegionTaxRegions_universal_d_DeleteTaxRegionRequest = DeleteTaxRegionRequest;\n    type billingV1TaxRegionTaxRegions_universal_d_DeleteTaxRegionResponse = DeleteTaxRegionResponse;\n    type billingV1TaxRegionTaxRegions_universal_d_QueryTaxRegionsRequest = QueryTaxRegionsRequest;\n    type billingV1TaxRegionTaxRegions_universal_d_CursorQuery = CursorQuery;\n    type billingV1TaxRegionTaxRegions_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n    type billingV1TaxRegionTaxRegions_universal_d_Sorting = Sorting;\n    type billingV1TaxRegionTaxRegions_universal_d_SortOrder = SortOrder;\n    const billingV1TaxRegionTaxRegions_universal_d_SortOrder: typeof SortOrder;\n    type billingV1TaxRegionTaxRegions_universal_d_CursorPaging = CursorPaging;\n    type billingV1TaxRegionTaxRegions_universal_d_QueryTaxRegionsResponse = QueryTaxRegionsResponse;\n    type billingV1TaxRegionTaxRegions_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n    type billingV1TaxRegionTaxRegions_universal_d_Cursors = Cursors;\n    type billingV1TaxRegionTaxRegions_universal_d_DomainEvent = DomainEvent;\n    type billingV1TaxRegionTaxRegions_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n    type billingV1TaxRegionTaxRegions_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n    type billingV1TaxRegionTaxRegions_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n    type billingV1TaxRegionTaxRegions_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n    type billingV1TaxRegionTaxRegions_universal_d_ActionEvent = ActionEvent;\n    type billingV1TaxRegionTaxRegions_universal_d_MessageEnvelope = MessageEnvelope;\n    type billingV1TaxRegionTaxRegions_universal_d_IdentificationData = IdentificationData;\n    type billingV1TaxRegionTaxRegions_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n    type billingV1TaxRegionTaxRegions_universal_d_WebhookIdentityType = WebhookIdentityType;\n    const billingV1TaxRegionTaxRegions_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n    const billingV1TaxRegionTaxRegions_universal_d_createTaxRegion: typeof createTaxRegion;\n    type billingV1TaxRegionTaxRegions_universal_d_CreateTaxRegionOptions = CreateTaxRegionOptions;\n    type billingV1TaxRegionTaxRegions_universal_d_BulkCreateTaxRegionOptions = BulkCreateTaxRegionOptions;\n    const billingV1TaxRegionTaxRegions_universal_d_getTaxRegion: typeof getTaxRegion;\n    const billingV1TaxRegionTaxRegions_universal_d_updateTaxRegion: typeof updateTaxRegion;\n    type billingV1TaxRegionTaxRegions_universal_d_UpdateTaxRegion = UpdateTaxRegion;\n    type billingV1TaxRegionTaxRegions_universal_d_UpdateTaxRegionOptions = UpdateTaxRegionOptions;\n    const billingV1TaxRegionTaxRegions_universal_d_deleteTaxRegion: typeof deleteTaxRegion;\n    const billingV1TaxRegionTaxRegions_universal_d_queryTaxRegions: typeof queryTaxRegions;\n    type billingV1TaxRegionTaxRegions_universal_d_TaxRegionsQueryResult = TaxRegionsQueryResult;\n    type billingV1TaxRegionTaxRegions_universal_d_TaxRegionsQueryBuilder = TaxRegionsQueryBuilder;\n    namespace billingV1TaxRegionTaxRegions_universal_d {\n        export { billingV1TaxRegionTaxRegions_universal_d_TaxRegion as TaxRegion, billingV1TaxRegionTaxRegions_universal_d_CreateTaxRegionRequest as CreateTaxRegionRequest, billingV1TaxRegionTaxRegions_universal_d_CreateTaxRegionResponse as CreateTaxRegionResponse, billingV1TaxRegionTaxRegions_universal_d_ConflictErrorDetails as ConflictErrorDetails, billingV1TaxRegionTaxRegions_universal_d_BulkCreateTaxRegionRequest as BulkCreateTaxRegionRequest, billingV1TaxRegionTaxRegions_universal_d_BulkCreateTaxRegionResponse as BulkCreateTaxRegionResponse, billingV1TaxRegionTaxRegions_universal_d_BulkCreateTaxRegionResult as BulkCreateTaxRegionResult, billingV1TaxRegionTaxRegions_universal_d_ItemMetadata as ItemMetadata, billingV1TaxRegionTaxRegions_universal_d_ApplicationError as ApplicationError, billingV1TaxRegionTaxRegions_universal_d_BulkActionMetadata as BulkActionMetadata, billingV1TaxRegionTaxRegions_universal_d_GetTaxRegionRequest as GetTaxRegionRequest, billingV1TaxRegionTaxRegions_universal_d_GetTaxRegionResponse as GetTaxRegionResponse, billingV1TaxRegionTaxRegions_universal_d_UpdateTaxRegionRequest as UpdateTaxRegionRequest, billingV1TaxRegionTaxRegions_universal_d_UpdateTaxRegionResponse as UpdateTaxRegionResponse, billingV1TaxRegionTaxRegions_universal_d_DeleteTaxRegionRequest as DeleteTaxRegionRequest, billingV1TaxRegionTaxRegions_universal_d_DeleteTaxRegionResponse as DeleteTaxRegionResponse, billingV1TaxRegionTaxRegions_universal_d_QueryTaxRegionsRequest as QueryTaxRegionsRequest, billingV1TaxRegionTaxRegions_universal_d_CursorQuery as CursorQuery, billingV1TaxRegionTaxRegions_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf, billingV1TaxRegionTaxRegions_universal_d_Sorting as Sorting, billingV1TaxRegionTaxRegions_universal_d_SortOrder as SortOrder, billingV1TaxRegionTaxRegions_universal_d_CursorPaging as CursorPaging, billingV1TaxRegionTaxRegions_universal_d_QueryTaxRegionsResponse as QueryTaxRegionsResponse, billingV1TaxRegionTaxRegions_universal_d_CursorPagingMetadata as CursorPagingMetadata, billingV1TaxRegionTaxRegions_universal_d_Cursors as Cursors, billingV1TaxRegionTaxRegions_universal_d_DomainEvent as DomainEvent, billingV1TaxRegionTaxRegions_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf, billingV1TaxRegionTaxRegions_universal_d_EntityCreatedEvent as EntityCreatedEvent, billingV1TaxRegionTaxRegions_universal_d_EntityUpdatedEvent as EntityUpdatedEvent, billingV1TaxRegionTaxRegions_universal_d_EntityDeletedEvent as EntityDeletedEvent, billingV1TaxRegionTaxRegions_universal_d_ActionEvent as ActionEvent, billingV1TaxRegionTaxRegions_universal_d_MessageEnvelope as MessageEnvelope, billingV1TaxRegionTaxRegions_universal_d_IdentificationData as IdentificationData, billingV1TaxRegionTaxRegions_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf, billingV1TaxRegionTaxRegions_universal_d_WebhookIdentityType as WebhookIdentityType, billingV1TaxRegionTaxRegions_universal_d_createTaxRegion as createTaxRegion, billingV1TaxRegionTaxRegions_universal_d_CreateTaxRegionOptions as CreateTaxRegionOptions, billingV1TaxRegionTaxRegions_universal_d_BulkCreateTaxRegionOptions as BulkCreateTaxRegionOptions, billingV1TaxRegionTaxRegions_universal_d_getTaxRegion as getTaxRegion, billingV1TaxRegionTaxRegions_universal_d_updateTaxRegion as updateTaxRegion, billingV1TaxRegionTaxRegions_universal_d_UpdateTaxRegion as UpdateTaxRegion, billingV1TaxRegionTaxRegions_universal_d_UpdateTaxRegionOptions as UpdateTaxRegionOptions, billingV1TaxRegionTaxRegions_universal_d_deleteTaxRegion as deleteTaxRegion, billingV1TaxRegionTaxRegions_universal_d_queryTaxRegions as queryTaxRegions, billingV1TaxRegionTaxRegions_universal_d_TaxRegionsQueryResult as TaxRegionsQueryResult, billingV1TaxRegionTaxRegions_universal_d_TaxRegionsQueryBuilder as TaxRegionsQueryBuilder, };\n    }\n    export { gatewaysBillingV1TaxCalculationGatewayTaxCalculation_universal_d as taxCalculation, billingV1TaxGroupTaxGroups_universal_d as taxGroups, billingV1TaxRegionTaxRegions_universal_d as taxRegions };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/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    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    type ssrV1InvalidateCacheRequestCache_universal_d_InvalidateCacheRequest = InvalidateCacheRequest;\n    type ssrV1InvalidateCacheRequestCache_universal_d_InvalidationMethods = InvalidationMethods;\n    type ssrV1InvalidateCacheRequestCache_universal_d_InvalidationMethodsInvalidateByOneOf = InvalidationMethodsInvalidateByOneOf;\n    type ssrV1InvalidateCacheRequestCache_universal_d_InvalidateCacheResponse = InvalidateCacheResponse;\n    const ssrV1InvalidateCacheRequestCache_universal_d_invalidateCache: typeof invalidateCache;\n    type ssrV1InvalidateCacheRequestCache_universal_d_InvalidateCacheOptions = InvalidateCacheOptions;\n    namespace ssrV1InvalidateCacheRequestCache_universal_d {\n        export { ssrV1InvalidateCacheRequestCache_universal_d_InvalidateCacheRequest as InvalidateCacheRequest, ssrV1InvalidateCacheRequestCache_universal_d_InvalidationMethods as InvalidationMethods, ssrV1InvalidateCacheRequestCache_universal_d_InvalidationMethodsInvalidateByOneOf as InvalidationMethodsInvalidateByOneOf, ssrV1InvalidateCacheRequestCache_universal_d_InvalidateCacheResponse as InvalidateCacheResponse, ssrV1InvalidateCacheRequestCache_universal_d_invalidateCache as invalidateCache, ssrV1InvalidateCacheRequestCache_universal_d_InvalidateCacheOptions as InvalidateCacheOptions, };\n    }\n    export { ssrV1InvalidateCacheRequestCache_universal_d as cache };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/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 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     * @permissionScope Read Site Plugin Status\n     * @permissionScopeId SCOPE.SITE-PLUGIN.READ-PLACEMENT-STATUS\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function getPlacementStatus(): Promise<GetPlacementStatusResponse>;\n    type appPluginsSitePluginsV1PlacementStatusPlugins_universal_d_PlacementStatus = PlacementStatus;\n    type appPluginsSitePluginsV1PlacementStatusPlugins_universal_d_GetPlacementStatusRequest = GetPlacementStatusRequest;\n    type appPluginsSitePluginsV1PlacementStatusPlugins_universal_d_GetPlacementStatusResponse = GetPlacementStatusResponse;\n    const appPluginsSitePluginsV1PlacementStatusPlugins_universal_d_getPlacementStatus: typeof getPlacementStatus;\n    namespace appPluginsSitePluginsV1PlacementStatusPlugins_universal_d {\n        export { appPluginsSitePluginsV1PlacementStatusPlugins_universal_d_PlacementStatus as PlacementStatus, appPluginsSitePluginsV1PlacementStatusPlugins_universal_d_GetPlacementStatusRequest as GetPlacementStatusRequest, appPluginsSitePluginsV1PlacementStatusPlugins_universal_d_GetPlacementStatusResponse as GetPlacementStatusResponse, appPluginsSitePluginsV1PlacementStatusPlugins_universal_d_getPlacementStatus as getPlacementStatus, };\n    }\n    export { appPluginsSitePluginsV1PlacementStatusPlugins_universal_d as plugins };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/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;\n        /**\n         * Date and time the dashboard favorite list was last updated.\n         * @readonly\n         */\n        _updatedDate?: Date;\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        /** 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    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    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    interface EntityDeletedEvent {\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 user's dashboard favorite list.\n     * @public\n     * @documentationMaturity preview\n     * @permissionScope Manage Dashboard\n     * @permissionScopeId SCOPE.DC-OS.MANAGE_DASHBOARD\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function getUserFavoriteList(): Promise<GetUserFavoriteListResponse>;\n    /**\n     * Creates a list of favorite dashboard pages for the current user. 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     * @permissionScope Manage Dashboard\n     * @permissionScopeId SCOPE.DC-OS.MANAGE_DASHBOARD\n     * @applicableIdentity APP\n     * @adminMethod\n     * @returns Created dashboard favorite list.\n     */\n    function createUserFavoriteList(favoriteList: DashboardFavoriteList): Promise<DashboardFavoriteList>;\n    /**\n     * Updates the current user's list of favorite dashboard pages.\n     *\n     * 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     * @permissionScope Manage Dashboard\n     * @permissionScopeId SCOPE.DC-OS.MANAGE_DASHBOARD\n     * @applicableIdentity APP\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        /** List of favorite dashboard pages. */\n        favorites?: Favorite[];\n    }\n    interface UpdateUserFavoriteListOptions {\n    }\n    /**\n     * Deletes the 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     * @permissionScope Manage Dashboard\n     * @permissionScopeId SCOPE.DC-OS.MANAGE_DASHBOARD\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function deleteUserFavoriteList(favoriteListId: string): Promise<void>;\n    /**\n     * Adds a page to the current user’s list of favorite dashboard pages. 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     * @permissionScope Manage Dashboard\n     * @permissionScopeId SCOPE.DC-OS.MANAGE_DASHBOARD\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function addUserFavorite(favorite: Favorite): Promise<AddUserFavoriteResponse>;\n    /**\n     * Deletes the specified favorite page from the current 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     * @permissionScope Manage Dashboard\n     * @permissionScopeId SCOPE.DC-OS.MANAGE_DASHBOARD\n     * @applicableIdentity APP\n     * @adminMethod\n     */\n    function deleteUserFavorite(favoriteId: string): Promise<DeleteUserFavoriteResponse>;\n    type dashboardV1FavoriteListFavoriteList_universal_d_DashboardFavoriteList = DashboardFavoriteList;\n    type dashboardV1FavoriteListFavoriteList_universal_d_Favorite = Favorite;\n    type dashboardV1FavoriteListFavoriteList_universal_d_CreateUserFavoriteListRequest = CreateUserFavoriteListRequest;\n    type dashboardV1FavoriteListFavoriteList_universal_d_CreateUserFavoriteListResponse = CreateUserFavoriteListResponse;\n    type dashboardV1FavoriteListFavoriteList_universal_d_GetUserFavoriteListRequest = GetUserFavoriteListRequest;\n    type dashboardV1FavoriteListFavoriteList_universal_d_GetUserFavoriteListResponse = GetUserFavoriteListResponse;\n    type dashboardV1FavoriteListFavoriteList_universal_d_UpdateUserFavoriteListRequest = UpdateUserFavoriteListRequest;\n    type dashboardV1FavoriteListFavoriteList_universal_d_UpdateUserFavoriteListResponse = UpdateUserFavoriteListResponse;\n    type dashboardV1FavoriteListFavoriteList_universal_d_DeleteUserFavoriteListRequest = DeleteUserFavoriteListRequest;\n    type dashboardV1FavoriteListFavoriteList_universal_d_DeleteUserFavoriteListResponse = DeleteUserFavoriteListResponse;\n    type dashboardV1FavoriteListFavoriteList_universal_d_AddUserFavoriteRequest = AddUserFavoriteRequest;\n    type dashboardV1FavoriteListFavoriteList_universal_d_AddUserFavoriteResponse = AddUserFavoriteResponse;\n    type dashboardV1FavoriteListFavoriteList_universal_d_DeleteUserFavoriteRequest = DeleteUserFavoriteRequest;\n    type dashboardV1FavoriteListFavoriteList_universal_d_DeleteUserFavoriteResponse = DeleteUserFavoriteResponse;\n    type dashboardV1FavoriteListFavoriteList_universal_d_DomainEvent = DomainEvent;\n    type dashboardV1FavoriteListFavoriteList_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n    type dashboardV1FavoriteListFavoriteList_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n    type dashboardV1FavoriteListFavoriteList_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n    type dashboardV1FavoriteListFavoriteList_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n    type dashboardV1FavoriteListFavoriteList_universal_d_ActionEvent = ActionEvent;\n    type dashboardV1FavoriteListFavoriteList_universal_d_MessageEnvelope = MessageEnvelope;\n    type dashboardV1FavoriteListFavoriteList_universal_d_IdentificationData = IdentificationData;\n    type dashboardV1FavoriteListFavoriteList_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n    type dashboardV1FavoriteListFavoriteList_universal_d_WebhookIdentityType = WebhookIdentityType;\n    const dashboardV1FavoriteListFavoriteList_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n    const dashboardV1FavoriteListFavoriteList_universal_d_getUserFavoriteList: typeof getUserFavoriteList;\n    const dashboardV1FavoriteListFavoriteList_universal_d_createUserFavoriteList: typeof createUserFavoriteList;\n    const dashboardV1FavoriteListFavoriteList_universal_d_updateUserFavoriteList: typeof updateUserFavoriteList;\n    type dashboardV1FavoriteListFavoriteList_universal_d_UpdateUserFavoriteList = UpdateUserFavoriteList;\n    type dashboardV1FavoriteListFavoriteList_universal_d_UpdateUserFavoriteListOptions = UpdateUserFavoriteListOptions;\n    const dashboardV1FavoriteListFavoriteList_universal_d_deleteUserFavoriteList: typeof deleteUserFavoriteList;\n    const dashboardV1FavoriteListFavoriteList_universal_d_addUserFavorite: typeof addUserFavorite;\n    const dashboardV1FavoriteListFavoriteList_universal_d_deleteUserFavorite: typeof deleteUserFavorite;\n    namespace dashboardV1FavoriteListFavoriteList_universal_d {\n        export { dashboardV1FavoriteListFavoriteList_universal_d_DashboardFavoriteList as DashboardFavoriteList, dashboardV1FavoriteListFavoriteList_universal_d_Favorite as Favorite, dashboardV1FavoriteListFavoriteList_universal_d_CreateUserFavoriteListRequest as CreateUserFavoriteListRequest, dashboardV1FavoriteListFavoriteList_universal_d_CreateUserFavoriteListResponse as CreateUserFavoriteListResponse, dashboardV1FavoriteListFavoriteList_universal_d_GetUserFavoriteListRequest as GetUserFavoriteListRequest, dashboardV1FavoriteListFavoriteList_universal_d_GetUserFavoriteListResponse as GetUserFavoriteListResponse, dashboardV1FavoriteListFavoriteList_universal_d_UpdateUserFavoriteListRequest as UpdateUserFavoriteListRequest, dashboardV1FavoriteListFavoriteList_universal_d_UpdateUserFavoriteListResponse as UpdateUserFavoriteListResponse, dashboardV1FavoriteListFavoriteList_universal_d_DeleteUserFavoriteListRequest as DeleteUserFavoriteListRequest, dashboardV1FavoriteListFavoriteList_universal_d_DeleteUserFavoriteListResponse as DeleteUserFavoriteListResponse, dashboardV1FavoriteListFavoriteList_universal_d_AddUserFavoriteRequest as AddUserFavoriteRequest, dashboardV1FavoriteListFavoriteList_universal_d_AddUserFavoriteResponse as AddUserFavoriteResponse, dashboardV1FavoriteListFavoriteList_universal_d_DeleteUserFavoriteRequest as DeleteUserFavoriteRequest, dashboardV1FavoriteListFavoriteList_universal_d_DeleteUserFavoriteResponse as DeleteUserFavoriteResponse, dashboardV1FavoriteListFavoriteList_universal_d_DomainEvent as DomainEvent, dashboardV1FavoriteListFavoriteList_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf, dashboardV1FavoriteListFavoriteList_universal_d_EntityCreatedEvent as EntityCreatedEvent, dashboardV1FavoriteListFavoriteList_universal_d_EntityUpdatedEvent as EntityUpdatedEvent, dashboardV1FavoriteListFavoriteList_universal_d_EntityDeletedEvent as EntityDeletedEvent, dashboardV1FavoriteListFavoriteList_universal_d_ActionEvent as ActionEvent, dashboardV1FavoriteListFavoriteList_universal_d_MessageEnvelope as MessageEnvelope, dashboardV1FavoriteListFavoriteList_universal_d_IdentificationData as IdentificationData, dashboardV1FavoriteListFavoriteList_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf, dashboardV1FavoriteListFavoriteList_universal_d_WebhookIdentityType as WebhookIdentityType, dashboardV1FavoriteListFavoriteList_universal_d_getUserFavoriteList as getUserFavoriteList, dashboardV1FavoriteListFavoriteList_universal_d_createUserFavoriteList as createUserFavoriteList, dashboardV1FavoriteListFavoriteList_universal_d_updateUserFavoriteList as updateUserFavoriteList, dashboardV1FavoriteListFavoriteList_universal_d_UpdateUserFavoriteList as UpdateUserFavoriteList, dashboardV1FavoriteListFavoriteList_universal_d_UpdateUserFavoriteListOptions as UpdateUserFavoriteListOptions, dashboardV1FavoriteListFavoriteList_universal_d_deleteUserFavoriteList as deleteUserFavoriteList, dashboardV1FavoriteListFavoriteList_universal_d_addUserFavorite as addUserFavorite, dashboardV1FavoriteListFavoriteList_universal_d_deleteUserFavorite as deleteUserFavorite, };\n    }\n    export { dashboardV1FavoriteListFavoriteList_universal_d as favoriteList };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-fetch.d.ts",
      "content": "declare module \"wix-fetch\" {\n    /* eslint-disable import/group-exports */\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/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/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        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/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    const wixConfigsBackend: {\n        getConfig: typeof getConfig;\n        getPackageConfig: typeof getPackageConfig;\n    };\n    //# sourceMappingURL=index.d.ts.map\n    export { wixConfigsBackend as default };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/backend/wix-packages.d.ts",
      "content": "/// <reference path=\"../common/wix-blog-backend.d.ts\" />\n/// <reference path=\"../common/wix-ecom-backend.d.ts\" />\n/// <reference path=\"../common/wix-pro-gallery-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-ecom-v1-shipping-rates-provider.d.ts\" />\n/// <reference path=\"../common/wix-events.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-media.v2.d.ts\" />\n/// <reference path=\"../common/wix-authentication-management.v2.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-marketing.v2.d.ts\" />\n/// <reference path=\"../common/wix-ecom.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-automations-v1-action-provider.d.ts\" />\n/// <reference path=\"../common/wix-data.v2.d.ts\" />\n/// <reference path=\"../common/wix-application-backend.d.ts\" />\n/// <reference path=\"../common/wix-workflows.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/wix-reviews.v2.d.ts\" />\n/// <reference path=\"../common/wix-comments.v2.d.ts\" />\n/// <reference path=\"../common/wix-web-module.d.ts\" />\n/// <reference path=\"../common/wix-forms.v2.d.ts\" />\n/// <reference path=\"../common/wix-restaurants.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-automations-v1-velo-action-provider.d.ts\" />\n/// <reference path=\"../common/wix-multilingual.v2.d.ts\" />\n/// <reference path=\"../common/wix-billing.v2.d.ts\" />\n/// <reference path=\"../common/wix-cache-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-fetch.d.ts\" />\n/// <reference path=\"../common/wix-http-functions.d.ts\" />\n/// <reference path=\"../common/wix-router.d.ts\" />\n/// <reference path=\"../common/wix-configs-backend.d.ts\" />"
    },
    {
      "path": "@wix/wix-code-types/dist/types/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=\"./$w.d.ts\" />\n/// <reference path=\"./docworks-packages.d.ts\" />\n/// <reference path=\"./wix-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/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/common/docworks-packages.d.ts",
      "content": "/// <reference path=\"./wix-dataset.d.ts\" />\n/// <reference path=\"./$widget.d.ts\" />\n/// <reference path=\"./$w.d.ts\" />\n/// <reference path=\"./wix-location-frontend.d.ts\" />\n/// <reference path=\"./wix-location.d.ts\" />\n/// <reference path=\"./wix-site-frontend.d.ts\" />\n/// <reference path=\"./wix-site.d.ts\" />\n/// <reference path=\"./wix-storage-frontend.d.ts\" />\n/// <reference path=\"./wix-storage-mobile.d.ts\" />\n/// <reference path=\"./wix-storage.d.ts\" />\n/// <reference path=\"./wix-window-frontend.d.ts\" />\n/// <reference path=\"./wix-window.d.ts\" />\n/// <reference path=\"./velo-action-spi.d.ts\" />\n/// <reference path=\"./wix-animations.d.ts\" />\n/// <reference path=\"./wix-animations-frontend.d.ts\" />\n/// <reference path=\"./wix-application.d.ts\" />\n/// <reference path=\"./wix-auth.d.ts\" />\n/// <reference path=\"./wix-billing-backend.d.ts\" />\n/// <reference path=\"./wix-bookings-backend.d.ts\" />\n/// <reference path=\"./wix-bookings-frontend.d.ts\" />\n/// <reference path=\"./wix-bookings.v1.d.ts\" />\n/// <reference path=\"./wix-captcha-backend.d.ts\" />\n/// <reference path=\"./wix-chat-backend.d.ts\" />\n/// <reference path=\"./wix-crm-backend.d.ts\" />\n/// <reference path=\"./wix-crm-frontend.d.ts\" />\n/// <reference path=\"./wix-dashboard.d.ts\" />\n/// <reference path=\"./wix-data.d.ts\" />\n/// <reference path=\"./wix-data-hooks.d.ts\" />\n/// <reference path=\"./wix-ecom-frontend.d.ts\" />\n/// <reference path=\"./wix-editor.d.ts\" />\n/// <reference path=\"./wix-events.d.ts\" />\n/// <reference path=\"./wix-events-backend.d.ts\" />\n/// <reference path=\"./wix-events-frontend.d.ts\" />\n/// <reference path=\"./wix-forum-backend.d.ts\" />\n/// <reference path=\"./wix-groups-backend.d.ts\" />\n/// <reference path=\"./wix-marketing-backend.d.ts\" />\n/// <reference path=\"./wix-media-backend.d.ts\" />\n/// <reference path=\"./wix-members.d.ts\" />\n/// <reference path=\"./wix-members-backend.d.ts\" />\n/// <reference path=\"./wix-members-frontend.d.ts\" />\n/// <reference path=\"./wix-mobile.d.ts\" />\n/// <reference path=\"./wix-navigate-mobile.d.ts\" />\n/// <reference path=\"./wix-notifications.v2.d.ts\" />\n/// <reference path=\"./wix-paid-plans-backend.d.ts\" />\n/// <reference path=\"./wix-paid-plans.d.ts\" />\n/// <reference path=\"./wix-pay.d.ts\" />\n/// <reference path=\"./wix-pay-backend.d.ts\" />\n/// <reference path=\"./wix-pay-frontend.d.ts\" />\n/// <reference path=\"./wix-payment-provider-backend.d.ts\" />\n/// <reference path=\"./wix-pricing-plans.d.ts\" />\n/// <reference path=\"./wix-pricing-plans-backend.d.ts\" />\n/// <reference path=\"./wix-pricing-plans-frontend.d.ts\" />\n/// <reference path=\"./wix-realtime.d.ts\" />\n/// <reference path=\"./wix-realtime-backend.d.ts\" />\n/// <reference path=\"./wix-realtime-frontend.d.ts\" />\n/// <reference path=\"./wix-search.d.ts\" />\n/// <reference path=\"./wix-secrets-backend.d.ts\" />\n/// <reference path=\"./wix-secrets-backend.v2.d.ts\" />\n/// <reference path=\"./wix-seo.d.ts\" />\n/// <reference path=\"./wix-seo-frontend.d.ts\" />\n/// <reference path=\"./wix-site-backend.d.ts\" />\n/// <reference path=\"./wix-stores-backend.d.ts\" />\n/// <reference path=\"./wix-stores-frontend.d.ts\" />\n/// <reference path=\"./wix-table-reservations.v2.d.ts\" />\n/// <reference path=\"./wix-urls.v2.d.ts\" />\n/// <reference path=\"./wix-users-backend.d.ts\" />\n/// <reference path=\"./wix-widget.d.ts\" />\n/// <reference path=\"./wix-bookings.d.ts\" />\n/// <reference path=\"./wix-crm.d.ts\" />\n/// <reference path=\"./wix-stores.d.ts\" />\n/// <reference path=\"./wix-users.d.ts\" />\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/public/docworks-packages.d.ts",
      "content": "/// <reference path=\"../common/docworks-packages.d.ts\" />\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-packages.d.ts",
      "content": "/// <reference path=\"./wix-blog-backend.d.ts\" />\n/// <reference path=\"./wix-ecom-backend.d.ts\" />\n/// <reference path=\"./wix-pro-gallery-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-ecom-v1-shipping-rates-provider.d.ts\" />\n/// <reference path=\"./wix-events.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-media.v2.d.ts\" />\n/// <reference path=\"./wix-authentication-management.v2.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-marketing.v2.d.ts\" />\n/// <reference path=\"./wix-ecom.v2.d.ts\" />\n/// <reference path=\"./interfaces-automations-v1-action-provider.d.ts\" />\n/// <reference path=\"./wix-data.v2.d.ts\" />\n/// <reference path=\"./wix-application-backend.d.ts\" />\n/// <reference path=\"./wix-workflows.v2.d.ts\" />\n/// <reference path=\"./wix-crm.v2.d.ts\" />\n/// <reference path=\"./wix-captcha.v2.d.ts\" />\n/// <reference path=\"./wix-reviews.v2.d.ts\" />\n/// <reference path=\"./wix-comments.v2.d.ts\" />\n/// <reference path=\"./wix-web-module.d.ts\" />\n/// <reference path=\"./wix-forms.v2.d.ts\" />\n/// <reference path=\"./wix-restaurants.v2.d.ts\" />\n/// <reference path=\"./interfaces-automations-v1-velo-action-provider.d.ts\" />\n/// <reference path=\"./wix-multilingual.v2.d.ts\" />\n/// <reference path=\"./wix-billing.v2.d.ts\" />\n/// <reference path=\"./wix-cache-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-fetch.d.ts\" />\n/// <reference path=\"./wix-http-functions.d.ts\" />\n/// <reference path=\"./wix-router.d.ts\" />\n/// <reference path=\"./wix-configs-backend.d.ts\" />\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/public/wix-packages.d.ts",
      "content": "/// <reference path=\"../common/wix-packages.d.ts\" />\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/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=\"./$w.d.ts\" />\n/// <reference path=\"./docworks-packages.d.ts\" />\n/// <reference path=\"./wix-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/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-bookings.v1.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-notifications.v2.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-secrets-backend.v2.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-table-reservations.v2.d.ts\" />\n/// <reference path=\"../common/wix-urls.v2.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/page/wix-packages.d.ts",
      "content": "/// <reference path=\"../common/wix-blog-backend.d.ts\" />\n/// <reference path=\"../common/wix-ecom-backend.d.ts\" />\n/// <reference path=\"../common/wix-pro-gallery-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-ecom-v1-shipping-rates-provider.d.ts\" />\n/// <reference path=\"../common/wix-events.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-media.v2.d.ts\" />\n/// <reference path=\"../common/wix-authentication-management.v2.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-marketing.v2.d.ts\" />\n/// <reference path=\"../common/wix-ecom.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-automations-v1-action-provider.d.ts\" />\n/// <reference path=\"../common/wix-data.v2.d.ts\" />\n/// <reference path=\"../common/wix-workflows.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/wix-reviews.v2.d.ts\" />\n/// <reference path=\"../common/wix-comments.v2.d.ts\" />\n/// <reference path=\"../common/wix-forms.v2.d.ts\" />\n/// <reference path=\"../common/wix-restaurants.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-automations-v1-velo-action-provider.d.ts\" />\n/// <reference path=\"../common/wix-multilingual.v2.d.ts\" />\n/// <reference path=\"../common/wix-billing.v2.d.ts\" />\n/// <reference path=\"../common/wix-cache-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-fetch.d.ts\" />"
    },
    {
      "path": "@wix/wix-code-types/dist/types/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=\"./$w.d.ts\" />\n/// <reference path=\"./docworks-packages.d.ts\" />\n/// <reference path=\"./wix-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/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-bookings.v1.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-forum-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-notifications.v2.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-secrets-backend.v2.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-table-reservations.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-urls.v2.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/backend/docworks-packages.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-blog-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-ecom-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-pro-gallery-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/interfaces-ecommerce-v1-additional-fees-provider.d.ts",
      "@wix/wix-code-types/dist/types/common/interfaces-ecommerce-v1-catalog-provider.d.ts",
      "@wix/wix-code-types/dist/types/common/interfaces-ecom-v1-shipping-rates-provider.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-events.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-inbox.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-email-marketing.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-bookings.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-forum.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-activity-counters.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-loyalty.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-business-tools.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-marketing-tags.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-stores.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-redirects-api.v1.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-media.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-authentication-management.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-pricing-plans.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-members.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-groups.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-marketing.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-ecom.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/interfaces-automations-v1-action-provider.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-data.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-application-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-workflows.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-crm.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-captcha.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-reviews.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-comments.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-web-module.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-forms.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-restaurants.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/interfaces-automations-v1-velo-action-provider.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-multilingual.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-billing.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-cache-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-site-plugins.v1.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-dashboard-management.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-fetch.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-http-functions.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-router.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-configs-backend.d.ts",
      "@wix/wix-code-types/dist/types/backend/wix-packages.d.ts",
      "@wix/wix-code-types/dist/types/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/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-bookings.v1.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-forum-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.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-notifications.v2.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-secrets-backend.v2.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-table-reservations.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-urls.v2.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/common/docworks-packages.d.ts",
      "@wix/wix-code-types/dist/types/public/docworks-packages.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-blog-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-ecom-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-pro-gallery-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/interfaces-ecommerce-v1-additional-fees-provider.d.ts",
      "@wix/wix-code-types/dist/types/common/interfaces-ecommerce-v1-catalog-provider.d.ts",
      "@wix/wix-code-types/dist/types/common/interfaces-ecom-v1-shipping-rates-provider.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-events.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-inbox.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-email-marketing.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-bookings.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-forum.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-activity-counters.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-loyalty.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-business-tools.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-marketing-tags.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-stores.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-redirects-api.v1.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-media.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-authentication-management.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-pricing-plans.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-members.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-groups.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-marketing.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-ecom.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/interfaces-automations-v1-action-provider.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-data.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-application-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-workflows.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-crm.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-captcha.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-reviews.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-comments.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-web-module.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-forms.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-restaurants.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/interfaces-automations-v1-velo-action-provider.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-multilingual.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-billing.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-cache-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-site-plugins.v1.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-dashboard-management.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-fetch.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-http-functions.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-router.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-configs-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-packages.d.ts",
      "@wix/wix-code-types/dist/types/public/wix-packages.d.ts",
      "@wix/wix-code-types/dist/types/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/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-bookings.v1.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-notifications.v2.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-secrets-backend.v2.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-table-reservations.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-urls.v2.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/page/docworks-packages.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-blog-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-ecom-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-pro-gallery-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/interfaces-ecommerce-v1-additional-fees-provider.d.ts",
      "@wix/wix-code-types/dist/types/common/interfaces-ecommerce-v1-catalog-provider.d.ts",
      "@wix/wix-code-types/dist/types/common/interfaces-ecom-v1-shipping-rates-provider.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-events.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-inbox.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-email-marketing.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-bookings.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-forum.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-activity-counters.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-loyalty.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-business-tools.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-marketing-tags.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-stores.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-redirects-api.v1.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-media.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-authentication-management.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-pricing-plans.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-members.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-groups.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-marketing.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-ecom.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/interfaces-automations-v1-action-provider.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-data.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-workflows.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-crm.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-captcha.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-reviews.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-comments.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-forms.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-restaurants.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/interfaces-automations-v1-velo-action-provider.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-multilingual.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-billing.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-cache-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-site-plugins.v1.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-dashboard-management.v2.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-fetch.d.ts",
      "@wix/wix-code-types/dist/types/page/wix-packages.d.ts",
      "@wix/wix-code-types/dist/types/page/index.d.ts"
    ]
  }
}