@wix/auto_sdk_forms_submissions 1.0.115 → 1.0.116

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/build/cjs/{forms-v4-submission-submissions.universal-BjJ-qwMD.d.ts → forms-v4-submission-submissions.universal-B1vkVcUV.d.ts} +1 -0
  2. package/build/cjs/index.d.ts +2 -2
  3. package/build/cjs/index.js.map +1 -1
  4. package/build/cjs/index.typings.d.ts +2 -2
  5. package/build/cjs/index.typings.js.map +1 -1
  6. package/build/cjs/meta.d.ts +2 -1
  7. package/build/cjs/meta.js.map +1 -1
  8. package/build/es/{forms-v4-submission-submissions.universal-BjJ-qwMD.d.mts → forms-v4-submission-submissions.universal-B1vkVcUV.d.mts} +1 -0
  9. package/build/es/index.d.mts +2 -2
  10. package/build/es/index.mjs.map +1 -1
  11. package/build/es/index.typings.d.mts +2 -2
  12. package/build/es/index.typings.mjs.map +1 -1
  13. package/build/es/meta.d.mts +2 -1
  14. package/build/es/meta.mjs.map +1 -1
  15. package/build/internal/cjs/{forms-v4-submission-submissions.universal-DzqrpsKR.d.ts → forms-v4-submission-submissions.universal-DF4f6MQ-.d.ts} +1 -0
  16. package/build/internal/cjs/index.d.ts +2 -2
  17. package/build/internal/cjs/index.js.map +1 -1
  18. package/build/internal/cjs/index.typings.d.ts +2 -2
  19. package/build/internal/cjs/index.typings.js.map +1 -1
  20. package/build/internal/cjs/meta.d.ts +2 -1
  21. package/build/internal/cjs/meta.js.map +1 -1
  22. package/build/internal/es/{forms-v4-submission-submissions.universal-DzqrpsKR.d.mts → forms-v4-submission-submissions.universal-DF4f6MQ-.d.mts} +1 -0
  23. package/build/internal/es/index.d.mts +2 -2
  24. package/build/internal/es/index.mjs.map +1 -1
  25. package/build/internal/es/index.typings.d.mts +2 -2
  26. package/build/internal/es/index.typings.mjs.map +1 -1
  27. package/build/internal/es/meta.d.mts +2 -1
  28. package/build/internal/es/meta.mjs.map +1 -1
  29. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/forms-v4-submission-submissions.public.ts","../../src/forms-v4-submission-submissions.universal.ts","../../src/forms-v4-submission-submissions.http.ts","../../src/forms-v4-submission-submissions.context.ts"],"sourcesContent":["import { renameKeysFromRESTResponseToSDKResponse } from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { EventDefinition, HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n BulkDeleteSubmissionOptions,\n BulkDeleteSubmissionResponse,\n BulkMarkSubmissionsAsSeenResponse,\n BulkRemoveSubmissionFromTrashBinOptions,\n BulkRemoveSubmissionFromTrashBinResponse,\n BulkUpdateFormSubmissionTagsByFilterOptions,\n BulkUpdateFormSubmissionTagsByFilterResponse,\n BulkUpdateFormSubmissionTagsOptions,\n BulkUpdateFormSubmissionTagsResponse,\n ConfirmSubmissionResponse,\n CountDeletedSubmissionsOptions,\n CountDeletedSubmissionsResponse,\n CountSubmissionsByFilterOptions,\n CountSubmissionsByFilterResponse,\n CountSubmissionsOptions,\n CountSubmissionsResponse,\n CreateSubmissionApplicationErrors,\n CreateSubmissionOptions,\n CreateSubmissionValidationErrors,\n CursorQuery,\n DeleteSubmissionOptions,\n FormSubmission,\n FormSubmissionQuery,\n FormSubmissionSearch,\n GetDeletedSubmissionResponse,\n GetFormattedSubmissionResponse,\n GetMediaUploadURLResponse,\n GetSubmissionDownloadUrlResponse,\n ListDeletedSubmissionsOptions,\n ListDeletedSubmissionsResponse,\n QuerySubmissionOptions,\n QuerySubmissionResponse,\n QuerySubmissionsByNamespaceOptions,\n QuerySubmissionsByNamespaceResponse,\n RawHttpResponse,\n RestoreSubmissionFromTrashBinResponse,\n SearchSubmissionsByNamespaceResponse,\n SubmissionContactMappedEnvelope,\n SubmissionContactMappingSkippedEnvelope,\n SubmissionCreatedEnvelope,\n SubmissionDeletedEnvelope,\n SubmissionRemovedSubmissionFromTrashEnvelope,\n SubmissionStatusUpdatedEnvelope,\n SubmissionUpdatedEnvelope,\n SubmissionsQueryBuilder,\n UpdateExtendedFieldsOptions,\n UpdateExtendedFieldsResponse,\n UpdateSubmission,\n UpdateSubmissionValidationErrors,\n UpsertContactFromSubmissionOptions,\n UpsertContactFromSubmissionResponse,\n ValidateFormSubmissionOptions,\n ValidateFormSubmissionResponse,\n bulkDeleteSubmission as universalBulkDeleteSubmission,\n bulkMarkSubmissionsAsSeen as universalBulkMarkSubmissionsAsSeen,\n bulkRemoveSubmissionFromTrashBin as universalBulkRemoveSubmissionFromTrashBin,\n bulkUpdateFormSubmissionTags as universalBulkUpdateFormSubmissionTags,\n bulkUpdateFormSubmissionTagsByFilter as universalBulkUpdateFormSubmissionTagsByFilter,\n confirmSubmission as universalConfirmSubmission,\n countDeletedSubmissions as universalCountDeletedSubmissions,\n countSubmissions as universalCountSubmissions,\n countSubmissionsByFilter as universalCountSubmissionsByFilter,\n createSubmission as universalCreateSubmission,\n deleteSubmission as universalDeleteSubmission,\n downloadSubmission as universalDownloadSubmission,\n getDeletedSubmission as universalGetDeletedSubmission,\n getFormattedSubmission as universalGetFormattedSubmission,\n getMediaUploadUrl as universalGetMediaUploadUrl,\n getSubmission as universalGetSubmission,\n getSubmissionDownloadUrl as universalGetSubmissionDownloadUrl,\n listDeletedSubmissions as universalListDeletedSubmissions,\n querySubmission as universalQuerySubmission,\n querySubmissionsByNamespace as universalQuerySubmissionsByNamespace,\n removeSubmissionFromTrashBin as universalRemoveSubmissionFromTrashBin,\n restoreSubmissionFromTrashBin as universalRestoreSubmissionFromTrashBin,\n searchSubmissionsByNamespace as universalSearchSubmissionsByNamespace,\n typedQuerySubmissionsByNamespace as universalTypedQuerySubmissionsByNamespace,\n updateExtendedFields as universalUpdateExtendedFields,\n updateSubmission as universalUpdateSubmission,\n upsertContactFromSubmission as universalUpsertContactFromSubmission,\n validateFormSubmission as universalValidateFormSubmission,\n} from './forms-v4-submission-submissions.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/forms' };\n\nexport function upsertContactFromSubmission(\n httpClient: HttpClient\n): UpsertContactFromSubmissionSignature {\n return (submissionId: string, options?: UpsertContactFromSubmissionOptions) =>\n universalUpsertContactFromSubmission(\n submissionId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpsertContactFromSubmissionSignature {\n /**\n * Upserts contact from submission.\n * @param - Submission from which contact needs to be upserted.\n */\n (submissionId: string, options?: UpsertContactFromSubmissionOptions): Promise<\n NonNullablePaths<\n UpsertContactFromSubmissionResponse,\n | `submitContactResponse.contactId`\n | `submitContactResponse.identityType`\n | `submitContactResponse.newContact`,\n 3\n >\n >;\n}\n\nexport function createSubmission(\n httpClient: HttpClient\n): CreateSubmissionSignature {\n return (\n submission: NonNullablePaths<FormSubmission, `formId`, 2>,\n options?: CreateSubmissionOptions\n ) =>\n universalCreateSubmission(\n submission,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreateSubmissionSignature {\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 to create.\n * @param - Optional fields.\n * @returns The created submission.\n */\n (\n submission: NonNullablePaths<FormSubmission, `formId`, 2>,\n options?: CreateSubmissionOptions\n ): Promise<\n NonNullablePaths<\n FormSubmission,\n | `formId`\n | `namespace`\n | `status`\n | `seen`\n | `orderDetails.itemSubtotal`\n | `orderDetails.checkoutId`\n | `tags.tags.tagIds`,\n 4\n > & {\n __applicationErrorsType?: CreateSubmissionApplicationErrors;\n __validationErrorsType?: CreateSubmissionValidationErrors;\n }\n >;\n}\n\nexport function getSubmission(httpClient: HttpClient): GetSubmissionSignature {\n return (submissionId: string) =>\n universalGetSubmission(\n submissionId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetSubmissionSignature {\n /**\n * Retrieves a submission by ID.\n * @param - ID of the submission to retrieve.\n * @returns The retrieved submission.\n */\n (submissionId: string): Promise<\n NonNullablePaths<\n FormSubmission,\n | `formId`\n | `namespace`\n | `status`\n | `seen`\n | `orderDetails.itemSubtotal`\n | `orderDetails.checkoutId`\n | `tags.tags.tagIds`,\n 4\n >\n >;\n}\n\nexport function updateSubmission(\n httpClient: HttpClient\n): UpdateSubmissionSignature {\n return (\n _id: string,\n submission: NonNullablePaths<UpdateSubmission, `formId` | `revision`, 2>\n ) =>\n universalUpdateSubmission(\n _id,\n submission,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpdateSubmissionSignature {\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 - Submission ID.\n * @param - Submission to update.\n * @returns The updated submission.\n */\n (\n _id: string,\n submission: NonNullablePaths<UpdateSubmission, `formId` | `revision`, 2>\n ): Promise<\n NonNullablePaths<\n FormSubmission,\n | `formId`\n | `namespace`\n | `status`\n | `seen`\n | `orderDetails.itemSubtotal`\n | `orderDetails.checkoutId`\n | `tags.tags.tagIds`,\n 4\n > & {\n __validationErrorsType?: UpdateSubmissionValidationErrors;\n }\n >;\n}\n\nexport function confirmSubmission(\n httpClient: HttpClient\n): ConfirmSubmissionSignature {\n return (submissionId: string) =>\n universalConfirmSubmission(\n submissionId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ConfirmSubmissionSignature {\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 - Submission ID to confirm.\n */\n (submissionId: string): Promise<\n NonNullablePaths<\n ConfirmSubmissionResponse,\n | `submission.formId`\n | `submission.namespace`\n | `submission.status`\n | `submission.seen`\n | `submission.orderDetails.itemSubtotal`\n | `submission.orderDetails.checkoutId`\n | `submission.tags.tags.tagIds`,\n 5\n >\n >;\n}\n\nexport function deleteSubmission(\n httpClient: HttpClient\n): DeleteSubmissionSignature {\n return (submissionId: string, options?: DeleteSubmissionOptions) =>\n universalDeleteSubmission(\n submissionId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface DeleteSubmissionSignature {\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 - ID of the submission to delete.\n * @param - Optional fields.\n */\n (submissionId: string, options?: DeleteSubmissionOptions): Promise<void>;\n}\n\nexport function bulkDeleteSubmission(\n httpClient: HttpClient\n): BulkDeleteSubmissionSignature {\n return (formId: string, options?: BulkDeleteSubmissionOptions) =>\n universalBulkDeleteSubmission(\n formId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkDeleteSubmissionSignature {\n /**\n * Deletes submissions by IDS for specific form.\n * @param - Form ID.\n */\n (formId: string, options?: BulkDeleteSubmissionOptions): Promise<\n NonNullablePaths<\n BulkDeleteSubmissionResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n >\n >;\n}\n\nexport function restoreSubmissionFromTrashBin(\n httpClient: HttpClient\n): RestoreSubmissionFromTrashBinSignature {\n return (submissionId: string) =>\n universalRestoreSubmissionFromTrashBin(\n submissionId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface RestoreSubmissionFromTrashBinSignature {\n /**\n * Restores deleted submission\n * @param - ID of the submission to restore.\n */\n (submissionId: string): Promise<\n NonNullablePaths<\n RestoreSubmissionFromTrashBinResponse,\n | `submission.formId`\n | `submission.namespace`\n | `submission.status`\n | `submission.seen`\n | `submission.orderDetails.itemSubtotal`\n | `submission.orderDetails.checkoutId`\n | `submission.tags.tags.tagIds`,\n 5\n >\n >;\n}\n\nexport function removeSubmissionFromTrashBin(\n httpClient: HttpClient\n): RemoveSubmissionFromTrashBinSignature {\n return (submissionId: string) =>\n universalRemoveSubmissionFromTrashBin(\n submissionId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface RemoveSubmissionFromTrashBinSignature {\n /**\n * Remove deleted submission\n * @param - ID of the submission to restore.\n */\n (submissionId: string): Promise<void>;\n}\n\nexport function bulkRemoveSubmissionFromTrashBin(\n httpClient: HttpClient\n): BulkRemoveSubmissionFromTrashBinSignature {\n return (formId: string, options?: BulkRemoveSubmissionFromTrashBinOptions) =>\n universalBulkRemoveSubmissionFromTrashBin(\n formId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkRemoveSubmissionFromTrashBinSignature {\n /**\n * Remove multiple deleted submissions\n * @param - Form ID.\n */\n (formId: string, options?: BulkRemoveSubmissionFromTrashBinOptions): Promise<\n NonNullablePaths<\n BulkRemoveSubmissionFromTrashBinResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n >\n >;\n}\n\nexport function listDeletedSubmissions(\n httpClient: HttpClient\n): ListDeletedSubmissionsSignature {\n return (formId: string, options?: ListDeletedSubmissionsOptions) =>\n universalListDeletedSubmissions(\n formId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ListDeletedSubmissionsSignature {\n /**\n * List deleted submissions\n * @param - Form ID.\n */\n (formId: string, options?: ListDeletedSubmissionsOptions): Promise<\n NonNullablePaths<\n ListDeletedSubmissionsResponse,\n | `submissions`\n | `submissions.${number}.formId`\n | `submissions.${number}.namespace`\n | `submissions.${number}.status`\n | `submissions.${number}.seen`\n | `submissions.${number}.orderDetails.itemSubtotal`\n | `submissions.${number}.orderDetails.checkoutId`,\n 5\n >\n >;\n}\n\nexport function getDeletedSubmission(\n httpClient: HttpClient\n): GetDeletedSubmissionSignature {\n return (submissionId: string) =>\n universalGetDeletedSubmission(\n submissionId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetDeletedSubmissionSignature {\n /**\n * Get deleted submission\n * @param - Submission id.\n */\n (submissionId: string): Promise<\n NonNullablePaths<\n GetDeletedSubmissionResponse,\n | `submission.formId`\n | `submission.namespace`\n | `submission.status`\n | `submission.seen`\n | `submission.orderDetails.itemSubtotal`\n | `submission.orderDetails.checkoutId`\n | `submission.tags.tags.tagIds`,\n 5\n >\n >;\n}\n\nexport function querySubmission(\n httpClient: HttpClient\n): QuerySubmissionSignature {\n return (query: CursorQuery, options?: QuerySubmissionOptions) =>\n universalQuerySubmission(\n query,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface QuerySubmissionSignature {\n /**\n * Deprecated on '2023-08-08'. Use QuerySubmissionsByNamespace.\n * @param - Query options.\n * @deprecated\n */\n (query: CursorQuery, options?: QuerySubmissionOptions): Promise<\n NonNullablePaths<\n QuerySubmissionResponse,\n | `submissions`\n | `submissions.${number}.formId`\n | `submissions.${number}.namespace`\n | `submissions.${number}.status`\n | `submissions.${number}.seen`\n | `submissions.${number}.orderDetails.itemSubtotal`\n | `submissions.${number}.orderDetails.checkoutId`,\n 5\n >\n >;\n}\n\nexport function searchSubmissionsByNamespace(\n httpClient: HttpClient\n): SearchSubmissionsByNamespaceSignature {\n return (search: FormSubmissionSearch) =>\n universalSearchSubmissionsByNamespace(\n search,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface SearchSubmissionsByNamespaceSignature {\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 * 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 options.\n */\n (search: FormSubmissionSearch): Promise<\n NonNullablePaths<\n SearchSubmissionsByNamespaceResponse,\n | `submissions`\n | `submissions.${number}.formId`\n | `submissions.${number}.namespace`\n | `submissions.${number}.status`\n | `submissions.${number}.seen`\n | `submissions.${number}.orderDetails.itemSubtotal`\n | `submissions.${number}.orderDetails.checkoutId`,\n 5\n >\n >;\n}\n\nexport function querySubmissionsByNamespace(\n httpClient: HttpClient\n): QuerySubmissionsByNamespaceSignature {\n return (options?: QuerySubmissionsByNamespaceOptions) =>\n universalQuerySubmissionsByNamespace(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface QuerySubmissionsByNamespaceSignature {\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 * @param - Query options.\n */\n (options?: QuerySubmissionsByNamespaceOptions): SubmissionsQueryBuilder;\n}\n\nexport function typedQuerySubmissionsByNamespace(\n httpClient: HttpClient\n): TypedQuerySubmissionsByNamespaceSignature {\n return (\n query: FormSubmissionQuery,\n options?: QuerySubmissionsByNamespaceOptions\n ) =>\n universalTypedQuerySubmissionsByNamespace(\n query,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface TypedQuerySubmissionsByNamespaceSignature {\n /** */\n (\n query: FormSubmissionQuery,\n options?: QuerySubmissionsByNamespaceOptions\n ): Promise<\n NonNullablePaths<\n QuerySubmissionsByNamespaceResponse,\n | `submissions`\n | `submissions.${number}.formId`\n | `submissions.${number}.namespace`\n | `submissions.${number}.status`\n | `submissions.${number}.seen`\n | `submissions.${number}.orderDetails.itemSubtotal`\n | `submissions.${number}.orderDetails.checkoutId`,\n 5\n >\n >;\n}\n\nexport function countSubmissionsByFilter(\n httpClient: HttpClient\n): CountSubmissionsByFilterSignature {\n return (\n filter: Record<string, any>,\n options?: CountSubmissionsByFilterOptions\n ) =>\n universalCountSubmissionsByFilter(\n filter,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CountSubmissionsByFilterSignature {\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 - A filter object. Must filter by namespace.\n */\n (\n filter: Record<string, any>,\n options?: CountSubmissionsByFilterOptions\n ): Promise<\n NonNullablePaths<\n CountSubmissionsByFilterResponse,\n | `formsSubmissionsCount`\n | `formsSubmissionsCount.${number}.formId`\n | `formsSubmissionsCount.${number}.totalCount`\n | `formsSubmissionsCount.${number}.unseenCount`,\n 4\n >\n >;\n}\n\nexport function countSubmissions(\n httpClient: HttpClient\n): CountSubmissionsSignature {\n return (\n formIds: string[],\n namespace: string,\n options?: CountSubmissionsOptions\n ) =>\n universalCountSubmissions(\n formIds,\n namespace,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CountSubmissionsSignature {\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 * @param - 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 - Form IDs which submissions should be counted.\n */\n (\n formIds: string[],\n namespace: string,\n options?: CountSubmissionsOptions\n ): Promise<\n NonNullablePaths<\n CountSubmissionsResponse,\n | `formsSubmissionsCount`\n | `formsSubmissionsCount.${number}.formId`\n | `formsSubmissionsCount.${number}.totalCount`\n | `formsSubmissionsCount.${number}.unseenCount`,\n 4\n >\n >;\n}\n\nexport function countDeletedSubmissions(\n httpClient: HttpClient\n): CountDeletedSubmissionsSignature {\n return (\n formIds: string[],\n namespace: string,\n options?: CountDeletedSubmissionsOptions\n ) =>\n universalCountDeletedSubmissions(\n formIds,\n namespace,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CountDeletedSubmissionsSignature {\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 - Form IDs.\n * @param - 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 */\n (\n formIds: string[],\n namespace: string,\n options?: CountDeletedSubmissionsOptions\n ): Promise<\n NonNullablePaths<\n CountDeletedSubmissionsResponse,\n | `formsDeletedSubmissionsCount`\n | `formsDeletedSubmissionsCount.${number}.formId`\n | `formsDeletedSubmissionsCount.${number}.totalCount`,\n 4\n >\n >;\n}\n\nexport function getMediaUploadUrl(\n httpClient: HttpClient\n): GetMediaUploadUrlSignature {\n return (formId: string, filename: string, mimeType: string) =>\n universalGetMediaUploadUrl(\n formId,\n filename,\n mimeType,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetMediaUploadUrlSignature {\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 - Form ID.\n * @param - Name of file to upload.\n * @param - [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 (formId: string, filename: string, mimeType: string): Promise<\n NonNullablePaths<GetMediaUploadURLResponse, `uploadUrl`, 2>\n >;\n}\n\nexport function bulkMarkSubmissionsAsSeen(\n httpClient: HttpClient\n): BulkMarkSubmissionsAsSeenSignature {\n return (ids: string[], formId: string) =>\n universalBulkMarkSubmissionsAsSeen(\n ids,\n formId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkMarkSubmissionsAsSeenSignature {\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 * @param - IDs of submissions to mark as seen.\n * @param - ID of the form which the submissions belong to.\n */\n (ids: string[], formId: string): Promise<\n NonNullablePaths<BulkMarkSubmissionsAsSeenResponse, `jobId`, 2>\n >;\n}\n\nexport function getSubmissionDownloadUrl(\n httpClient: HttpClient\n): GetSubmissionDownloadUrlSignature {\n return (submissionId: string) =>\n universalGetSubmissionDownloadUrl(\n submissionId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetSubmissionDownloadUrlSignature {\n /**\n * Gets submission as document which may include the document download url if the document is ready.\n * @param - Submission ID.\n */\n (submissionId: string): Promise<\n NonNullablePaths<\n GetSubmissionDownloadUrlResponse,\n `document.readyDetails.downloadUrl` | `document.status`,\n 4\n >\n >;\n}\n\nexport function downloadSubmission(\n httpClient: HttpClient\n): DownloadSubmissionSignature {\n return (submissionId: string, accessToken: string) =>\n universalDownloadSubmission(\n submissionId,\n accessToken,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface DownloadSubmissionSignature {\n /**\n * Download a submission document by redirecting to the document URL.\n * @param - Submission id for which the document is generated.\n * @param - Access token to download the document.\n */\n (submissionId: string, accessToken: string): Promise<\n NonNullablePaths<\n RawHttpResponse,\n `body` | `headers` | `headers.${number}.key` | `headers.${number}.value`,\n 4\n >\n >;\n}\n\nexport function getFormattedSubmission(\n httpClient: HttpClient\n): GetFormattedSubmissionSignature {\n return (submissionId: string) =>\n universalGetFormattedSubmission(\n submissionId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetFormattedSubmissionSignature {\n /**\n * Retrieves a submission formatted by language\n * @param - Submission ID.\n */\n (submissionId: string): Promise<\n NonNullablePaths<\n GetFormattedSubmissionResponse,\n | `submissionId`\n | `submissions`\n | `submissions.${number}.key`\n | `submissions.${number}.value`\n | `submissions.${number}.fieldId`,\n 4\n >\n >;\n}\n\nexport function updateExtendedFields(\n httpClient: HttpClient\n): UpdateExtendedFieldsSignature {\n return (\n _id: string,\n namespace: string,\n options: NonNullablePaths<UpdateExtendedFieldsOptions, `namespaceData`, 2>\n ) =>\n universalUpdateExtendedFields(\n _id,\n namespace,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpdateExtendedFieldsSignature {\n /**\n * Update Extended Fields of the Form\n * @param - ID of the entity to update.\n * @param - Identifier for the app whose extended fields are being updated.\n */\n (\n _id: string,\n namespace: string,\n options: NonNullablePaths<UpdateExtendedFieldsOptions, `namespaceData`, 2>\n ): Promise<NonNullablePaths<UpdateExtendedFieldsResponse, `namespace`, 2>>;\n}\n\n/** @internal */\nexport function bulkUpdateFormSubmissionTags(\n httpClient: HttpClient\n): BulkUpdateFormSubmissionTagsSignature {\n return (\n submissionIds: string[],\n options?: BulkUpdateFormSubmissionTagsOptions\n ) =>\n universalBulkUpdateFormSubmissionTags(\n submissionIds,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkUpdateFormSubmissionTagsSignature {\n /**\n * Bulk update tags on form submissions.\n * @param - Submission IDs to update tags for.\n */\n (\n submissionIds: string[],\n options?: BulkUpdateFormSubmissionTagsOptions\n ): Promise<\n NonNullablePaths<\n BulkUpdateFormSubmissionTagsResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n >\n >;\n}\n\n/** @internal */\nexport function bulkUpdateFormSubmissionTagsByFilter(\n httpClient: HttpClient\n): BulkUpdateFormSubmissionTagsByFilterSignature {\n return (\n filter: Record<string, any>,\n options?: BulkUpdateFormSubmissionTagsByFilterOptions\n ) =>\n universalBulkUpdateFormSubmissionTagsByFilter(\n filter,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkUpdateFormSubmissionTagsByFilterSignature {\n /**\n * Bulk update tags on form submissions by filter.\n * @param - Filter to select the submission to update\n */\n (\n filter: Record<string, any>,\n options?: BulkUpdateFormSubmissionTagsByFilterOptions\n ): Promise<\n NonNullablePaths<BulkUpdateFormSubmissionTagsByFilterResponse, `jobId`, 2>\n >;\n}\n\nexport function validateFormSubmission(\n httpClient: HttpClient\n): ValidateFormSubmissionSignature {\n return (\n submission: FormSubmission,\n options?: ValidateFormSubmissionOptions\n ) =>\n universalValidateFormSubmission(\n submission,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ValidateFormSubmissionSignature {\n /**\n * Called to validate submission before creation.\n * @param - Submission to validate.\n */\n (\n submission: FormSubmission,\n options?: ValidateFormSubmissionOptions\n ): Promise<\n NonNullablePaths<\n ValidateFormSubmissionResponse,\n | `violationErrors`\n | `violationErrors.${number}.name`\n | `violationErrors.${number}.description`\n | `violationErrors.${number}.ruleName`,\n 4\n >\n >;\n}\n\nexport const onSubmissionCreated = EventDefinition(\n 'wix.forms.v4.submission_created',\n true,\n (event: SubmissionCreatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.createdDate' },\n { path: 'entity.updatedDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n ])\n )\n)<SubmissionCreatedEnvelope>();\nexport const onSubmissionDeleted = EventDefinition(\n 'wix.forms.v4.submission_deleted',\n true,\n (event: SubmissionDeletedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.createdDate' },\n { path: 'entity.updatedDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n ])\n )\n)<SubmissionDeletedEnvelope>();\nexport const onSubmissionRemovedSubmissionFromTrash = EventDefinition(\n 'wix.forms.v4.submission_removed_submission_from_trash',\n true,\n (event: SubmissionRemovedSubmissionFromTrashEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'data.submission.createdDate' },\n { path: 'data.submission.updatedDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n ])\n )\n)<SubmissionRemovedSubmissionFromTrashEnvelope>();\nexport const onSubmissionStatusUpdated = EventDefinition(\n 'wix.forms.v4.submission_status_updated',\n true,\n (event: SubmissionStatusUpdatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'data.submission.createdDate' },\n { path: 'data.submission.updatedDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n ])\n )\n)<SubmissionStatusUpdatedEnvelope>();\nexport const onSubmissionContactMapped = EventDefinition(\n 'wix.forms.v4.submission_submission_contact_mapped',\n true,\n (event: SubmissionContactMappedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'data.marketingSubscriptionDetails.submittedDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n ])\n )\n)<SubmissionContactMappedEnvelope>();\nexport const onSubmissionContactMappingSkipped = EventDefinition(\n 'wix.forms.v4.submission_submission_contact_mapping_skipped',\n true,\n (event: SubmissionContactMappingSkippedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'metadata.eventTime' }],\n },\n ])\n )\n)<SubmissionContactMappingSkippedEnvelope>();\nexport const onSubmissionUpdated = EventDefinition(\n 'wix.forms.v4.submission_updated',\n true,\n (event: SubmissionUpdatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.createdDate' },\n { path: 'entity.updatedDate' },\n { path: 'metadata.eventTime' },\n { path: 'modifiedFields.createdDate' },\n { path: 'modifiedFields.updatedDate' },\n ],\n },\n ])\n )\n)<SubmissionUpdatedEnvelope>();\n\nexport {\n AccountInfo,\n AccountInfoMetadata,\n ActionEvent,\n Address,\n AddressComponentTypeOptionsOneOf,\n AddressInfo,\n AddressInfoTag,\n AddressLine2,\n Alignment,\n AllowedValuesOptions,\n AnchorData,\n AndCondition,\n AppEmbedData,\n AppEmbedDataAppDataOneOf,\n AppType,\n ApplicationError,\n Appointment,\n AppointmentDetails,\n AppointmentFormatInfoOneOf,\n ArrayComponentType,\n ArrayErrorMessages,\n ArrayItems,\n ArrayItemsItemTypeOptionsOneOf,\n ArrayType,\n ArrayTypeArrayItems,\n ArrayTypeArrayItemsItemsOneOf,\n AspectRatio,\n AudioData,\n Availability,\n Backdrop,\n BackdropType,\n Background,\n BackgroundGradient,\n BackgroundImage,\n BackgroundType,\n Banner,\n BaseEventMetadata,\n BlockquoteData,\n BookingData,\n BooleanComponentType,\n BooleanErrorMessages,\n BooleanType,\n Border,\n BorderColors,\n BorderWidths,\n BreakPoint,\n BulkActionMetadata,\n BulkCreateSubmissionBySubmitterData,\n BulkCreateSubmissionBySubmitterRequest,\n BulkCreateSubmissionBySubmitterResponse,\n BulkDeleteSubmissionOptions,\n BulkDeleteSubmissionRequest,\n BulkDeleteSubmissionResponse,\n BulkDeleteSubmissionResult,\n BulkMarkSubmissionsAsSeenRequest,\n BulkMarkSubmissionsAsSeenResponse,\n BulkRemoveSubmissionFromTrashBinOptions,\n BulkRemoveSubmissionFromTrashBinRequest,\n BulkRemoveSubmissionFromTrashBinResponse,\n BulkRemoveSubmissionFromTrashBinResult,\n BulkSubmissionResult,\n BulkUpdateFormSubmissionTagsByFilterOptions,\n BulkUpdateFormSubmissionTagsByFilterRequest,\n BulkUpdateFormSubmissionTagsByFilterResponse,\n BulkUpdateFormSubmissionTagsOptions,\n BulkUpdateFormSubmissionTagsRequest,\n BulkUpdateFormSubmissionTagsResponse,\n BulkUpdateFormSubmissionTagsResult,\n BulletedListData,\n ButtonData,\n ButtonDataType,\n ButtonStyles,\n CaptionData,\n CardData,\n CardDataBackground,\n CardDataBackgroundType,\n CardStyles,\n CardStylesAlignment,\n CardStylesType,\n CellStyle,\n ChangeableProperty,\n Checkbox,\n CheckboxGroup,\n Checkout,\n CodeBlockData,\n CollapsibleListData,\n ColorData,\n Colors,\n ComponentType,\n ComponentsTags,\n Condition,\n ConditionNode,\n ConditionNodeNodeOneOf,\n ConfirmSubmissionRequest,\n ConfirmSubmissionResponse,\n ConfirmationLevel,\n ContactAutofill,\n ContactField,\n CorrectAnswersList,\n CountDeletedSubmissionsOptions,\n CountDeletedSubmissionsRequest,\n CountDeletedSubmissionsResponse,\n CountSubmissionsByFilterOptions,\n CountSubmissionsByFilterRequest,\n CountSubmissionsByFilterResponse,\n CountSubmissionsOptions,\n CountSubmissionsRequest,\n CountSubmissionsResponse,\n CreateCheckoutFromSubmissionRequest,\n CreateCheckoutFromSubmissionRequestFormSchemaIdentifierOneOf,\n CreateCheckoutFromSubmissionResponse,\n CreateSubmissionBySubmitterRequest,\n CreateSubmissionBySubmitterResponse,\n CreateSubmissionOptions,\n CreateSubmissionRequest,\n CreateSubmissionResponse,\n Crop,\n CursorPaging,\n CursorPagingMetadata,\n CursorQuery,\n CursorQueryPagingMethodOneOf,\n CursorSearch,\n CursorSearchPagingMethodOneOf,\n Cursors,\n CustomFieldInfo,\n CustomOption,\n DataExtensionsDetails,\n DateInput,\n DatePicker,\n DateRange,\n DateTimeAdvancedConstraints,\n DateTimeConstraints,\n DateTimeInput,\n DayOfWeek,\n Decoration,\n DecorationDataOneOf,\n DecorationType,\n DefaultCountryConfig,\n DefaultCountryConfigOptionsOneOf,\n DeleteSubmissionOptions,\n DeleteSubmissionRequest,\n DeleteSubmissionResponse,\n Design,\n DesignTarget,\n Dimensions,\n Direction,\n DisplayField,\n DisplayFieldDisplayFieldTypeOptionsOneOf,\n DisplayFieldType,\n DividerData,\n DividerDataAlignment,\n DocumentReady,\n DocumentStyle,\n DomainEvent,\n DomainEventBodyOneOf,\n DonationInput,\n DonationInputOption,\n DownloadSubmissionRequest,\n Dropdown,\n DropdownOption,\n DynamicPriceOptions,\n EmailInfo,\n EmailInfoTag,\n EmbedData,\n Empty,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n ErrorType,\n EventData,\n EventMetadata,\n ExtendedFields,\n Field,\n FieldFieldTypeOptionsOneOf,\n FieldGroup,\n FieldOverride,\n FieldOverridePropertyTypeOptionsOneOf,\n FieldOverrides,\n FieldType,\n FieldViolation,\n FieldViolationErrorDataOneOf,\n FieldsOverrides,\n FieldsSettings,\n FileData,\n FileSource,\n FileSourceDataOneOf,\n FileType,\n FileUpload,\n FirstDayOfWeek,\n FixedPayment,\n FixedPriceOptions,\n FontFamilyData,\n FontSizeData,\n FontType,\n Form,\n FormDeletedSubmissionsCount,\n FormField,\n FormFieldArrayType,\n FormFieldBooleanType,\n FormFieldContactInfo,\n FormFieldContactInfoAdditionalInfoOneOf,\n FormFieldContactInfoAddressInfo,\n FormFieldContactInfoContactField,\n FormFieldContactInfoCustomFieldInfo,\n FormFieldContactInfoEmailInfo,\n FormFieldContactInfoEmailInfoTag,\n FormFieldContactInfoPhoneInfo,\n FormFieldContactInfoPhoneInfoTag,\n FormFieldContactInfoSubscriptionInfo,\n FormFieldNumberType,\n FormFieldObjectType,\n FormFieldStringType,\n FormFieldStringTypeFormatOptionsOneOf,\n FormLayout,\n FormOverride,\n FormProperties,\n FormRule,\n FormSubmission,\n FormSubmissionQuerySpec,\n FormSubmissionSearchSpec,\n FormSubmissionStatusUpdatedEvent,\n FormSubmissionsCount,\n Format,\n FormatEnumFormat,\n FormattedFormSubmission,\n FormattedSubmission,\n GIF,\n GIFData,\n GIFType,\n GalleryData,\n GalleryOptions,\n GalleryOptionsLayout,\n GetDeletedSubmissionRequest,\n GetDeletedSubmissionResponse,\n GetFormattedSubmissionRequest,\n GetFormattedSubmissionResponse,\n GetMediaUploadURLRequest,\n GetMediaUploadURLResponse,\n GetSubmissionByCheckoutIdRequest,\n GetSubmissionByCheckoutIdResponse,\n GetSubmissionDownloadUrlRequest,\n GetSubmissionDownloadUrlResponse,\n GetSubmissionRequest,\n GetSubmissionResponse,\n Gradient,\n GradientType,\n Group,\n HTMLData,\n HTMLDataDataOneOf,\n HeadersEntry,\n HeadingData,\n Height,\n HiddenOptions,\n IdentificationData,\n IdentificationDataIdOneOf,\n IdentityType,\n Image,\n ImageData,\n ImageDataStyles,\n ImageFit,\n ImagePosition,\n ImagePositionPosition,\n ImageScalingScaling,\n ImageStyles,\n InPersonOptions,\n Indentation,\n InitialExpandedItems,\n InputField,\n InputFieldInputTypeOptionsOneOf,\n InputType,\n IntegerType,\n IsFormSubmittableRequest,\n IsFormSubmittableResponse,\n Item,\n ItemDataOneOf,\n ItemLayout,\n ItemLayoutItemOneOf,\n ItemMetadata,\n ItemStyle,\n ItemType,\n Kind,\n Layout,\n LayoutCellData,\n LayoutData,\n LayoutDataBackground,\n LayoutDataBackgroundImage,\n LayoutDataBackgroundType,\n LayoutDataImagePosition,\n LayoutType,\n LimitationRule,\n LineStyle,\n Link,\n LinkData,\n LinkDataOneOf,\n LinkPreviewData,\n LinkPreviewDataStyles,\n LinkTarget,\n ListDeletedSubmissionsOptions,\n ListDeletedSubmissionsRequest,\n ListDeletedSubmissionsResponse,\n ListFormattedSubmissionsRequest,\n ListFormattedSubmissionsResponse,\n ListStyle,\n ListValue,\n Location,\n LocationLocationInfoOneOf,\n MapData,\n MapSettings,\n MapType,\n Margin,\n MarketingSubscriptionDetails,\n Media,\n MediaItem,\n MediaItemMediaOneOf,\n MediaSettings,\n MeetingType,\n MentionData,\n MessageEnvelope,\n Metadata,\n Mode,\n MultilineAddress,\n MultilineAddressValidation,\n NestedForm,\n NestedFormFieldOverrides,\n NestedFormOverrides,\n Node,\n NodeDataOneOf,\n NodeStyle,\n NodeType,\n NullValue,\n NumberComponentType,\n NumberCorrectAnswersList,\n NumberErrorMessages,\n NumberInput,\n NumberOfColumns,\n NumberQuizFieldSettings,\n NumberType,\n ObjectArray,\n ObjectArrayComponentType,\n ObjectArrayComponentTypeOptionsOneOf,\n ObjectArrayType,\n ObjectErrorMessages,\n ObjectType,\n ObjectTypePropertiesType,\n ObjectTypePropertiesTypePropertiesTypeOneOf,\n Oembed,\n Operator,\n OptInLevel,\n Option,\n OptionDesign,\n OptionLayout,\n OrCondition,\n OrderDetails,\n OrderedListData,\n Orientation,\n Origin,\n OverrideEntityType,\n OverrideEntityTypeEnumOverrideEntityType,\n PDFSettings,\n PageNavigationOptions,\n ParagraphData,\n PassFailMessages,\n Password,\n Payment,\n PaymentComponentType,\n PaymentComponentTypeOptionsOneOf,\n PaymentInput,\n PaymentType,\n Permissions,\n PhoneConstraints,\n PhoneInfo,\n PhoneInfoTag,\n PhoneInput,\n PhoneOptions,\n Placement,\n PlaybackOptions,\n PluginContainerData,\n PluginContainerDataAlignment,\n PluginContainerDataWidth,\n PluginContainerDataWidthDataOneOf,\n Poll,\n PollData,\n PollDataLayout,\n PollDesign,\n PollDesignBackground,\n PollDesignBackgroundBackgroundOneOf,\n PollDesignBackgroundType,\n PollLayout,\n PollLayoutDirection,\n PollLayoutType,\n PollOption,\n PopupOptions,\n Position,\n PostSubmissionTriggers,\n PredefinedValidation,\n PredefinedValidationFormatOptionsOneOf,\n PriceType,\n PricingData,\n Product,\n ProductCheckboxGroup,\n ProductCheckboxGroupOption,\n ProductPriceOptionsOneOf,\n ProductType,\n PropertiesType,\n PropertiesTypeEnum,\n PropertiesTypePropertiesTypeOptionsOneOf,\n PublicTags,\n QuantityLimit,\n QuerySubmissionOptions,\n QuerySubmissionRequest,\n QuerySubmissionResponse,\n QuerySubmissionsByNamespaceForExportRequest,\n QuerySubmissionsByNamespaceForExportResponse,\n QuerySubmissionsByNamespaceOptions,\n QuerySubmissionsByNamespaceRequest,\n QuerySubmissionsByNamespaceResponse,\n QuizFieldSettings,\n QuizSettings,\n QuizSettingsPassingCriteriaOneOf,\n QuizSettingsResultsDisplayOptionsOneOf,\n RadioGroup,\n RadioGroupOption,\n RatingInput,\n RawHttpResponse,\n RedirectOptions,\n Rel,\n RemoveSubmissionFromTrashBinRequest,\n RemoveSubmissionFromTrashBinResponse,\n RemovedSubmissionFromTrash,\n Repeater,\n RequiredIndicator,\n RequiredIndicatorPlacement,\n RequiredIndicatorProperties,\n RequiredOptions,\n Resizing,\n ResponsivenessBehaviour,\n RestoreInfo,\n RestoreSubmissionFromTrashBinRequest,\n RestoreSubmissionFromTrashBinResponse,\n ResultsDisplay,\n RibbonStyles,\n RichContent,\n RichContentOptions,\n Rule,\n RuleFormOverride,\n RuleFormOverrideEntityTypeOptionsOneOf,\n Scaling,\n Scheduling,\n SchedulingComponentType,\n SchedulingComponentTypeOptionsOneOf,\n SearchDetails,\n SearchSubmissionsByNamespaceForExportRequest,\n SearchSubmissionsByNamespaceForExportResponse,\n SearchSubmissionsByNamespaceRequest,\n SearchSubmissionsByNamespaceResponse,\n Section,\n ServiceOption,\n ServicesCheckboxGroup,\n ServicesDropdown,\n Settings,\n ShapeData,\n ShapeDataStyles,\n Signature,\n SortOrder,\n Sorting,\n Source,\n SpamFilterProtectionLevel,\n Spoiler,\n SpoilerData,\n StaffStrategySelection,\n Status,\n Step,\n Stop,\n StringComponentType,\n StringCorrectAnswersList,\n StringErrorMessages,\n StringQuizFieldSettings,\n StringType,\n StringTypeDateTimeConstraints,\n StringTypeFormatEnumFormat,\n StringTypeFormatOptionsOneOf,\n StringTypePhoneConstraints,\n StringTypeValidationMessages,\n Styles,\n StylesBorder,\n StylesPosition,\n SubmissionAccess,\n SubmissionContactMapped,\n SubmissionContactMappedEnvelope,\n SubmissionContactMappingSkipped,\n SubmissionContactMappingSkippedEnvelope,\n SubmissionCreatedEnvelope,\n SubmissionDeletedEnvelope,\n SubmissionDocument,\n SubmissionDocumentDocumentOneOf,\n SubmissionErrorType,\n SubmissionRemovedSubmissionFromTrashEnvelope,\n SubmissionStatus,\n SubmissionStatusUpdatedEnvelope,\n SubmissionUpdatedEnvelope,\n SubmissionValidationError,\n SubmissionValidationErrorErrorMessageOneOf,\n SubmissionValidationErrors,\n SubmissionValidationErrorsDetails,\n SubmissionsQueryBuilder,\n SubmissionsQueryResult,\n SubmitContactResponse,\n SubmitSettings,\n SubmitSettingsSubmitSuccessActionOptionsOneOf,\n SubmitSuccessAction,\n Submitter,\n SubmitterSubmitterOneOf,\n SubscriptionChannel,\n SubscriptionInfo,\n SubscriptionInfoOptInLevel,\n TableCellData,\n TableData,\n Tag,\n TagList,\n Tags,\n TagsOption,\n TagsTagList,\n Target,\n TextAlignment,\n TextData,\n TextInput,\n TextNodeStyle,\n TextStyle,\n ThankYouMessageOptions,\n Thumbnails,\n ThumbnailsAlignment,\n TimeInput,\n TocData,\n Type,\n UpdateExtendedFieldsOptions,\n UpdateExtendedFieldsRequest,\n UpdateExtendedFieldsResponse,\n UpdateSubmission,\n UpdateSubmissionRequest,\n UpdateSubmissionResponse,\n UploadFileFormat,\n UpsertContact,\n UpsertContactFromSubmissionOptions,\n UpsertContactFromSubmissionRequest,\n UpsertContactFromSubmissionResponse,\n V4FormFieldContactInfo,\n V4FormFieldContactInfoAdditionalInfoOneOf,\n ValidateFormSubmissionOptions,\n ValidateFormSubmissionRequest,\n ValidateFormSubmissionResponse,\n Validation,\n ValidationError,\n ValidationFormat,\n ValidationMessages,\n ValidationValidationOneOf,\n VerticalAlignment,\n VerticalAlignmentAlignment,\n Video,\n VideoConferenceOptions,\n VideoData,\n ViewMode,\n ViewRole,\n VoteRole,\n WebhookIdentityType,\n Width,\n WidthType,\n WixFile,\n WixFileComponentType,\n WixFileComponentTypeOptionsOneOf,\n _Array,\n _ArrayComponentTypeOptionsOneOf,\n _Boolean,\n _BooleanComponentTypeOptionsOneOf,\n _Number,\n _NumberComponentTypeOptionsOneOf,\n _Object,\n _String,\n _StringComponentTypeOptionsOneOf,\n utils,\n} from './forms-v4-submission-submissions.universal.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport { queryBuilder } from '@wix/sdk-runtime/query-builder';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport {\n HttpClient,\n HttpResponse,\n Search as SearchSdkType,\n NonNullablePaths,\n SearchSpec,\n QuerySpec,\n Query as QuerySdkType,\n} from '@wix/sdk-types';\nimport * as ambassadorWixFormsV4Submission from './forms-v4-submission-submissions.http.js';\n// @ts-ignore\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { createSearchUtils } from '@wix/sdk-runtime/search-builder-utils';\nimport { createQueryUtils } from '@wix/sdk-runtime/query-builder-utils';\n\n/** Form submission that was created or retrieved. */\nexport interface FormSubmission {\n /**\n * Submission ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * ID of the form which the submission belongs to.\n * @format GUID\n * @immutable\n */\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 * @minLength 10\n * @maxLength 50\n * @readonly\n */\n namespace?: string;\n /** Status of the submission. */\n status?: SubmissionStatusWithLiterals;\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 * @immutable\n */\n _createdDate?: Date | null;\n /**\n * Date and time the form submission was updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Revision number, which increments by 1 each time the form submission is updated. To prevent conflicting changes, the existing revision must be used when updating a form submission.\n * @readonly\n */\n revision?: string | null;\n /**\n * ID of the visitor that submitted the form.\n * @readonly\n */\n submitter?: Submitter;\n /** Whether a site owner marked a submission as \"seen\". */\n seen?: boolean;\n /** Data extension object that holds users' and apps' fields. */\n extendedFields?: ExtendedFields;\n /**\n * Order details. <br>\n * <b>Note</b>: This object is only applicable when submitting a form in the Wix Payments app.\n */\n orderDetails?: OrderDetails;\n /**\n * Contact ID of a site visitor who created the submission.\n * @format GUID\n * @immutable\n */\n contactId?: string | null;\n /**\n * Authorized viewer ID.\n * @format GUID\n * @immutable\n */\n accessRestriction?: string | null;\n /** Tag IDs collections associated with the current entity. */\n tags?: PublicTags;\n /**\n * Appointment details.\n * This object is only applicable when submitting a form that creates a booking appointment.\n */\n appointmentDetails?: AppointmentDetails;\n}\n\nexport enum SubmissionStatus {\n /** A submission is created, but has not yet been recorded in the Wix Forms collection. */\n PENDING = 'PENDING',\n /** A submission is recorded in the Wix Forms collection. */\n CONFIRMED = 'CONFIRMED',\n /** A form submission requiring payment is created. */\n PAYMENT_WAITING = 'PAYMENT_WAITING',\n /** An order of a form submission is canceled. */\n PAYMENT_CANCELED = 'PAYMENT_CANCELED',\n}\n\n/** @enumType */\nexport type SubmissionStatusWithLiterals =\n | SubmissionStatus\n | 'PENDING'\n | 'CONFIRMED'\n | 'PAYMENT_WAITING'\n | 'PAYMENT_CANCELED';\n\nexport interface Submitter extends SubmitterSubmitterOneOf {\n /**\n * Member ID.\n * @format GUID\n */\n memberId?: string | null;\n /**\n * Visitor ID.\n * @format GUID\n */\n visitorId?: string | null;\n /**\n * Application ID.\n * @maxLength 36\n */\n applicationId?: string | null;\n /**\n * User ID.\n * @format GUID\n */\n userId?: string | null;\n}\n\n/** @oneof */\nexport interface SubmitterSubmitterOneOf {\n /**\n * Member ID.\n * @format GUID\n */\n memberId?: string | null;\n /**\n * Visitor ID.\n * @format GUID\n */\n visitorId?: string | null;\n /**\n * Application ID.\n * @maxLength 36\n */\n applicationId?: string | null;\n /**\n * User ID.\n * @format GUID\n */\n userId?: string | null;\n}\n\nexport 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\nexport interface OrderDetails {\n /**\n * ID of the order related to submission (only applicable if a form has payments).\n * @format GUID\n * @readonly\n */\n orderId?: string | null;\n /**\n * Order number.\n * @readonly\n */\n number?: string | null;\n /**\n * Currency.\n * @format CURRENCY\n * @readonly\n */\n currency?: string | null;\n /**\n * Item subtotal.\n * @decimalValue options { gte:0.00, maxScale:2 }\n * @readonly\n */\n itemSubtotal?: string;\n /**\n * ID of the checkout related to submission (only applicable if a form has payments).\n * @format GUID\n * @readonly\n */\n checkoutId?: string;\n}\n\nexport interface PublicTags {\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\nexport interface TagList {\n /**\n * List of tag IDs\n * @maxSize 100\n * @maxLength 5\n */\n tagIds?: string[];\n}\n\nexport interface AppointmentDetails {\n /**\n * ID of the staff member assigned to the appointment.\n * @format GUID\n */\n staffMemberId?: string | null;\n /**\n * Name of the staff member assigned to the appointment.\n * @minLength 1\n * @maxLength 40\n */\n staffMemberName?: string | null;\n}\n\nexport interface FormSubmissionStatusUpdatedEvent {\n /** Updated submission. */\n submission?: FormSubmission;\n /** Previous status of the submission. */\n previousStatus?: SubmissionStatusWithLiterals;\n}\n\nexport interface RemovedSubmissionFromTrash {\n /** Removed submission. */\n submission?: FormSubmission;\n}\n\nexport interface SubmissionContactMapped {\n /**\n * Mapped upserted contact ID.\n * @format GUID\n * @readonly\n */\n contactId?: string;\n /**\n * Identifies the namespace that the submission's form belongs to.\n * @minLength 10\n * @maxLength 50\n * @immutable\n */\n namespace?: string;\n /** Marketing subscription details */\n marketingSubscriptionDetails?: MarketingSubscriptionDetails;\n}\n\nexport interface MarketingSubscriptionDetails {\n /**\n * Form id which was submitted\n * @format GUID\n */\n formId?: string;\n /**\n * Mapped contact emails.\n * @format EMAIL\n * @maxSize 100\n */\n emails?: string[];\n /**\n * Date and time the form submission was created.\n * @readonly\n */\n submittedDate?: Date | null;\n /**\n * Email subscription consent opt in level, either single or double confirmation.\n * Default: SINGLE_CONFIRMATION\n */\n optInLevel?: OptInLevelWithLiterals;\n /**\n * Mapped valid contact phones.\n * @format PHONE\n * @maxSize 100\n */\n phones?: string[];\n /**\n * Phone subscription consent opt in level, either single or double confirmation.\n * Default: SINGLE_CONFIRMATION\n */\n phoneOptInLevel?: OptInLevelWithLiterals;\n}\n\nexport enum OptInLevel {\n /** Single confirmation. */\n SINGLE_CONFIRMATION = 'SINGLE_CONFIRMATION',\n /** Double confirmation. */\n DOUBLE_CONFIRMATION = 'DOUBLE_CONFIRMATION',\n}\n\n/** @enumType */\nexport type OptInLevelWithLiterals =\n | OptInLevel\n | 'SINGLE_CONFIRMATION'\n | 'DOUBLE_CONFIRMATION';\n\nexport interface SubmissionContactMappingSkipped {\n /**\n * Form Id.\n * @format GUID\n */\n formId?: string;\n /**\n * Identifies the namespace that the submission's form belongs to.\n * @minLength 10\n * @maxLength 50\n * @immutable\n */\n namespace?: string;\n /**\n * Contact ID resolved from the submission context.\n * @format GUID\n * @readonly\n */\n contactId?: string | null;\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [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 that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport 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 currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface AccountInfo {\n /**\n * ID of the Wix account associated with the event.\n * @format GUID\n */\n accountId?: string | null;\n /**\n * ID of the parent Wix account. Only included when accountId belongs to a child account.\n * @format GUID\n */\n parentAccountId?: string | null;\n /**\n * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n * @format GUID\n */\n siteId?: string | null;\n}\n\nexport interface CreateCheckoutFromSubmissionRequest\n extends CreateCheckoutFromSubmissionRequestFormSchemaIdentifierOneOf {\n /** Submission's form. */\n form?: Form;\n /** Submission to create checkout from. */\n submission?: FormSubmission;\n}\n\n/** @oneof */\nexport interface CreateCheckoutFromSubmissionRequestFormSchemaIdentifierOneOf {\n /** Submission's form. */\n form?: Form;\n}\n\nexport interface Form {\n /**\n * Form schema ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Form fields that define the input elements and their validation rules.\n * @maxSize 500\n */\n formFields?: Field[];\n /**\n * Layout configuration that defines how form fields are organized across multiple steps.\n * Each step represents a page of the form.\n * @maxSize 100\n */\n steps?: Step[];\n /**\n * Form rules, can be applied to layout and items properties.\n * @maxSize 100\n * @deprecated Form rules, can be applied to layout and items properties.\n * @replacedBy wix.forms.v4.Form.form_rules\n * @targetRemovalDate 2026-04-01\n */\n rules?: FormRule[];\n /**\n * Revision number, which increments by 1 each time the form schema is updated.\n * To prevent conflicting changes, the current revision must be passed when updating the form schema.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time when the form schema was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time when the form schema was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Fields which were soft deleted.\n * @maxSize 150\n * @readonly\n */\n deletedFields?: FormField[];\n /**\n * Form fields that were soft deleted.\n * @maxSize 150\n * @readonly\n */\n deletedFormFields?: Field[];\n /** Data extensions for storing additional custom properties. */\n extendedFields?: ExtendedFields;\n /**\n * Unique identifier for the app that owns this form schema.\n * For example, `wix.form_app.form` for Wix Forms.\n *\n * See a list of namespaces for [apps made by Wix](https://dev.wix.com/docs/api-reference/crm/forms/form-schemas/introduction#namespaces-of-apps-made-by-wix) section.\n * @minLength 10\n * @maxLength 50\n * @immutable\n */\n namespace?: string;\n /**\n * Media folder ID for storing uploaded files from form submissions.\n * @maxLength 100\n * @readonly\n */\n mediaFolderId?: string | null;\n /** Submission limits that can automatically disable the form when reached. */\n limitationRule?: LimitationRule;\n /**\n * Level of spam protection applied to form submissions.\n *\n * Default: `ADVANCED`\n */\n spamFilterProtectionLevel?: SpamFilterProtectionLevelWithLiterals;\n /** Configuration for how required field indicators are displayed to the submitter. */\n requiredIndicatorProperties?: RequiredIndicatorProperties;\n /** Configuration for actions taken after a form is successfully submitted. */\n submitSettings?: SubmitSettings;\n /**\n * Message displayed to visitors when the form is disabled.\n * This allows you to inform submitters why the form isn't available.\n */\n disabledFormMessage?: RichContent;\n /**\n * Whether the form is effectively active — `true` only when the user has not disabled the form\n * **and** no system service has placed an `activation_block` on it.\n *\n * Writing `enabled: true` records the user's intent to activate the form, but the value read\n * back may still be `false` if `activation_block` is present (e.g. a plan restriction is in\n * effect). Once the block is lifted the form becomes active automatically without any additional\n * write.\n *\n * Default: `true`\n */\n enabled?: boolean | null;\n /**\n * Display name of the form schema.\n * @maxLength 200\n */\n name?: string | null;\n /**\n * Business logic rules that can modify form behavior based on user input or other conditions.\n * These rules can show/hide fields, change validation, or trigger actions.\n * @maxSize 100\n */\n formRules?: Rule[];\n /** Tag IDs collections associated with the current entity. */\n tags?: Tags;\n /** Source used for contact autofill when filling form fields. Default: FORM_INPUT. */\n autoFillContact?: ContactAutofillWithLiterals;\n /**\n * Controls who can read submissions of this form beyond the standard permission.\n *\n * Default: `OWNER_AND_COLLABORATORS`\n */\n submissionAccess?: SubmissionAccessWithLiterals;\n}\n\nexport interface FormField {\n /**\n * Item ID.\n * @format GUID\n * @immutable\n */\n _id?: string;\n /**\n * Definition of a target where the value of field belongs.\n * @maxLength 200\n * @immutable\n */\n target?: string | null;\n /** Validation of field output value. */\n validation?: Validation;\n /** Mark the field as containing personal information. This will encrypt user data when storing it. */\n pii?: boolean;\n /** Whether the field is hidden. */\n hidden?: boolean;\n /** Field view properties. */\n view?: Record<string, any> | null;\n /** Details identifying field, which is extension of other entity */\n dataExtensionsDetails?: DataExtensionsDetails;\n /**\n * Whether the field is read only.\n * Default: false\n */\n readOnly?: boolean;\n}\n\nexport interface FormFieldStringType\n extends FormFieldStringTypeFormatOptionsOneOf {\n /** DATE format options */\n dateOptions?: DateTimeAdvancedConstraints;\n /** DATE_TIME format options */\n dateTimeOptions?: StringTypeDateTimeConstraints;\n /** TIME format options */\n timeOptions?: StringTypeDateTimeConstraints;\n /** DATE_OPTIONAL_TIME format options */\n dateOptionalTimeOptions?: StringTypeDateTimeConstraints;\n /** PHONE format options */\n phoneOptions?: StringTypePhoneConstraints;\n /**\n * Minimum length.\n * @max 20000\n */\n minLength?: number | null;\n /**\n * Maximum length.\n * @max 20000\n */\n maxLength?: number | null;\n /**\n * Pattern for a regular expression match.\n * @maxLength 500\n */\n pattern?: string | null;\n /** Format of a string. */\n format?: StringTypeFormatEnumFormatWithLiterals;\n /** Custom error messages when validation fails. */\n errorMessages?: StringErrorMessages;\n /**\n * List of allowed values.\n * @maxSize 500\n * @maxLength 20000\n */\n enum?: string[] | null;\n /** User defined error messages when particular validation constraint fails */\n validationMessages?: StringTypeValidationMessages;\n}\n\n/** @oneof */\nexport interface FormFieldStringTypeFormatOptionsOneOf {\n /** DATE format options */\n dateOptions?: DateTimeAdvancedConstraints;\n /** DATE_TIME format options */\n dateTimeOptions?: StringTypeDateTimeConstraints;\n /** TIME format options */\n timeOptions?: StringTypeDateTimeConstraints;\n /** DATE_OPTIONAL_TIME format options */\n dateOptionalTimeOptions?: StringTypeDateTimeConstraints;\n /** PHONE format options */\n phoneOptions?: StringTypePhoneConstraints;\n}\n\nexport enum StringTypeFormatEnumFormat {\n UNDEFINED = 'UNDEFINED',\n DATE = 'DATE',\n TIME = 'TIME',\n DATE_TIME = 'DATE_TIME',\n EMAIL = 'EMAIL',\n URL = 'URL',\n UUID = 'UUID',\n PHONE = 'PHONE',\n URI = 'URI',\n HOSTNAME = 'HOSTNAME',\n COLOR_HEX = 'COLOR_HEX',\n CURRENCY = 'CURRENCY',\n LANGUAGE = 'LANGUAGE',\n DATE_OPTIONAL_TIME = 'DATE_OPTIONAL_TIME',\n}\n\n/** @enumType */\nexport type StringTypeFormatEnumFormatWithLiterals =\n | StringTypeFormatEnumFormat\n | 'UNDEFINED'\n | 'DATE'\n | 'TIME'\n | 'DATE_TIME'\n | 'EMAIL'\n | 'URL'\n | 'UUID'\n | 'PHONE'\n | 'URI'\n | 'HOSTNAME'\n | 'COLOR_HEX'\n | 'CURRENCY'\n | 'LANGUAGE'\n | 'DATE_OPTIONAL_TIME';\n\nexport interface StringErrorMessages {\n /**\n * Default error message on invalid validation.\n * @maxLength 200\n */\n default?: string | null;\n}\n\nexport interface DateTimeAdvancedConstraints {\n /**\n * Allows to specify available and unavailable dates and days of the week.\n * If unset, all dates from minimum to maximum are available.\n */\n availability?: Availability;\n /**\n * Support static constrains defined as ISO date/time format, as well as\n * dynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\n * The dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\n * The regex pattern for dynamic calculations is: \\$now([+-]\\d{1,2})([yMdmh])\n * @maxLength 50\n */\n minimum?: string | null;\n /**\n * Support static constrains defined as ISO date/time format, as well as\n * dynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\n * The dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\n * The regex pattern for dynamic calculations is: \\$now([+-]\\d{1,2})([yMdmh])\n * @maxLength 50\n */\n maximum?: string | null;\n}\n\nexport interface Availability {\n /**\n * Available date ranges.\n * If empty, all dates are available; if non-empty, only dates within these ranges are available.\n * `unavailable_dates` takes priority in case of overlap — for example, an empty `available_dates`\n * with a non-empty `unavailable_dates` means all dates are available except the excluded ranges.\n * @maxSize 5\n */\n availableDates?: DateRange[];\n /**\n * Unavailable date ranges. They take priority over `available_dates` in case of overlap.\n * @maxSize 5\n */\n unavailableDates?: DateRange[];\n /**\n * During available_dates, only these days of the week are available.\n * @maxSize 7\n */\n availableDays?: DayOfWeekWithLiterals[];\n}\n\nexport interface DateRange {\n /**\n * The beginning of the date range (inclusive). ISO 8601 date format (YYYY-MM-DD).\n * @format LOCAL_DATE\n */\n start?: string;\n /**\n * The end of the date range (exclusive). ISO 8601 date format (YYYY-MM-DD).\n * @format LOCAL_DATE\n */\n end?: string;\n}\n\nexport 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\n/** @enumType */\nexport type DayOfWeekWithLiterals =\n | DayOfWeek\n | 'MONDAY'\n | 'TUESDAY'\n | 'WEDNESDAY'\n | 'THURSDAY'\n | 'FRIDAY'\n | 'SATURDAY'\n | 'SUNDAY';\n\nexport interface StringTypeDateTimeConstraints {\n /**\n * Support static constrains defined as ISO date/time format, as well as\n * dynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\n * The dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\n * The regex pattern for dynamic calculations is: \\$now([+-]\\d{1,2})([yMdmh])\n * @maxLength 50\n */\n minimum?: string | null;\n /**\n * Support static constrains defined as ISO date/time format, as well as\n * dynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\n * The dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\n * The regex pattern for dynamic calculations is: \\$now([+-]\\d{1,2})([yMdmh])\n * @maxLength 50\n */\n maximum?: string | null;\n}\n\nexport interface StringTypePhoneConstraints {\n /**\n * Country codes for phone number that are allowed\n * @maxSize 250\n * @maxLength 2\n */\n allowedCountryCodes?: string[];\n}\n\nexport interface StringTypeValidationMessages {\n /**\n * Error message shown when validation of patter fails\n * @maxLength 200\n */\n pattern?: string | null;\n}\n\nexport interface FormFieldNumberType {\n /** Inclusive maximum value. */\n maximum?: number | null;\n /** Inclusive minimum value. */\n minimum?: number | null;\n /** Multiple of value. */\n multipleOf?: number | null;\n /** Custom error message when validation fails. */\n errorMessages?: NumberErrorMessages;\n /**\n * List of allowed values.\n * @maxSize 500\n */\n enum?: number[] | null;\n}\n\nexport interface NumberErrorMessages {\n /**\n * Default error message on invalid validation.\n * @maxLength 200\n */\n default?: string | null;\n}\n\nexport interface IntegerType {\n /** Minimum value. */\n maximum?: number | null;\n /** Maximum value. */\n minimum?: number | null;\n /** Multiple of value. */\n multipleOf?: number | null;\n /** Custom error message when validation fails. */\n errorMessages?: NumberErrorMessages;\n /**\n * List of allowed values.\n * @maxSize 500\n */\n enum?: number[] | null;\n}\n\nexport interface FormFieldBooleanType {\n /** Custom error message when validation fails. */\n errorMessages?: BooleanErrorMessages;\n /**\n * List of allowed values.\n * @maxSize 2\n */\n enum?: boolean[];\n}\n\nexport interface BooleanErrorMessages {\n /**\n * Default error message on invalid validation.\n * @maxLength 200\n */\n default?: string | null;\n}\n\nexport interface FormFieldArrayType {\n /**\n * Maximum amount of array elements.\n * @max 1000\n */\n maxItems?: number | null;\n /**\n * Minimum amount of array elements.\n * @max 1000\n */\n minItems?: number | null;\n /** Type of items allowed in array. */\n items?: ArrayTypeArrayItems;\n /** Custom error message when validation fails. */\n errorMessages?: ArrayErrorMessages;\n}\n\nexport interface FormFieldObjectType {\n /** Description of object properties. */\n properties?: Record<string, ObjectTypePropertiesType>;\n /** Custom error message when validation fails. */\n errorMessages?: ObjectErrorMessages;\n}\n\nexport interface ObjectTypePropertiesType\n extends ObjectTypePropertiesTypePropertiesTypeOneOf {\n /** String type validation for property. */\n string?: FormFieldStringType;\n /** Number type validation for property. */\n number?: FormFieldNumberType;\n /** Boolean type validation for property. */\n boolean?: FormFieldBooleanType;\n /** Integer type validation for property. */\n integer?: IntegerType;\n /** Array type validation for property. */\n array?: FormFieldArrayType;\n /** Whether the property is required. */\n required?: boolean;\n}\n\n/** @oneof */\nexport interface ObjectTypePropertiesTypePropertiesTypeOneOf {\n /** String type validation for property. */\n string?: FormFieldStringType;\n /** Number type validation for property. */\n number?: FormFieldNumberType;\n /** Boolean type validation for property. */\n boolean?: FormFieldBooleanType;\n /** Integer type validation for property. */\n integer?: IntegerType;\n /** Array type validation for property. */\n array?: FormFieldArrayType;\n}\n\nexport interface ObjectErrorMessages {\n /**\n * Default error message on invalid validation.\n * @maxLength 200\n */\n default?: string | null;\n}\n\nexport interface ArrayTypeArrayItems extends ArrayTypeArrayItemsItemsOneOf {\n /** String type validation for items. */\n string?: FormFieldStringType;\n /** Number type validation for items. */\n number?: FormFieldNumberType;\n /** Boolean type validation for items. */\n boolean?: FormFieldBooleanType;\n /** Integer type validation for items. */\n integer?: IntegerType;\n /** Object type validation for items */\n object?: FormFieldObjectType;\n}\n\n/** @oneof */\nexport interface ArrayTypeArrayItemsItemsOneOf {\n /** String type validation for items. */\n string?: FormFieldStringType;\n /** Number type validation for items. */\n number?: FormFieldNumberType;\n /** Boolean type validation for items. */\n boolean?: FormFieldBooleanType;\n /** Integer type validation for items. */\n integer?: IntegerType;\n /** Object type validation for items */\n object?: FormFieldObjectType;\n}\n\nexport interface ArrayErrorMessages {\n /**\n * Default error message on invalid validation.\n * @maxLength 200\n */\n default?: string | null;\n}\n\nexport interface PredefinedValidation\n extends PredefinedValidationFormatOptionsOneOf {\n /** Payment input field. */\n paymentOptions?: PaymentType;\n /** Multiline address validation. */\n multilineAddressOptions?: MultilineAddressValidation;\n /** Validation configuration for the object array input. */\n objectArrayOptions?: ObjectArrayType;\n /** Format of predefined validation. */\n format?: ValidationFormatWithLiterals;\n}\n\n/** @oneof */\nexport interface PredefinedValidationFormatOptionsOneOf {\n /** Payment input field. */\n paymentOptions?: PaymentType;\n /** Multiline address validation. */\n multilineAddressOptions?: MultilineAddressValidation;\n /** Validation configuration for the object array input. */\n objectArrayOptions?: ObjectArrayType;\n}\n\nexport enum ValidationFormat {\n UNDEFINED = 'UNDEFINED',\n /** File upload validation. */\n WIX_FILE = 'WIX_FILE',\n /** Payment validation. */\n PAYMENT = 'PAYMENT',\n /** Multiline address. */\n MULTILINE_ADDRESS = 'MULTILINE_ADDRESS',\n /** Scheduling validation. */\n SCHEDULING = 'SCHEDULING',\n /** Object array validation. */\n OBJECT_ARRAY = 'OBJECT_ARRAY',\n}\n\n/** @enumType */\nexport type ValidationFormatWithLiterals =\n | ValidationFormat\n | 'UNDEFINED'\n | 'WIX_FILE'\n | 'PAYMENT'\n | 'MULTILINE_ADDRESS'\n | 'SCHEDULING'\n | 'OBJECT_ARRAY';\n\nexport interface PaymentType {\n /**\n * Products the submitter can select to make a payment for.\n * @minSize 1\n * @maxSize 100\n */\n products?: Product[];\n /**\n * Minimum number of different products that must be selected.\n * @max 100\n */\n minItems?: number | null;\n /**\n * Maximum number of different products that can be selected.\n * @max 100\n */\n maxItems?: number | null;\n}\n\nexport enum ProductType {\n /** Physical product that can be shipped. */\n SHIPPABLE = 'SHIPPABLE',\n /** Digital product. */\n DIGITAL = 'DIGITAL',\n}\n\n/** @enumType */\nexport type ProductTypeWithLiterals = ProductType | 'SHIPPABLE' | 'DIGITAL';\n\nexport enum PriceType {\n /** Product has a single, unchanging price. */\n FIXED_PRICE = 'FIXED_PRICE',\n /** Product price can vary within a specified range. */\n DYNAMIC_PRICE = 'DYNAMIC_PRICE',\n}\n\n/** @enumType */\nexport type PriceTypeWithLiterals = PriceType | 'FIXED_PRICE' | 'DYNAMIC_PRICE';\n\nexport interface QuantityLimit {\n /**\n * Minimum quantity that must be selected for this product.\n * @min 1\n * @max 100000\n */\n minimum?: number | null;\n /**\n * Maximum quantity that can be selected for this product.\n * @min 1\n * @max 100000\n */\n maximum?: number | null;\n}\n\nexport interface FixedPriceOptions {\n /**\n * Fixed price of the product.\n *\n * Specified as a decimal string with period as decimal separator. For example, `\"3.99\"`.\n * @decimalValue options { gte:0.00, maxScale:2 }\n */\n price?: string;\n}\n\nexport interface DynamicPriceOptions {\n /**\n * Minimum price of the product.\n *\n * Specified as a decimal string with period as decimal separator. For example, `\"1.00\"`.\n * @decimalValue options { gte:0.00, maxScale:2 }\n */\n minPrice?: string;\n /**\n * Maximum monetary price of the product.\n *\n * Specified as a decimal string with period as decimal separator. For example, `\"10.00\"`.\n *\n * If not specified, there is no upper limit on the price.\n * @decimalValue options { gte:0.00, maxScale:2 }\n */\n maxPrice?: string | null;\n}\n\nexport interface Product extends ProductPriceOptionsOneOf {\n /** Configuration for products with fixed pricing. */\n fixedPriceOptions?: FixedPriceOptions;\n /** Configuration for products with variable pricing within a range. */\n dynamicPriceOptions?: DynamicPriceOptions;\n /**\n * Product ID.\n * @format GUID\n * @readonly\n */\n _id?: string;\n /** Product type. */\n productType?: ProductTypeWithLiterals;\n /** Price type. */\n priceType?: PriceTypeWithLiterals;\n /** Limits on how many units of this product can be selected. */\n quantityLimit?: QuantityLimit;\n}\n\n/** @oneof */\nexport interface ProductPriceOptionsOneOf {\n /** Configuration for products with fixed pricing. */\n fixedPriceOptions?: FixedPriceOptions;\n /** Configuration for products with variable pricing within a range. */\n dynamicPriceOptions?: DynamicPriceOptions;\n}\n\nexport interface MultilineAddressValidation {\n /**\n * Countries from which addresses are accepted.\n * If empty, addresses from all countries are allowed.\n * @format COUNTRY\n * @maxSize 200\n */\n allowedCountries?: string[];\n /** Customization configuration for individual address field components. */\n fields?: FieldsOverrides;\n}\n\nexport interface FieldOverrides {\n /** Whether the field is required. */\n required?: boolean;\n}\n\nexport interface FieldsOverrides {\n /** Subdivision settings. */\n subdivision?: FieldOverrides;\n /** City settings. */\n city?: FieldOverrides;\n /** Postal code settings. */\n postalCode?: FieldOverrides;\n /** Street name settings. */\n streetName?: FieldOverrides;\n /** Street number settings. */\n streetNumber?: FieldOverrides;\n /** Address line settings. */\n addressLine?: FieldOverrides;\n /** Address line 2 settings. */\n addressLine2?: FieldOverrides;\n /** Country settings. */\n country?: FieldOverrides;\n}\n\nexport interface ObjectArrayType {\n /**\n * Maximum number of elements allowed in the array.\n * @max 1000\n */\n maxItems?: number | null;\n /**\n * Minimum number of elements required in the array.\n * @max 1000\n */\n minItems?: number | null;\n}\n\nexport interface NestedFormFieldOverrides {\n /** Whether the field is required. Leave blank for no override. */\n required?: boolean | null;\n /** Whether the field is hidden. Leave blank for no override. */\n hidden?: boolean | null;\n}\n\nexport interface Validation extends ValidationValidationOneOf {\n /** Validation of string type. */\n string?: FormFieldStringType;\n /** Validation of number type. */\n number?: FormFieldNumberType;\n /** Validation of integer type. */\n integer?: IntegerType;\n /** Validation of boolean type. */\n boolean?: FormFieldBooleanType;\n /** Validation of array type. */\n array?: FormFieldArrayType;\n /** Validation of object type. */\n object?: FormFieldObjectType;\n /** Predefined validation of specific format */\n predefined?: PredefinedValidation;\n /** Whether the field is required. */\n required?: boolean;\n}\n\n/** @oneof */\nexport interface ValidationValidationOneOf {\n /** Validation of string type. */\n string?: FormFieldStringType;\n /** Validation of number type. */\n number?: FormFieldNumberType;\n /** Validation of integer type. */\n integer?: IntegerType;\n /** Validation of boolean type. */\n boolean?: FormFieldBooleanType;\n /** Validation of array type. */\n array?: FormFieldArrayType;\n /** Validation of object type. */\n object?: FormFieldObjectType;\n /** Predefined validation of specific format */\n predefined?: PredefinedValidation;\n}\n\nexport interface DataExtensionsDetails {\n /**\n * FQDNS which can be extended with this field\n * @maxSize 10\n * @maxLength 100\n * @immutable\n */\n fqdns?: string[];\n}\n\nexport interface NestedFormOverrides {\n /** Field overrides by field ID */\n fieldOverrides?: Record<string, NestedFormFieldOverrides>;\n}\n\nexport interface Field extends FieldFieldTypeOptionsOneOf {\n /** Configuration for input fields that collect user data. */\n inputOptions?: InputField;\n /** Configuration for display fields that show information without collecting input. */\n displayOptions?: DisplayField;\n /**\n * Field ID.\n * @format GUID\n * @immutable\n */\n _id?: string;\n /**\n * Whether the field is hidden from submitters.\n *\n * Default: `false`\n */\n hidden?: boolean;\n /**\n * Custom identification for the field. This is intended as a way for you to identify certain fields that you want to apply special behavior to in your own logic.\n * @maxLength 50\n */\n identifier?: string | null;\n /**\n * Field type.\n * @readonly\n */\n fieldType?: FieldTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface FieldFieldTypeOptionsOneOf {\n /** Configuration for input fields that collect user data. */\n inputOptions?: InputField;\n /** Configuration for display fields that show information without collecting input. */\n displayOptions?: DisplayField;\n}\n\nexport enum FieldType {\n /** Unknown field type. */\n UNKNOWN_FIELD_TYPE = 'UNKNOWN_FIELD_TYPE',\n /** Input field that collects data from users. */\n INPUT = 'INPUT',\n /** Display field that shows information without collecting input. */\n DISPLAY = 'DISPLAY',\n}\n\n/** @enumType */\nexport type FieldTypeWithLiterals =\n | FieldType\n | 'UNKNOWN_FIELD_TYPE'\n | 'INPUT'\n | 'DISPLAY';\n\nexport interface InputField extends InputFieldInputTypeOptionsOneOf {\n /** String input field settings. */\n stringOptions?: _String;\n /** Number input field settings. */\n numberOptions?: _Number;\n /** Boolean input field settings. */\n booleanOptions?: _Boolean;\n /** Array input field settings. */\n arrayOptions?: _Array;\n /** Object input field settings. */\n objectOptions?: _Object;\n /** File input field settings. Files are uploaded to the [Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager). */\n wixFileOptions?: WixFile;\n /** Payment input field settings. */\n paymentOptions?: Payment;\n /** Scheduling input field settings. */\n schedulingOptions?: Scheduling;\n /** Address input field settings. */\n addressOptions?: Address;\n /**\n * Human readable identifier used to reference a field. For example, `\"address\"`.\n *\n * Can be set once.\n * @minLength 1\n * @maxLength 200\n * @immutable\n */\n target?: string;\n /**\n * Whether this field contains Personally Identifiable Information (PII).\n *\n * PII fields are automatically encrypted when stored.\n *\n * Default: `false`\n */\n pii?: boolean;\n /**\n * Whether the field is required for form submission.\n *\n * Default: `false`\n */\n required?: boolean;\n /**\n * Type of the input field that determines what kind of data it collects.\n * @readonly\n */\n inputType?: InputTypeWithLiterals;\n /**\n * Mapping configuration for automatically saving field values to contact properties.\n *\n * When specified, form submissions automatically create or update contacts with the field data.\n */\n contactMapping?: FormFieldContactInfo;\n /**\n * Whether the field is read-only.\n *\n * Default: `false`\n */\n readOnly?: boolean;\n}\n\n/** @oneof */\nexport interface InputFieldInputTypeOptionsOneOf {\n /** String input field settings. */\n stringOptions?: _String;\n /** Number input field settings. */\n numberOptions?: _Number;\n /** Boolean input field settings. */\n booleanOptions?: _Boolean;\n /** Array input field settings. */\n arrayOptions?: _Array;\n /** Object input field settings. */\n objectOptions?: _Object;\n /** File input field settings. Files are uploaded to the [Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager). */\n wixFileOptions?: WixFile;\n /** Payment input field settings. */\n paymentOptions?: Payment;\n /** Scheduling input field settings. */\n schedulingOptions?: Scheduling;\n /** Address input field settings. */\n addressOptions?: Address;\n}\n\nexport interface StringCorrectAnswersList {\n /**\n * @minLength 1\n * @maxLength 150\n * @maxSize 50\n */\n correctAnswers?: string[];\n}\n\nexport interface StringType extends StringTypeFormatOptionsOneOf {\n /** Validation rules for strings with date format. */\n dateOptions?: DateTimeAdvancedConstraints;\n /** Validation rules for strings with date and time format. */\n dateTimeOptions?: DateTimeConstraints;\n /** Validation rules for strings with time format. */\n timeOptions?: DateTimeConstraints;\n /** Validation rules for string with date and time format, where time is optional. */\n dateOptionalTimeOptions?: DateTimeConstraints;\n /** Validation rules for strings with phone number format. */\n phoneOptions?: PhoneConstraints;\n /**\n * Minimum required length for the string value.\n * @max 20000\n */\n minLength?: number | null;\n /**\n * Maximum allowed length for the string value.\n * @max 20000\n */\n maxLength?: number | null;\n /**\n * Regular expression pattern that the string value must match.\n * @maxLength 500\n */\n pattern?: string | null;\n /** Expected format of the string value. */\n format?: FormatEnumFormatWithLiterals;\n /**\n * List of specific values that are allowed for this field.\n * When specified, the input must match one of these predefined values.\n * @maxSize 500\n * @maxLength 20000\n */\n enum?: string[] | null;\n /** Custom error messages displayed when validation fails. */\n validationMessages?: ValidationMessages;\n}\n\n/** @oneof */\nexport interface StringTypeFormatOptionsOneOf {\n /** Validation rules for strings with date format. */\n dateOptions?: DateTimeAdvancedConstraints;\n /** Validation rules for strings with date and time format. */\n dateTimeOptions?: DateTimeConstraints;\n /** Validation rules for strings with time format. */\n timeOptions?: DateTimeConstraints;\n /** Validation rules for string with date and time format, where time is optional. */\n dateOptionalTimeOptions?: DateTimeConstraints;\n /** Validation rules for strings with phone number format. */\n phoneOptions?: PhoneConstraints;\n}\n\nexport enum FormatEnumFormat {\n /** Unknown format. */\n UNKNOWN_FORMAT = 'UNKNOWN_FORMAT',\n /** Date format. */\n DATE = 'DATE',\n /** Time format. */\n TIME = 'TIME',\n /** Date and time format. */\n DATE_TIME = 'DATE_TIME',\n /** Email format. */\n EMAIL = 'EMAIL',\n /** URL format. */\n URL = 'URL',\n /** UUID format. */\n UUID = 'UUID',\n /** Phone number format. */\n PHONE = 'PHONE',\n /** URI format. */\n URI = 'URI',\n /** Hostname format. */\n HOSTNAME = 'HOSTNAME',\n /** Hexadecimal color code format. */\n COLOR_HEX = 'COLOR_HEX',\n /** Currency format. */\n CURRENCY = 'CURRENCY',\n /** Language code format. */\n LANGUAGE = 'LANGUAGE',\n /** Date with optional time format. */\n DATE_OPTIONAL_TIME = 'DATE_OPTIONAL_TIME',\n}\n\n/** @enumType */\nexport type FormatEnumFormatWithLiterals =\n | FormatEnumFormat\n | 'UNKNOWN_FORMAT'\n | 'DATE'\n | 'TIME'\n | 'DATE_TIME'\n | 'EMAIL'\n | 'URL'\n | 'UUID'\n | 'PHONE'\n | 'URI'\n | 'HOSTNAME'\n | 'COLOR_HEX'\n | 'CURRENCY'\n | 'LANGUAGE'\n | 'DATE_OPTIONAL_TIME';\n\nexport interface DateTimeConstraints {\n /**\n * Minimum allowed datetime value.\n *\n * Supports ISO datetime format or dynamic calculations using \"$now\" keyword.\n * The dynamic calculation supports times in the future and past.\n * The pattern for dynamic calculations: $now([+-]\\d{1,2})([yMdmh]).\n *\n * Examples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).\n * @maxLength 50\n */\n minimum?: string | null;\n /**\n * Maximum allowed datetime value.\n *\n * Supports ISO datetime format or dynamic calculations using \"$now\" keyword.\n * The dynamic calculation supports times in the future and past.\n * The pattern for dynamic calculations: $now([+-]\\d{1,2})([yMdmh]).\n *\n * Examples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).\n * @maxLength 50\n */\n maximum?: string | null;\n}\n\nexport interface PhoneConstraints {\n /**\n * Country codes that are allowed for phone number validation.\n *\n * Use ISO 3166-1 alpha-2 country codes. For example, `\"US\"`, `\"GB\"`, `\"CA\"`.\n * @maxSize 250\n * @maxLength 2\n */\n allowedCountryCodes?: string[];\n}\n\nexport interface ValidationMessages {\n /**\n * Error message shown when the pattern validation fails.\n *\n * This message is displayed to users when their input doesn't match the specified regex pattern.\n * @maxLength 200\n */\n pattern?: string | null;\n}\n\nexport enum StringComponentType {\n /** Unknown component type. */\n UNKNOWN_COMPONENT_TYPE = 'UNKNOWN_COMPONENT_TYPE',\n /** Text input component. */\n TEXT_INPUT = 'TEXT_INPUT',\n /** Radio group component. */\n RADIO_GROUP = 'RADIO_GROUP',\n /** Dropdown component. */\n DROPDOWN = 'DROPDOWN',\n /** Date and time component. */\n DATE_TIME = 'DATE_TIME',\n /** Phone number component. */\n PHONE_INPUT = 'PHONE_INPUT',\n /** Date selection component. */\n DATE_INPUT = 'DATE_INPUT',\n /** Time selection component. */\n TIME_INPUT = 'TIME_INPUT',\n /** Calendar-style date picker component. */\n DATE_PICKER = 'DATE_PICKER',\n /** Dropdown component for selecting available services. */\n SERVICES_DROPDOWN = 'SERVICES_DROPDOWN',\n /** Component which obscures input characters. */\n PASSWORD = 'PASSWORD',\n}\n\n/** @enumType */\nexport type StringComponentTypeWithLiterals =\n | StringComponentType\n | 'UNKNOWN_COMPONENT_TYPE'\n | 'TEXT_INPUT'\n | 'RADIO_GROUP'\n | 'DROPDOWN'\n | 'DATE_TIME'\n | 'PHONE_INPUT'\n | 'DATE_INPUT'\n | 'TIME_INPUT'\n | 'DATE_PICKER'\n | 'SERVICES_DROPDOWN'\n | 'PASSWORD';\n\nexport interface StringQuizFieldSettings {\n /** Points awarded for correctly answering this quiz question. */\n score?: number;\n /** Correct answers for this quiz question. */\n correctAnswersList?: StringCorrectAnswersList;\n}\n\nexport interface TextInput {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * Placeholder text shown inside the field when it's empty.\n * Useful for providing a hint about the expected format or content.\n * @maxLength 100\n */\n placeholder?: string | null;\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /**\n * Default value for the field. This value is pre-populated in the field when the form loads.\n * @maxLength 20000\n */\n default?: string | null;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n}\n\nexport 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\nexport interface Node extends NodeDataOneOf {\n /** Data for a button node. */\n buttonData?: ButtonData;\n /** Data for a code block node. */\n codeBlockData?: CodeBlockData;\n /** Data for a divider node. */\n dividerData?: DividerData;\n /** Data for a file node. */\n fileData?: FileData;\n /** Data for a gallery node. */\n galleryData?: GalleryData;\n /** Data for a GIF node. */\n gifData?: GIFData;\n /** Data for a heading node. */\n headingData?: HeadingData;\n /** Data for an embedded HTML node. */\n htmlData?: HTMLData;\n /** Data for an image node. */\n imageData?: ImageData;\n /** Data for a link preview node. */\n linkPreviewData?: LinkPreviewData;\n /** @deprecated */\n mapData?: MapData;\n /** Data for a paragraph node. */\n paragraphData?: ParagraphData;\n /** Data for a poll node. */\n pollData?: PollData;\n /** Data for a text node. Used to apply decorations to text. */\n textData?: TextData;\n /** Data for an app embed node. */\n appEmbedData?: AppEmbedData;\n /** Data for a video node. */\n videoData?: VideoData;\n /** Data for an oEmbed node. */\n embedData?: EmbedData;\n /** Data for a collapsible list node. */\n collapsibleListData?: CollapsibleListData;\n /** Data for a table node. */\n tableData?: TableData;\n /** Data for a table cell node. */\n tableCellData?: TableCellData;\n /** Data for a custom external node. */\n externalData?: Record<string, any> | null;\n /** Data for an audio node. */\n audioData?: AudioData;\n /** Data for an ordered list node. */\n orderedListData?: OrderedListData;\n /** Data for a bulleted list node. */\n bulletedListData?: BulletedListData;\n /** Data for a block quote node. */\n blockquoteData?: BlockquoteData;\n /** Data for a caption node. */\n captionData?: CaptionData;\n /** Data for a layout node. Reserved for future use. */\n layoutData?: LayoutData;\n /** Data for a cell node. */\n layoutCellData?: LayoutCellData;\n /** Data for a shape node. */\n shapeData?: ShapeData;\n /** Data for a card node. */\n cardData?: CardData;\n /** Data for a table of contents node. */\n tocData?: TocData;\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?: NodeTypeWithLiterals;\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\n/** @oneof */\nexport interface NodeDataOneOf {\n /** Data for a button node. */\n buttonData?: ButtonData;\n /** Data for a code block node. */\n codeBlockData?: CodeBlockData;\n /** Data for a divider node. */\n dividerData?: DividerData;\n /** Data for a file node. */\n fileData?: FileData;\n /** Data for a gallery node. */\n galleryData?: GalleryData;\n /** Data for a GIF node. */\n gifData?: GIFData;\n /** Data for a heading node. */\n headingData?: HeadingData;\n /** Data for an embedded HTML node. */\n htmlData?: HTMLData;\n /** Data for an image node. */\n imageData?: ImageData;\n /** Data for a link preview node. */\n linkPreviewData?: LinkPreviewData;\n /** @deprecated */\n mapData?: MapData;\n /** Data for a paragraph node. */\n paragraphData?: ParagraphData;\n /** Data for a poll node. */\n pollData?: PollData;\n /** Data for a text node. Used to apply decorations to text. */\n textData?: TextData;\n /** Data for an app embed node. */\n appEmbedData?: AppEmbedData;\n /** Data for a video node. */\n videoData?: VideoData;\n /** Data for an oEmbed node. */\n embedData?: EmbedData;\n /** Data for a collapsible list node. */\n collapsibleListData?: CollapsibleListData;\n /** Data for a table node. */\n tableData?: TableData;\n /** Data for a table cell node. */\n tableCellData?: TableCellData;\n /** Data for a custom external node. */\n externalData?: Record<string, any> | null;\n /** Data for an audio node. */\n audioData?: AudioData;\n /** Data for an ordered list node. */\n orderedListData?: OrderedListData;\n /** Data for a bulleted list node. */\n bulletedListData?: BulletedListData;\n /** Data for a block quote node. */\n blockquoteData?: BlockquoteData;\n /** Data for a caption node. */\n captionData?: CaptionData;\n /** Data for a layout node. Reserved for future use. */\n layoutData?: LayoutData;\n /** Data for a cell node. */\n layoutCellData?: LayoutCellData;\n /** Data for a shape node. */\n shapeData?: ShapeData;\n /** Data for a card node. */\n cardData?: CardData;\n /** Data for a table of contents node. */\n tocData?: TocData;\n}\n\nexport enum NodeType {\n PARAGRAPH = 'PARAGRAPH',\n TEXT = 'TEXT',\n HEADING = 'HEADING',\n BULLETED_LIST = 'BULLETED_LIST',\n ORDERED_LIST = 'ORDERED_LIST',\n LIST_ITEM = 'LIST_ITEM',\n BLOCKQUOTE = 'BLOCKQUOTE',\n CODE_BLOCK = 'CODE_BLOCK',\n VIDEO = 'VIDEO',\n DIVIDER = 'DIVIDER',\n FILE = 'FILE',\n GALLERY = 'GALLERY',\n GIF = 'GIF',\n HTML = 'HTML',\n IMAGE = 'IMAGE',\n LINK_PREVIEW = 'LINK_PREVIEW',\n /** @deprecated */\n MAP = 'MAP',\n POLL = 'POLL',\n APP_EMBED = 'APP_EMBED',\n BUTTON = 'BUTTON',\n COLLAPSIBLE_LIST = 'COLLAPSIBLE_LIST',\n TABLE = 'TABLE',\n EMBED = 'EMBED',\n COLLAPSIBLE_ITEM = 'COLLAPSIBLE_ITEM',\n COLLAPSIBLE_ITEM_TITLE = 'COLLAPSIBLE_ITEM_TITLE',\n COLLAPSIBLE_ITEM_BODY = 'COLLAPSIBLE_ITEM_BODY',\n TABLE_CELL = 'TABLE_CELL',\n TABLE_ROW = 'TABLE_ROW',\n EXTERNAL = 'EXTERNAL',\n AUDIO = 'AUDIO',\n CAPTION = 'CAPTION',\n LAYOUT = 'LAYOUT',\n LAYOUT_CELL = 'LAYOUT_CELL',\n SHAPE = 'SHAPE',\n CARD = 'CARD',\n TOC = 'TOC',\n}\n\n/** @enumType */\nexport type NodeTypeWithLiterals =\n | NodeType\n | 'PARAGRAPH'\n | 'TEXT'\n | 'HEADING'\n | 'BULLETED_LIST'\n | 'ORDERED_LIST'\n | 'LIST_ITEM'\n | 'BLOCKQUOTE'\n | 'CODE_BLOCK'\n | 'VIDEO'\n | 'DIVIDER'\n | 'FILE'\n | 'GALLERY'\n | 'GIF'\n | 'HTML'\n | 'IMAGE'\n | 'LINK_PREVIEW'\n | 'MAP'\n | 'POLL'\n | 'APP_EMBED'\n | 'BUTTON'\n | 'COLLAPSIBLE_LIST'\n | 'TABLE'\n | 'EMBED'\n | 'COLLAPSIBLE_ITEM'\n | 'COLLAPSIBLE_ITEM_TITLE'\n | 'COLLAPSIBLE_ITEM_BODY'\n | 'TABLE_CELL'\n | 'TABLE_ROW'\n | 'EXTERNAL'\n | 'AUDIO'\n | 'CAPTION'\n | 'LAYOUT'\n | 'LAYOUT_CELL'\n | 'SHAPE'\n | 'CARD'\n | 'TOC';\n\nexport 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\nexport interface ButtonData {\n /** Styling for the button's container. */\n containerData?: PluginContainerData;\n /** The button type. */\n type?: ButtonDataTypeWithLiterals;\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\n/** Background type */\nexport enum BackgroundType {\n /** Solid color background */\n COLOR = 'COLOR',\n /** Gradient background */\n GRADIENT = 'GRADIENT',\n}\n\n/** @enumType */\nexport type BackgroundTypeWithLiterals = BackgroundType | 'COLOR' | 'GRADIENT';\n\nexport interface Gradient {\n /** Gradient type. */\n type?: GradientTypeWithLiterals;\n /**\n * Color stops for the gradient.\n * @maxSize 1000\n */\n stops?: Stop[];\n /** Angle in degrees for linear gradient (0-360). */\n angle?: number | null;\n /**\n * Horizontal center position for radial gradient (0-100).\n * @max 100\n */\n centerX?: number | null;\n /**\n * Vertical center position for radial gradient (0-100).\n * @max 100\n */\n centerY?: number | null;\n}\n\n/** Gradient type. */\nexport enum GradientType {\n /** Linear gradient. */\n LINEAR = 'LINEAR',\n /** Radial gradient. */\n RADIAL = 'RADIAL',\n}\n\n/** @enumType */\nexport type GradientTypeWithLiterals = GradientType | 'LINEAR' | 'RADIAL';\n\n/** A single color stop in the gradient. */\nexport interface Stop {\n /**\n * Stop color as hex value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** Stop position (0-1). */\n position?: number | null;\n}\n\nexport interface Border {\n /**\n * Deprecated: Use `borderWidth` in `styles` instead.\n * @deprecated\n */\n width?: number | null;\n /**\n * Deprecated: Use `borderRadius` in `styles` instead.\n * @deprecated\n */\n radius?: number | null;\n}\n\nexport interface Colors {\n /**\n * Deprecated: Use `textColor` in `styles` instead.\n * @deprecated\n */\n text?: string | null;\n /**\n * Deprecated: Use `borderColor` in `styles` instead.\n * @deprecated\n */\n border?: string | null;\n /**\n * Deprecated: Use `backgroundColor` in `styles` instead.\n * @deprecated\n */\n background?: string | null;\n}\n\n/** Background styling (color or gradient) */\nexport interface Background {\n /** Background type. */\n type?: BackgroundTypeWithLiterals;\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** Gradient configuration. */\n gradient?: Gradient;\n}\n\nexport 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?: PluginContainerDataAlignmentWithLiterals;\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\nexport 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\n/** @enumType */\nexport type WidthTypeWithLiterals =\n | WidthType\n | 'CONTENT'\n | 'SMALL'\n | 'ORIGINAL'\n | 'FULL_WIDTH';\n\nexport interface PluginContainerDataWidth\n 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?: WidthTypeWithLiterals;\n /** A custom width value in pixels. */\n custom?: string | null;\n}\n\n/** @oneof */\nexport 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?: WidthTypeWithLiterals;\n /** A custom width value in pixels. */\n custom?: string | null;\n}\n\nexport enum PluginContainerDataAlignment {\n /** Center Alignment */\n CENTER = 'CENTER',\n /** Left Alignment */\n LEFT = 'LEFT',\n /** Right Alignment */\n RIGHT = 'RIGHT',\n}\n\n/** @enumType */\nexport type PluginContainerDataAlignmentWithLiterals =\n | PluginContainerDataAlignment\n | 'CENTER'\n | 'LEFT'\n | 'RIGHT';\n\nexport 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\nexport interface Height {\n /** A custom height value in pixels. */\n custom?: string | null;\n}\n\nexport enum ButtonDataType {\n /** Regular link button */\n LINK = 'LINK',\n /** Triggers custom action that is defined in plugin configuration by the consumer */\n ACTION = 'ACTION',\n}\n\n/** @enumType */\nexport type ButtonDataTypeWithLiterals = ButtonDataType | 'LINK' | 'ACTION';\n\nexport interface Styles {\n /**\n * Deprecated: Use `borderWidth` and `borderRadius` instead.\n * @deprecated\n */\n border?: Border;\n /**\n * Deprecated: Use `textColor`, `borderColor` and `backgroundColor` instead.\n * @deprecated\n */\n colors?: Colors;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /**\n * Deprecated: Use `borderWidth` for normal/hover states instead.\n * @deprecated\n */\n borderWidthHover?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /**\n * Border color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n borderColorHover?: string | null;\n /**\n * Text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n /**\n * Text color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n textColorHover?: string | null;\n /**\n * Deprecated: Use `background` instead.\n * @format COLOR_HEX\n * @deprecated\n */\n backgroundColor?: string | null;\n /**\n * Deprecated: Use `backgroundHover` instead.\n * @format COLOR_HEX\n * @deprecated\n */\n backgroundColorHover?: string | null;\n /** Button size option, one of `SMALL`, `MEDIUM` or `LARGE`. Defaults to `MEDIUM`. */\n buttonSize?: string | null;\n /** Background styling (color or gradient). */\n background?: Background;\n /** Background styling for hover state (color or gradient). */\n backgroundHover?: Background;\n}\n\nexport 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?: LinkTargetWithLiterals;\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\n/** @oneof */\nexport 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\nexport enum LinkTarget {\n /** Opens the linked document in the same frame as it was clicked (this is default) */\n SELF = 'SELF',\n /** Opens the linked document in a new window or tab */\n BLANK = 'BLANK',\n /** Opens the linked document in the parent frame */\n PARENT = 'PARENT',\n /** Opens the linked document in the full body of the window */\n TOP = 'TOP',\n}\n\n/** @enumType */\nexport type LinkTargetWithLiterals =\n | LinkTarget\n | 'SELF'\n | 'BLANK'\n | 'PARENT'\n | 'TOP';\n\nexport 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\nexport interface CodeBlockData {\n /** Styling for the code block's text. */\n textStyle?: TextStyle;\n}\n\nexport interface TextStyle {\n /** Text alignment. Defaults to `AUTO`. */\n textAlignment?: TextAlignmentWithLiterals;\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\nexport 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\n/** @enumType */\nexport type TextAlignmentWithLiterals =\n | TextAlignment\n | 'AUTO'\n | 'LEFT'\n | 'RIGHT'\n | 'CENTER'\n | 'JUSTIFY';\n\nexport interface DividerData {\n /** Styling for the divider's container. */\n containerData?: PluginContainerData;\n /** Divider line style. */\n lineStyle?: LineStyleWithLiterals;\n /** Divider width. */\n width?: WidthWithLiterals;\n /** Divider alignment. */\n alignment?: DividerDataAlignmentWithLiterals;\n}\n\nexport 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\n/** @enumType */\nexport type LineStyleWithLiterals =\n | LineStyle\n | 'SINGLE'\n | 'DOUBLE'\n | 'DASHED'\n | 'DOTTED';\n\nexport enum Width {\n /** Large line */\n LARGE = 'LARGE',\n /** Medium line */\n MEDIUM = 'MEDIUM',\n /** Small line */\n SMALL = 'SMALL',\n}\n\n/** @enumType */\nexport type WidthWithLiterals = Width | 'LARGE' | 'MEDIUM' | 'SMALL';\n\nexport enum DividerDataAlignment {\n /** Center alignment */\n CENTER = 'CENTER',\n /** Left alignment */\n LEFT = 'LEFT',\n /** Right alignment */\n RIGHT = 'RIGHT',\n}\n\n/** @enumType */\nexport type DividerDataAlignmentWithLiterals =\n | DividerDataAlignment\n | 'CENTER'\n | 'LEFT'\n | 'RIGHT';\n\nexport interface FileData {\n /** Styling for the file's container. */\n containerData?: PluginContainerData;\n /** The source for the file's data. */\n src?: FileSource;\n /** File name. */\n name?: string | null;\n /** File type. */\n type?: string | null;\n /**\n * Use `sizeInKb` instead.\n * @deprecated\n */\n size?: number | null;\n /** Settings for PDF files. */\n pdfSettings?: PDFSettings;\n /** File MIME type. */\n mimeType?: string | null;\n /** File path. */\n path?: string | null;\n /** File size in KB. */\n sizeInKb?: string | null;\n}\n\nexport 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\n/** @enumType */\nexport type ViewModeWithLiterals = ViewMode | 'NONE' | 'FULL' | 'MINI';\n\nexport 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\n/** @oneof */\nexport 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\nexport 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?: ViewModeWithLiterals;\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\nexport 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\nexport 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\nexport interface Image {\n /** Image file details. */\n media?: Media;\n /** Link details for images that are links. */\n link?: Link;\n}\n\nexport interface Video {\n /** Video file details. */\n media?: Media;\n /** Video thumbnail file details. */\n thumbnail?: Media;\n}\n\nexport 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\n/** @oneof */\nexport interface ItemDataOneOf {\n /** An image item. */\n image?: Image;\n /** A video item. */\n video?: Video;\n}\n\nexport interface GalleryOptions {\n /** Gallery layout. */\n layout?: GalleryOptionsLayout;\n /** Styling for gallery items. */\n item?: ItemStyle;\n /** Styling for gallery thumbnail images. */\n thumbnails?: Thumbnails;\n}\n\nexport 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\n/** @enumType */\nexport type LayoutTypeWithLiterals =\n | LayoutType\n | 'COLLAGE'\n | 'MASONRY'\n | 'GRID'\n | 'THUMBNAIL'\n | 'SLIDER'\n | 'SLIDESHOW'\n | 'PANORAMA'\n | 'COLUMN'\n | 'MAGIC'\n | 'FULLSIZE';\n\nexport enum Orientation {\n /** Rows Orientation */\n ROWS = 'ROWS',\n /** Columns Orientation */\n COLUMNS = 'COLUMNS',\n}\n\n/** @enumType */\nexport type OrientationWithLiterals = Orientation | 'ROWS' | 'COLUMNS';\n\nexport enum Crop {\n /** Crop to fill */\n FILL = 'FILL',\n /** Crop to fit */\n FIT = 'FIT',\n}\n\n/** @enumType */\nexport type CropWithLiterals = Crop | 'FILL' | 'FIT';\n\nexport 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\n/** @enumType */\nexport type ThumbnailsAlignmentWithLiterals =\n | ThumbnailsAlignment\n | 'TOP'\n | 'RIGHT'\n | 'BOTTOM'\n | 'LEFT'\n | 'NONE';\n\nexport interface GalleryOptionsLayout {\n /** Gallery layout type. */\n type?: LayoutTypeWithLiterals;\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?: OrientationWithLiterals;\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\nexport 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?: CropWithLiterals;\n /** The spacing between items in pixels. */\n spacing?: number | null;\n}\n\nexport interface Thumbnails {\n /** Thumbnail alignment. */\n placement?: ThumbnailsAlignmentWithLiterals;\n /** Spacing between thumbnails in pixels. */\n spacing?: number | null;\n}\n\nexport 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 /** Type of GIF (Sticker or NORMAL). Defaults to `NORMAL`. */\n gifType?: GIFTypeWithLiterals;\n}\n\nexport interface GIF {\n /**\n * GIF format URL.\n * @format WEB_URL\n */\n gif?: string | null;\n /**\n * MP4 format URL.\n * @format WEB_URL\n */\n mp4?: string | null;\n /**\n * Thumbnail URL.\n * @format WEB_URL\n */\n still?: string | null;\n}\n\nexport enum GIFType {\n NORMAL = 'NORMAL',\n STICKER = 'STICKER',\n}\n\n/** @enumType */\nexport type GIFTypeWithLiterals = GIFType | 'NORMAL' | 'STICKER';\n\nexport 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\nexport 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 /** The WixelWidget ID for AI_WIDGET source nodes. */\n widgetId?: string;\n /** Styling for the HTML node's container. Height property is irrelevant for HTML embeds when autoHeight is set to `true`. */\n containerData?: PluginContainerData;\n /** The type of HTML code. */\n source?: SourceWithLiterals;\n /** If container height is aligned with its content height. Defaults to `true`. */\n autoHeight?: boolean | null;\n}\n\n/** @oneof */\nexport 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 /** The WixelWidget ID for AI_WIDGET source nodes. */\n widgetId?: string;\n}\n\nexport enum Source {\n HTML = 'HTML',\n ADSENSE = 'ADSENSE',\n AI = 'AI',\n AI_WIDGET = 'AI_WIDGET',\n}\n\n/** @enumType */\nexport type SourceWithLiterals =\n | Source\n | 'HTML'\n | 'ADSENSE'\n | 'AI'\n | 'AI_WIDGET';\n\nexport interface ImageData {\n /** Styling for the image's container. */\n containerData?: PluginContainerData;\n /** Image file details. */\n image?: Media;\n /** Link details for images that are links. */\n link?: Link;\n /** Sets whether the image expands to full screen when clicked. Defaults to `false`. */\n disableExpand?: boolean | null;\n /** Image's alternative text. */\n altText?: string | null;\n /**\n * Deprecated: use Caption node instead.\n * @deprecated\n */\n caption?: string | null;\n /** Sets whether the image's download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n /** Sets whether the image is decorative and does not need an explanation. Defaults to `false`. */\n decorative?: boolean | null;\n /** Styling for the image. */\n styles?: ImageDataStyles;\n}\n\nexport interface StylesBorder {\n /** Border width in pixels. */\n width?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** Border radius in pixels. */\n radius?: number | null;\n}\n\nexport interface ImageDataStyles {\n /** Border attributes. */\n border?: StylesBorder;\n}\n\nexport 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 /** Styling for the link preview. */\n styles?: LinkPreviewDataStyles;\n}\n\nexport enum StylesPosition {\n /** Thumbnail positioned at the start (left in LTR layouts, right in RTL layouts) */\n START = 'START',\n /** Thumbnail positioned at the end (right in LTR layouts, left in RTL layouts) */\n END = 'END',\n /** Thumbnail positioned at the top */\n TOP = 'TOP',\n /** Thumbnail hidden and not displayed */\n HIDDEN = 'HIDDEN',\n}\n\n/** @enumType */\nexport type StylesPositionWithLiterals =\n | StylesPosition\n | 'START'\n | 'END'\n | 'TOP'\n | 'HIDDEN';\n\nexport interface LinkPreviewDataStyles {\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Title color as a hexadecimal value.\n * @format COLOR_HEX\n */\n titleColor?: string | null;\n /**\n * Subtitle color as a hexadecimal value.\n * @format COLOR_HEX\n */\n subtitleColor?: string | null;\n /**\n * Link color as a hexadecimal value.\n * @format COLOR_HEX\n */\n linkColor?: string | null;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Position of thumbnail. Defaults to `START`. */\n thumbnailPosition?: StylesPositionWithLiterals;\n}\n\nexport interface MapData {\n /** Styling for the map's container. */\n containerData?: PluginContainerData;\n /** Map settings. */\n mapSettings?: MapSettings;\n}\n\nexport 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?: MapTypeWithLiterals;\n}\n\nexport 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\n/** @enumType */\nexport type MapTypeWithLiterals =\n | MapType\n | 'ROADMAP'\n | 'SATELITE'\n | 'HYBRID'\n | 'TERRAIN';\n\nexport 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\nexport 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\nexport 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\n/** @enumType */\nexport type ViewRoleWithLiterals = ViewRole | 'CREATOR' | 'VOTERS' | 'EVERYONE';\n\nexport enum VoteRole {\n /** Logged in member */\n SITE_MEMBERS = 'SITE_MEMBERS',\n /** Anyone */\n ALL = 'ALL',\n}\n\n/** @enumType */\nexport type VoteRoleWithLiterals = VoteRole | 'SITE_MEMBERS' | 'ALL';\n\nexport interface Permissions {\n /** Sets who can view the poll results. */\n view?: ViewRoleWithLiterals;\n /** Sets who can vote. */\n vote?: VoteRoleWithLiterals;\n /** Sets whether one voter can vote multiple times. Defaults to `false`. */\n allowMultipleVotes?: boolean | null;\n}\n\nexport interface PollOption {\n /** Option ID. */\n id?: string | null;\n /** Option title. */\n title?: string | null;\n /** The image displayed with the option. */\n image?: Media;\n}\n\nexport 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\nexport enum PollLayoutType {\n /** List */\n LIST = 'LIST',\n /** Grid */\n GRID = 'GRID',\n}\n\n/** @enumType */\nexport type PollLayoutTypeWithLiterals = PollLayoutType | 'LIST' | 'GRID';\n\nexport enum PollLayoutDirection {\n /** Left-to-right */\n LTR = 'LTR',\n /** Right-to-left */\n RTL = 'RTL',\n}\n\n/** @enumType */\nexport type PollLayoutDirectionWithLiterals =\n | PollLayoutDirection\n | 'LTR'\n | 'RTL';\n\nexport interface PollLayout {\n /** The layout for displaying the voting options. */\n type?: PollLayoutTypeWithLiterals;\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?: PollLayoutDirectionWithLiterals;\n /** Sets whether to display the main poll image. Defaults to `false`. */\n enableImage?: boolean | null;\n}\n\nexport interface OptionLayout {\n /** Sets whether to display option images. Defaults to `false`. */\n enableImage?: boolean | null;\n}\n\nexport enum PollDesignBackgroundType {\n /** Color background type */\n COLOR = 'COLOR',\n /** Image background type */\n IMAGE = 'IMAGE',\n /** Gradiant background type */\n GRADIENT = 'GRADIENT',\n}\n\n/** @enumType */\nexport type PollDesignBackgroundTypeWithLiterals =\n | PollDesignBackgroundType\n | 'COLOR'\n | 'IMAGE'\n | 'GRADIENT';\n\nexport interface BackgroundGradient {\n /** The gradient angle in degrees. */\n angle?: number | null;\n /**\n * The start color as a hexademical value.\n * @format COLOR_HEX\n */\n startColor?: string | null;\n /**\n * The end color as a hexademical value.\n * @format COLOR_HEX\n */\n lastColor?: string | null;\n}\n\nexport interface PollDesignBackground\n extends PollDesignBackgroundBackgroundOneOf {\n /**\n * The background color as a hexademical value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** An image to use for the background. */\n image?: Media;\n /** Details for a gradient background. */\n gradient?: BackgroundGradient;\n /** Background type. For each option, include the relevant details. */\n type?: PollDesignBackgroundTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface PollDesignBackgroundBackgroundOneOf {\n /**\n * The background color as a hexademical value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** An image to use for the background. */\n image?: Media;\n /** Details for a gradient background. */\n gradient?: BackgroundGradient;\n}\n\nexport interface PollDesign {\n /** Background styling. */\n background?: PollDesignBackground;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n}\n\nexport interface OptionDesign {\n /** Border radius in pixels. */\n borderRadius?: number | null;\n}\n\nexport interface Poll {\n /** Poll ID. */\n id?: string | null;\n /** Poll title. */\n title?: string | null;\n /** Poll creator ID. */\n creatorId?: string | null;\n /** Main poll image. */\n image?: Media;\n /** Voting options. */\n options?: PollOption[];\n /** The poll's permissions and display settings. */\n settings?: Settings;\n}\n\nexport interface PollDataLayout {\n /** Poll layout settings. */\n poll?: PollLayout;\n /** Voting otpions layout settings. */\n options?: OptionLayout;\n}\n\nexport interface Design {\n /** Styling for the poll. */\n poll?: PollDesign;\n /** Styling for voting options. */\n options?: OptionDesign;\n}\n\nexport interface TextData {\n /** The text to apply decorations to. */\n text?: string;\n /** The decorations to apply. */\n decorations?: Decoration[];\n}\n\n/** Adds appearence changes to text */\nexport 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 /** Data for a strikethrough decoration. Defaults to `true`. */\n strikethroughData?: boolean | null;\n /** Data for a superscript decoration. Defaults to `true`. */\n superscriptData?: boolean | null;\n /** Data for a subscript decoration. Defaults to `true`. */\n subscriptData?: boolean | null;\n /** Data for a font family decoration. */\n fontFamilyData?: FontFamilyData;\n /** The type of decoration to apply. */\n type?: DecorationTypeWithLiterals;\n}\n\n/** @oneof */\nexport 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 /** Data for a strikethrough decoration. Defaults to `true`. */\n strikethroughData?: boolean | null;\n /** Data for a superscript decoration. Defaults to `true`. */\n superscriptData?: boolean | null;\n /** Data for a subscript decoration. Defaults to `true`. */\n subscriptData?: boolean | null;\n /** Data for a font family decoration. */\n fontFamilyData?: FontFamilyData;\n}\n\nexport 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 STRIKETHROUGH = 'STRIKETHROUGH',\n SUPERSCRIPT = 'SUPERSCRIPT',\n SUBSCRIPT = 'SUBSCRIPT',\n FONT_FAMILY = 'FONT_FAMILY',\n}\n\n/** @enumType */\nexport type DecorationTypeWithLiterals =\n | DecorationType\n | 'BOLD'\n | 'ITALIC'\n | 'UNDERLINE'\n | 'SPOILER'\n | 'ANCHOR'\n | 'MENTION'\n | 'LINK'\n | 'COLOR'\n | 'FONT_SIZE'\n | 'EXTERNAL'\n | 'STRIKETHROUGH'\n | 'SUPERSCRIPT'\n | 'SUBSCRIPT'\n | 'FONT_FAMILY';\n\nexport interface AnchorData {\n /** The target node's ID. */\n anchor?: string;\n}\n\nexport 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\nexport interface LinkData {\n /** Link details. */\n link?: Link;\n}\n\nexport 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\nexport interface FontSizeData {\n /** The units used for the font size. */\n unit?: FontTypeWithLiterals;\n /** Font size value. */\n value?: number | null;\n}\n\nexport enum FontType {\n PX = 'PX',\n EM = 'EM',\n}\n\n/** @enumType */\nexport type FontTypeWithLiterals = FontType | 'PX' | 'EM';\n\nexport interface SpoilerData {\n /** Spoiler ID. */\n id?: string | null;\n}\n\nexport interface FontFamilyData {\n /** @maxLength 1000 */\n value?: string | null;\n}\n\nexport 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?: AppTypeWithLiterals;\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 /** Whether to hide the image. */\n hideImage?: boolean | null;\n /** Whether to hide the title. */\n hideTitle?: boolean | null;\n /** Whether to hide the price. */\n hidePrice?: boolean | null;\n /** Whether to hide the description (Event and Booking). */\n hideDescription?: boolean | null;\n /** Whether to hide the date and time (Event). */\n hideDateTime?: boolean | null;\n /** Whether to hide the location (Event). */\n hideLocation?: boolean | null;\n /** Whether to hide the duration (Booking). */\n hideDuration?: boolean | null;\n /** Whether to hide the button. */\n hideButton?: boolean | null;\n /** Whether to hide the ribbon. */\n hideRibbon?: boolean | null;\n /** Button styling options. */\n buttonStyles?: ButtonStyles;\n /** Image styling options. */\n imageStyles?: ImageStyles;\n /** Ribbon styling options. */\n ribbonStyles?: RibbonStyles;\n /** Card styling options. */\n cardStyles?: CardStyles;\n /** Styling for the app embed's container. */\n containerData?: PluginContainerData;\n /** Pricing data for embedded Wix App content. */\n pricingData?: PricingData;\n}\n\n/** @oneof */\nexport interface AppEmbedDataAppDataOneOf {\n /** Data for embedded Wix Bookings content. */\n bookingData?: BookingData;\n /** Data for embedded Wix Events content. */\n eventData?: EventData;\n}\n\nexport enum Position {\n /** Image positioned at the start (left in LTR layouts, right in RTL layouts) */\n START = 'START',\n /** Image positioned at the end (right in LTR layouts, left in RTL layouts) */\n END = 'END',\n /** Image positioned at the top */\n TOP = 'TOP',\n}\n\n/** @enumType */\nexport type PositionWithLiterals = Position | 'START' | 'END' | 'TOP';\n\nexport enum AspectRatio {\n /** 1:1 aspect ratio */\n SQUARE = 'SQUARE',\n /** 16:9 aspect ratio */\n RECTANGLE = 'RECTANGLE',\n}\n\n/** @enumType */\nexport type AspectRatioWithLiterals = AspectRatio | 'SQUARE' | 'RECTANGLE';\n\nexport enum Resizing {\n /** Fill the container, may crop the image */\n FILL = 'FILL',\n /** Fit the image within the container */\n FIT = 'FIT',\n}\n\n/** @enumType */\nexport type ResizingWithLiterals = Resizing | 'FILL' | 'FIT';\n\nexport enum Placement {\n /** Ribbon placed on the image */\n IMAGE = 'IMAGE',\n /** Ribbon placed on the product information */\n PRODUCT_INFO = 'PRODUCT_INFO',\n}\n\n/** @enumType */\nexport type PlacementWithLiterals = Placement | 'IMAGE' | 'PRODUCT_INFO';\n\nexport enum CardStylesType {\n /** Card with visible border and background */\n CONTAINED = 'CONTAINED',\n /** Card without visible border */\n FRAMELESS = 'FRAMELESS',\n}\n\n/** @enumType */\nexport type CardStylesTypeWithLiterals =\n | CardStylesType\n | 'CONTAINED'\n | 'FRAMELESS';\n\nexport enum CardStylesAlignment {\n /** Content aligned to start (left in LTR layouts, right in RTL layouts) */\n START = 'START',\n /** Content centered */\n CENTER = 'CENTER',\n /** Content aligned to end (right in LTR layouts, left in RTL layouts) */\n END = 'END',\n}\n\n/** @enumType */\nexport type CardStylesAlignmentWithLiterals =\n | CardStylesAlignment\n | 'START'\n | 'CENTER'\n | 'END';\n\nexport enum Layout {\n /** Elements stacked vertically */\n STACKED = 'STACKED',\n /** Elements arranged horizontally */\n SIDE_BY_SIDE = 'SIDE_BY_SIDE',\n}\n\n/** @enumType */\nexport type LayoutWithLiterals = Layout | 'STACKED' | 'SIDE_BY_SIDE';\n\nexport enum AppType {\n PRODUCT = 'PRODUCT',\n EVENT = 'EVENT',\n BOOKING = 'BOOKING',\n}\n\n/** @enumType */\nexport type AppTypeWithLiterals = AppType | 'PRODUCT' | 'EVENT' | 'BOOKING';\n\nexport interface BookingData {\n /** Booking duration in minutes. */\n durations?: string | null;\n}\n\nexport interface EventData {\n /** Event schedule. */\n scheduling?: string | null;\n /** Event location. */\n location?: string | null;\n}\n\nexport interface ButtonStyles {\n /** Text to display on the button. */\n buttonText?: string | null;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /**\n * Text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Border color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n borderColorHover?: string | null;\n /**\n * Text color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n textColorHover?: string | null;\n /**\n * Background color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n backgroundColorHover?: string | null;\n /** Button size option, one of `SMALL`, `MEDIUM` or `LARGE`. Defaults to `MEDIUM`. */\n buttonSize?: string | null;\n}\n\nexport interface ImageStyles {\n /** Whether to hide the image. */\n hideImage?: boolean | null;\n /** Position of image. Defaults to `START`. */\n imagePosition?: PositionWithLiterals;\n /** Aspect ratio for the image. Defaults to `SQUARE`. */\n aspectRatio?: AspectRatioWithLiterals;\n /** How the image should be resized. Defaults to `FILL`. */\n resizing?: ResizingWithLiterals;\n /**\n * Image border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Image border width in pixels. */\n borderWidth?: number | null;\n /** Image border radius in pixels. */\n borderRadius?: number | null;\n}\n\nexport interface RibbonStyles {\n /** Text to display on the ribbon. */\n ribbonText?: string | null;\n /**\n * Ribbon background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Ribbon text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n /**\n * Ribbon border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Ribbon border width in pixels. */\n borderWidth?: number | null;\n /** Ribbon border radius in pixels. */\n borderRadius?: number | null;\n /** Placement of the ribbon. Defaults to `IMAGE`. */\n ribbonPlacement?: PlacementWithLiterals;\n}\n\nexport interface CardStyles {\n /**\n * Card background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Card border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Card border width in pixels. */\n borderWidth?: number | null;\n /** Card border radius in pixels. */\n borderRadius?: number | null;\n /** Card type. Defaults to `CONTAINED`. */\n type?: CardStylesTypeWithLiterals;\n /** Content alignment. Defaults to `START`. */\n alignment?: CardStylesAlignmentWithLiterals;\n /** Layout for title and price. Defaults to `STACKED`. */\n titlePriceLayout?: LayoutWithLiterals;\n /**\n * Title text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n titleColor?: string | null;\n /**\n * Text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n}\n\nexport interface PricingData {\n /**\n * Minimum numeric price value as string (e.g., \"10.99\").\n * @decimalValue options { maxScale:2 }\n */\n valueFrom?: string | null;\n /**\n * Maximum numeric price value as string (e.g., \"19.99\").\n * @decimalValue options { maxScale:2 }\n */\n valueTo?: string | null;\n /**\n * Numeric price value as string after discount application (e.g., \"15.99\").\n * @decimalValue options { maxScale:2 }\n */\n discountedValue?: string | null;\n /**\n * Currency of the value in ISO 4217 format (e.g., \"USD\", \"EUR\").\n * @format CURRENCY\n */\n currency?: string | null;\n /**\n * Pricing plan ID.\n * @format GUID\n */\n pricingPlanId?: string | null;\n}\n\nexport 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\nexport 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\nexport 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\nexport 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\nexport 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?: InitialExpandedItemsWithLiterals;\n /** The direction of the text in the list. Either left-to-right or right-to-left. */\n direction?: DirectionWithLiterals;\n /** If `true`, The collapsible item will appear in search results as an FAQ. */\n isQapageData?: boolean | null;\n}\n\nexport 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\n/** @enumType */\nexport type InitialExpandedItemsWithLiterals =\n | InitialExpandedItems\n | 'FIRST'\n | 'ALL'\n | 'NONE';\n\nexport enum Direction {\n /** Left-to-right */\n LTR = 'LTR',\n /** Right-to-left */\n RTL = 'RTL',\n}\n\n/** @enumType */\nexport type DirectionWithLiterals = Direction | 'LTR' | 'RTL';\n\nexport 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 /** The spacing between cells in pixels. Defaults to `0`. */\n cellSpacing?: number | null;\n /**\n * Padding in pixels for cells. Follows CSS order: top, right, bottom, left.\n * @maxSize 4\n */\n cellPadding?: number[];\n}\n\nexport 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\nexport 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 /** Defines how many columns the cell spans. Default: 1. */\n colspan?: number | null;\n /** Defines how many rows the cell spans. Default: 1. */\n rowspan?: number | null;\n /** The cell's border widths. */\n borderWidths?: BorderWidths;\n}\n\nexport enum VerticalAlignment {\n /** Top alignment */\n TOP = 'TOP',\n /** Middle alignment */\n MIDDLE = 'MIDDLE',\n /** Bottom alignment */\n BOTTOM = 'BOTTOM',\n}\n\n/** @enumType */\nexport type VerticalAlignmentWithLiterals =\n | VerticalAlignment\n | 'TOP'\n | 'MIDDLE'\n | 'BOTTOM';\n\nexport interface CellStyle {\n /** Vertical alignment for the cell's text. */\n verticalAlignment?: VerticalAlignmentWithLiterals;\n /**\n * Cell background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n}\n\nexport interface BorderColors {\n /**\n * Left border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n left?: string | null;\n /**\n * Right border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n right?: string | null;\n /**\n * Top border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n top?: string | null;\n /**\n * Bottom border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n bottom?: string | null;\n}\n\nexport interface BorderWidths {\n /** Left border width in pixels. */\n left?: number | null;\n /** Right border width in pixels. */\n right?: number | null;\n /** Top border width in pixels. */\n top?: number | null;\n /** Bottom border width in pixels. */\n bottom?: number | null;\n}\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 */\nexport enum NullValue {\n /** Null value. */\n NULL_VALUE = 'NULL_VALUE',\n}\n\n/** @enumType */\nexport type NullValueWithLiterals = NullValue | '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 */\nexport interface ListValue {\n /** Repeated field of dynamically typed values. */\n values?: any[];\n}\n\nexport 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\nexport interface OrderedListData {\n /** Indentation level from 0-4. */\n indentation?: number;\n /** Offset level from 0-4. */\n offset?: number | null;\n /** List start number. */\n start?: number | null;\n}\n\nexport interface BulletedListData {\n /** Indentation level from 0-4. */\n indentation?: number;\n /** Offset level from 0-4. */\n offset?: number | null;\n}\n\nexport interface BlockquoteData {\n /** Indentation level from 1-4. */\n indentation?: number;\n}\n\nexport interface CaptionData {\n textStyle?: TextStyle;\n}\n\nexport interface LayoutData {\n /**\n * Deprecated: Use `background` instead.\n * @format COLOR_HEX\n * @deprecated\n */\n backgroundColor?: string | null;\n /** Background image. */\n backgroundImage?: LayoutDataBackgroundImage;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /**\n * Deprecated: Use `backdrop` instead.\n * @format COLOR_HEX\n * @deprecated\n */\n backdropColor?: string | null;\n /** Backdrop image. */\n backdropImage?: LayoutDataBackgroundImage;\n /** Backdrop top padding. */\n backdropPaddingTop?: number | null;\n /** Backdrop bottom padding */\n backdropPaddingBottom?: number | null;\n /** Horizontal and vertical gap between columns */\n gap?: number | null;\n /**\n * Padding in pixels for cells. Follows CSS order: top, right, bottom, left\n * @maxSize 4\n */\n cellPadding?: number[];\n /** Vertical alignment for the cell's items. */\n cellVerticalAlignment?: VerticalAlignmentAlignmentWithLiterals;\n /** Responsiveness behaviour of columns when responsiveness applies. Either stacks or wrappers. */\n responsivenessBehaviour?: ResponsivenessBehaviourWithLiterals;\n /** Size in pixels when responsiveness_behaviour applies */\n responsivenessBreakpoint?: number | null;\n /** Styling for the layout's container. */\n containerData?: PluginContainerData;\n /** Defines where selected design propertied applies to */\n designTarget?: DesignTargetWithLiterals;\n /** Banner configuration. When present, this layout is displayed as a banner. */\n banner?: Banner;\n /** Background styling (color or gradient). */\n background?: LayoutDataBackground;\n /** Backdrop styling (color or gradient). */\n backdrop?: Backdrop;\n}\n\nexport enum ImageScalingScaling {\n /** Auto image scaling */\n AUTO = 'AUTO',\n /** Contain image scaling */\n CONTAIN = 'CONTAIN',\n /** Cover image scaling */\n COVER = 'COVER',\n}\n\n/** @enumType */\nexport type ImageScalingScalingWithLiterals =\n | ImageScalingScaling\n | 'AUTO'\n | 'CONTAIN'\n | 'COVER';\n\nexport enum LayoutDataImagePosition {\n /** Image positioned at the center */\n CENTER = 'CENTER',\n /** Image positioned on the left */\n CENTER_LEFT = 'CENTER_LEFT',\n /** Image positioned on the right */\n CENTER_RIGHT = 'CENTER_RIGHT',\n /** Image positioned at the center top */\n TOP = 'TOP',\n /** Image positioned at the top left */\n TOP_LEFT = 'TOP_LEFT',\n /** Image positioned at the top right */\n TOP_RIGHT = 'TOP_RIGHT',\n /** Image positioned at the center bottom */\n BOTTOM = 'BOTTOM',\n /** Image positioned at the bottom left */\n BOTTOM_LEFT = 'BOTTOM_LEFT',\n /** Image positioned at the bottom right */\n BOTTOM_RIGHT = 'BOTTOM_RIGHT',\n}\n\n/** @enumType */\nexport type LayoutDataImagePositionWithLiterals =\n | LayoutDataImagePosition\n | 'CENTER'\n | 'CENTER_LEFT'\n | 'CENTER_RIGHT'\n | 'TOP'\n | 'TOP_LEFT'\n | 'TOP_RIGHT'\n | 'BOTTOM'\n | 'BOTTOM_LEFT'\n | 'BOTTOM_RIGHT';\n\nexport enum Origin {\n /** Banner originated from an image */\n IMAGE = 'IMAGE',\n /** Banner originated from a layout */\n LAYOUT = 'LAYOUT',\n}\n\n/** @enumType */\nexport type OriginWithLiterals = Origin | 'IMAGE' | 'LAYOUT';\n\n/** Background type */\nexport enum LayoutDataBackgroundType {\n /** Solid color background */\n COLOR = 'COLOR',\n /** Gradient background */\n GRADIENT = 'GRADIENT',\n}\n\n/** @enumType */\nexport type LayoutDataBackgroundTypeWithLiterals =\n | LayoutDataBackgroundType\n | 'COLOR'\n | 'GRADIENT';\n\n/** Backdrop type */\nexport enum BackdropType {\n /** Solid color backdrop */\n COLOR = 'COLOR',\n /** Gradient backdrop */\n GRADIENT = 'GRADIENT',\n}\n\n/** @enumType */\nexport type BackdropTypeWithLiterals = BackdropType | 'COLOR' | 'GRADIENT';\n\nexport interface LayoutDataBackgroundImage {\n /** Background image. */\n media?: Media;\n /** Background image opacity. */\n opacity?: number | null;\n /** Background image scaling. */\n scaling?: ImageScalingScalingWithLiterals;\n /** Position of background. Defaults to `CENTER`. */\n position?: LayoutDataImagePositionWithLiterals;\n}\n\nexport enum VerticalAlignmentAlignment {\n /** Top alignment */\n TOP = 'TOP',\n /** Middle alignment */\n MIDDLE = 'MIDDLE',\n /** Bottom alignment */\n BOTTOM = 'BOTTOM',\n}\n\n/** @enumType */\nexport type VerticalAlignmentAlignmentWithLiterals =\n | VerticalAlignmentAlignment\n | 'TOP'\n | 'MIDDLE'\n | 'BOTTOM';\n\nexport enum ResponsivenessBehaviour {\n /** Stacking of columns */\n STACK = 'STACK',\n /** Wrapping of columns */\n WRAP = 'WRAP',\n}\n\n/** @enumType */\nexport type ResponsivenessBehaviourWithLiterals =\n | ResponsivenessBehaviour\n | 'STACK'\n | 'WRAP';\n\nexport enum DesignTarget {\n /** Design applied to layout */\n LAYOUT = 'LAYOUT',\n /** Design applied to cells */\n CELL = 'CELL',\n}\n\n/** @enumType */\nexport type DesignTargetWithLiterals = DesignTarget | 'LAYOUT' | 'CELL';\n\nexport interface Banner {\n /** Origin of the banner */\n origin?: OriginWithLiterals;\n}\n\n/** Background styling (color or gradient) */\nexport interface LayoutDataBackground {\n /** Background type. */\n type?: LayoutDataBackgroundTypeWithLiterals;\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** Gradient configuration. */\n gradient?: Gradient;\n}\n\n/** Backdrop styling (color or gradient) */\nexport interface Backdrop {\n /** Backdrop type. */\n type?: BackdropTypeWithLiterals;\n /**\n * Backdrop color as a hexadecimal value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** Gradient configuration. */\n gradient?: Gradient;\n}\n\nexport interface LayoutCellData {\n /** Size of the cell in 12 columns grid. */\n colSpan?: number | null;\n}\n\nexport interface ShapeData {\n /** Styling for the shape's container. */\n containerData?: PluginContainerData;\n /** Shape file details. */\n shape?: Media;\n /** Styling for the shape. */\n styles?: ShapeDataStyles;\n}\n\nexport interface ShapeDataStyles {\n /**\n * Shape fill color as a hexadecimal value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** Map of original color keys to their new color values. */\n colors?: Record<string, string>;\n}\n\nexport interface CardData {\n /** Background styling (color or gradient). */\n background?: CardDataBackground;\n /** Background image. */\n backgroundImage?: BackgroundImage;\n}\n\nexport enum Scaling {\n /** Auto image scaling */\n AUTO = 'AUTO',\n /** Contain image scaling */\n CONTAIN = 'CONTAIN',\n /** Cover image scaling */\n COVER = 'COVER',\n}\n\n/** @enumType */\nexport type ScalingWithLiterals = Scaling | 'AUTO' | 'CONTAIN' | 'COVER';\n\nexport enum ImagePositionPosition {\n /** Image positioned at the center */\n CENTER = 'CENTER',\n /** Image positioned on the left */\n CENTER_LEFT = 'CENTER_LEFT',\n /** Image positioned on the right */\n CENTER_RIGHT = 'CENTER_RIGHT',\n /** Image positioned at the center top */\n TOP = 'TOP',\n /** Image positioned at the top left */\n TOP_LEFT = 'TOP_LEFT',\n /** Image positioned at the top right */\n TOP_RIGHT = 'TOP_RIGHT',\n /** Image positioned at the center bottom */\n BOTTOM = 'BOTTOM',\n /** Image positioned at the bottom left */\n BOTTOM_LEFT = 'BOTTOM_LEFT',\n /** Image positioned at the bottom right */\n BOTTOM_RIGHT = 'BOTTOM_RIGHT',\n}\n\n/** @enumType */\nexport type ImagePositionPositionWithLiterals =\n | ImagePositionPosition\n | 'CENTER'\n | 'CENTER_LEFT'\n | 'CENTER_RIGHT'\n | 'TOP'\n | 'TOP_LEFT'\n | 'TOP_RIGHT'\n | 'BOTTOM'\n | 'BOTTOM_LEFT'\n | 'BOTTOM_RIGHT';\n\n/** Background type */\nexport enum CardDataBackgroundType {\n /** Solid color background */\n COLOR = 'COLOR',\n /** Gradient background */\n GRADIENT = 'GRADIENT',\n}\n\n/** @enumType */\nexport type CardDataBackgroundTypeWithLiterals =\n | CardDataBackgroundType\n | 'COLOR'\n | 'GRADIENT';\n\n/** Background styling (color or gradient) */\nexport interface CardDataBackground {\n /** Background type. */\n type?: CardDataBackgroundTypeWithLiterals;\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** Gradient configuration. */\n gradient?: Gradient;\n}\n\nexport interface BackgroundImage {\n /** Background image. */\n media?: Media;\n /** Background image opacity. */\n opacity?: number | null;\n /** Background image scaling. */\n scaling?: ScalingWithLiterals;\n /** Position of background. Defaults to `CENTER`. */\n position?: ImagePositionPositionWithLiterals;\n}\n\nexport interface TocData {\n /** Heading levels included in the table of contents. Default: [1, 2, 3, 4, 5, 6]. */\n includedHeadings?: number[];\n /** List style. Default: PLAIN. */\n listStyle?: ListStyleWithLiterals;\n /** Optional override for the font size in pixels. */\n fontSize?: number | null;\n /** Optional override for the vertical spacing between items in pixels. */\n itemSpacing?: number | null;\n /**\n * Optional override for the text color.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** Indentation style. Default: NESTED. */\n indentation?: IndentationWithLiterals;\n}\n\n/** List style. */\nexport enum ListStyle {\n /** No markers (default) */\n PLAIN = 'PLAIN',\n /** Numbered list */\n NUMBERED = 'NUMBERED',\n /** Alphabetic letters */\n LETTERS = 'LETTERS',\n /** Roman numerals */\n ROMAN = 'ROMAN',\n /** Bulleted list */\n BULLETED = 'BULLETED',\n /** Alphabetical index */\n ALPHABETICAL_INDEX = 'ALPHABETICAL_INDEX',\n /** Alphabetical index (compact top-row only) */\n ALPHABETICAL_INDEX_COMPACT = 'ALPHABETICAL_INDEX_COMPACT',\n}\n\n/** @enumType */\nexport type ListStyleWithLiterals =\n | ListStyle\n | 'PLAIN'\n | 'NUMBERED'\n | 'LETTERS'\n | 'ROMAN'\n | 'BULLETED'\n | 'ALPHABETICAL_INDEX'\n | 'ALPHABETICAL_INDEX_COMPACT';\n\n/** Indentation style. */\nexport enum Indentation {\n /** Sub-headings indented under parents (default) */\n NESTED = 'NESTED',\n /** All items at the same level */\n FLAT = 'FLAT',\n}\n\n/** @enumType */\nexport type IndentationWithLiterals = Indentation | 'NESTED' | 'FLAT';\n\nexport interface Metadata {\n /** Schema version. */\n version?: number;\n /**\n * When the object was created.\n * @readonly\n * @deprecated\n */\n createdTimestamp?: Date | null;\n /**\n * When the object was most recently updated.\n * @deprecated\n */\n updatedTimestamp?: Date | null;\n /** Object ID. */\n _id?: string | null;\n}\n\nexport 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\nexport 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\nexport interface MediaItem extends MediaItemMediaOneOf {\n /** WixMedia image. */\n image?: string;\n}\n\n/** @oneof */\nexport interface MediaItemMediaOneOf {\n /** WixMedia image. */\n image?: string;\n}\n\nexport interface MediaSettings {\n /**\n * Specifies where the image should be displayed relative to the field's label.\n * Default: `BELOW`\n */\n imagePosition?: ImagePositionWithLiterals;\n /**\n * Specifies the image alignment.\n * Default: `CENTER`\n */\n imageAlignment?: AlignmentWithLiterals;\n /**\n * Specifies how an image should be resized to fit.\n * Default: `COVER`\n */\n imageFit?: ImageFitWithLiterals;\n}\n\nexport enum ImagePosition {\n /** Above the field's label. */\n ABOVE = 'ABOVE',\n /** Below the field's label. */\n BELOW = 'BELOW',\n}\n\n/** @enumType */\nexport type ImagePositionWithLiterals = ImagePosition | 'ABOVE' | 'BELOW';\n\nexport enum Alignment {\n /** Align left. */\n LEFT = 'LEFT',\n /** Align center. */\n CENTER = 'CENTER',\n /** Align right. */\n RIGHT = 'RIGHT',\n}\n\n/** @enumType */\nexport type AlignmentWithLiterals = Alignment | 'LEFT' | 'CENTER' | 'RIGHT';\n\nexport enum ImageFit {\n /** Scale the image to maintain its aspect ratio while filling the element's entire content box. Portions of the image may be clipped if the aspect ratios don't match. */\n COVER = 'COVER',\n /** Resize the image to fill the element's content box. The image's original sspect ratio may not be preserved. */\n CONTAIN = 'CONTAIN',\n}\n\n/** @enumType */\nexport type ImageFitWithLiterals = ImageFit | 'COVER' | 'CONTAIN';\n\nexport interface RadioGroup {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * List of options the submitter can select from.\n * @maxSize 400\n */\n options?: RadioGroupOption[];\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /** Custom option which can be specified by the submitter. */\n customOption?: CustomOption;\n /**\n * Specifies the number of columns used to display the selections within the component.\n *\n * Default: `ONE`\n */\n numberOfColumns?: NumberOfColumnsWithLiterals;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n}\n\nexport interface RadioGroupOption {\n /**\n * Selectable option label.\n * @maxLength 400\n */\n label?: string | null;\n /**\n * Value stored on submission when this option is selected.\n * @maxLength 20000\n */\n value?: string | null;\n /** Whether this option is selected by default. */\n default?: boolean;\n /**\n * Option ID. Can be used to connect this option with [Wix Multilingual](https://dev.wix.com/docs/api-reference/business-management/multilingual/translation/introduction) for translation.\n * @format GUID\n * @immutable\n */\n _id?: string;\n}\n\nexport interface CustomOption {\n /**\n * Custom option label.\n * @maxLength 350\n */\n label?: string | null;\n /**\n * Custom option placeholder text.\n * @maxLength 100\n */\n placeholder?: string | null;\n}\n\nexport enum NumberOfColumns {\n /** Zero columns. */\n ZERO = 'ZERO',\n /** One column. */\n ONE = 'ONE',\n /** Two columns. */\n TWO = 'TWO',\n /** Three columns. */\n THREE = 'THREE',\n}\n\n/** @enumType */\nexport type NumberOfColumnsWithLiterals =\n | NumberOfColumns\n | 'ZERO'\n | 'ONE'\n | 'TWO'\n | 'THREE';\n\nexport interface Dropdown {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * List of options the submitter can select from.\n * @maxSize 400\n */\n options?: DropdownOption[];\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /** Custom option which can be specified by the submitter. */\n customOption?: CustomOption;\n /**\n * Placeholder text shown when no option is selected.\n * @maxLength 100\n */\n placeholder?: string | null;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n}\n\nexport interface DropdownOption {\n /**\n * Selectable option label.\n * @maxLength 400\n */\n label?: string | null;\n /**\n * Value stored on submission when this option is selected.\n * @maxLength 20000\n */\n value?: string | null;\n /** Whether this option is selected by default. */\n default?: boolean;\n /**\n * Option ID. Can be used to connect this option with [Wix Multilingual](https://dev.wix.com/docs/api-reference/business-management/multilingual/translation/introduction) for translation.\n * @format GUID\n * @immutable\n */\n _id?: string;\n}\n\nexport interface DateTimeInput {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /**\n * Whether to display placeholder text in the field when it's empty.\n *\n * Default: `true`\n */\n showPlaceholder?: boolean | null;\n /**\n * Whether to use 24-hour time format.\n *\n * Default: `false`\n */\n use24HourFormat?: boolean;\n /**\n * Default value for the field. This value is pre-populated in the field when the form loads.\n * Supports static constrains defined as ISO date-time format, as well as dynamic calculations using special keywords\n * such as \"$now\" to represent the current date and time.\n * The dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\n * The regex pattern for dynamic calculations is: \\$now([+-]\\d{1,2})([yMdmh])\n * @maxLength 50\n */\n default?: string | null;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n /**\n * Flag identifying whether to show or hide the date labels.\n * Default: true\n */\n showDateLabels?: boolean | null;\n}\n\nexport interface PhoneInput {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * Placeholder text shown inside the field when it's empty.\n * @maxLength 100\n */\n placeholder?: string | null;\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /**\n * Default country code for the phone number input. Two-letter country code in ISO-3166 alpha-2 format.\n * @minLength 1\n * @maxLength 5\n */\n defaultCountryCode?: string | null;\n /**\n * Whether to display the country flag next to the country code.\n *\n * Default: `false`\n */\n showCountryFlag?: boolean;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n}\n\nexport interface DateInput {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /**\n * Whether to display placeholder text in the field when it's empty.\n *\n * Default: `true`\n */\n showPlaceholder?: boolean | null;\n /**\n * Default value for the field. This value is pre-populated in the field when the form loads.\n * Supports static constrains defined as ISO date format, as well as dynamic calculations using special keywords\n * such as \"$now\" to represent the current date and time.\n * The dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\n * The regex pattern for dynamic calculations is: \\$now([+-]\\d{1,2})([yMdmh])\n * @maxLength 50\n */\n default?: string | null;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n /**\n * Flag identifying whether to show or hide the date labels.\n * Default: true\n */\n showDateLabels?: boolean | null;\n}\n\nexport interface TimeInput {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Field description. */\n description?: RichContent;\n /**\n * Whether to display the label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /**\n * Whether to display placeholder text in the field when it's empty.\n *\n * Default: `true`\n */\n showPlaceholder?: boolean | null;\n /**\n * Whether to use 24-hour time format.\n *\n * Default: `false`\n */\n use24HourFormat?: boolean;\n /**\n * Default value for the field. This value is pre-populated in the field when the form loads.\n * Supports static constrains defined as ISO time format, as well as dynamic calculations using special keywords\n * such as \"$now\" to represent the current date and time.\n * The dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\n * The regex pattern for dynamic calculations is: \\$now([+-]\\d{1,2})([yMdmh])\n * @maxLength 50\n */\n default?: string | null;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n}\n\nexport interface DatePicker {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /**\n * Placeholder text shown when no date is selected.\n * @maxLength 100\n */\n placeholder?: string | null;\n /** First day of the week displayed on the date picker. */\n firstDayOfWeek?: FirstDayOfWeekWithLiterals;\n /**\n * Default value for the field. This value is pre-populated in the field when the form loads.\n * Supports static constrains defined as ISO date format, as well as dynamic calculations using special keywords\n * such as \"$now\" to represent the current date and time.\n * The dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\n * The regex pattern for dynamic calculations is: \\$now([+-]\\d{1,2})([yMdmh])\n * @maxLength 50\n */\n default?: string | null;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n}\n\nexport enum FirstDayOfWeek {\n /** First day of the week is Monday. */\n MONDAY = 'MONDAY',\n /** First day of the week is Sunday. */\n SUNDAY = 'SUNDAY',\n}\n\n/** @enumType */\nexport type FirstDayOfWeekWithLiterals = FirstDayOfWeek | 'MONDAY' | 'SUNDAY';\n\nexport interface ServicesDropdown {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /**\n * Placeholder text shown when no service is selected.\n * @maxLength 100\n */\n placeholder?: string | null;\n /**\n * List of service options the submitter can select from.\n * @maxSize 400\n */\n options?: ServiceOption[];\n /** Custom option which can be specified by the submitter. */\n customOption?: CustomOption;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n}\n\nexport interface ServiceOption {\n /**\n * Service name/label\n * @maxLength 400\n */\n label?: string | null;\n /**\n * Option id. Used as binding for translations. Corresponds to the Service ID.\n * @format GUID\n * @immutable\n */\n _id?: string;\n /**\n * Selectable option value, which is saved to DB. Corresponds to the Service ID.\n * @format GUID\n * @immutable\n */\n value?: string | null;\n}\n\nexport interface Password {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * Placeholder text shown inside the field when it's empty.\n * Useful for providing a hint about the expected format or content.\n * @maxLength 100\n */\n placeholder?: string | null;\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /**\n * Default value for the field. This value is pre-populated in the field when the form loads.\n * @maxLength 20000\n */\n default?: string | null;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n}\n\nexport interface NumberCorrectAnswersList {\n /** @maxSize 50 */\n correctAnswers?: number[];\n}\n\nexport interface NumberType {\n /** The maximum value of the number. Inclusive. */\n maximum?: number | null;\n /** The minimum value of the number. Inclusive. */\n minimum?: number | null;\n /** A number that the value must be a multiple of. */\n multipleOf?: number | null;\n /**\n * List of allowed values.\n * @maxSize 500\n */\n enum?: number[] | null;\n}\n\nexport enum NumberComponentType {\n /** Unknown component type. */\n UNKNOWN_COMPONENT_TYPE = 'UNKNOWN_COMPONENT_TYPE',\n /** Numeric input component. */\n NUMBER_INPUT = 'NUMBER_INPUT',\n /** Rating input component. */\n RATING_INPUT = 'RATING_INPUT',\n}\n\n/** @enumType */\nexport type NumberComponentTypeWithLiterals =\n | NumberComponentType\n | 'UNKNOWN_COMPONENT_TYPE'\n | 'NUMBER_INPUT'\n | 'RATING_INPUT';\n\nexport interface NumberQuizFieldSettings {\n /** Points awarded for correctly answering this quiz question. */\n score?: number;\n /** Correct answers for this quiz question. */\n correctAnswersList?: NumberCorrectAnswersList;\n}\n\nexport interface NumberInput {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * Placeholder text shown inside the field when it's empty.\n * @maxLength 100\n */\n placeholder?: string | null;\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /** Default value for the field. This value is pre-populated in the field when the form loads. */\n default?: number | null;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n}\n\nexport interface RatingInput {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /**\n * Default rating value for the field.\n * @min 1\n * @max 5\n */\n defaultValue?: number | null;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n}\n\nexport interface BooleanType {\n /**\n * List of allowed values.\n * @maxSize 2\n */\n enum?: boolean[];\n}\n\nexport enum BooleanComponentType {\n /** Unknown component type. */\n UNKNOWN_COMPONENT_TYPE = 'UNKNOWN_COMPONENT_TYPE',\n /** Checkbox component. */\n CHECKBOX = 'CHECKBOX',\n}\n\n/** @enumType */\nexport type BooleanComponentTypeWithLiterals =\n | BooleanComponentType\n | 'UNKNOWN_COMPONENT_TYPE'\n | 'CHECKBOX';\n\nexport interface Checkbox {\n /** Field label. */\n label?: RichContent;\n /**\n * Whether the checkbox is selected by default when the form loads.\n *\n * Default: `false`\n */\n checked?: boolean;\n}\n\nexport interface CorrectAnswersList {\n /** @maxSize 50 */\n correctAnswers?: any[];\n}\n\nexport interface ArrayType {\n /**\n * Maximum number of elements allowed in the array.\n * @max 1000\n */\n maxItems?: number | null;\n /**\n * Minimum number of elements required in the array.\n * @max 1000\n */\n minItems?: number | null;\n /** Type of items allowed in the array. */\n items?: ArrayItems;\n}\n\nexport enum ItemType {\n /** Array can contain string values. */\n STRING = 'STRING',\n /** Array can contain numeric values. */\n NUMBER = 'NUMBER',\n /** Array can contain boolean values. */\n BOOLEAN = 'BOOLEAN',\n}\n\n/** @enumType */\nexport type ItemTypeWithLiterals = ItemType | 'STRING' | 'NUMBER' | 'BOOLEAN';\n\nexport interface ObjectType {\n /** Definition of object properties and their validation rules. */\n properties?: Record<string, PropertiesType>;\n}\n\nexport enum PropertiesTypeEnum {\n /** Property must contain a string value. */\n STRING = 'STRING',\n /** Property must contain a numeric value. */\n NUMBER = 'NUMBER',\n /** Property must contain a boolean value. */\n BOOLEAN = 'BOOLEAN',\n /** Property must contain an array. */\n ARRAY = 'ARRAY',\n}\n\n/** @enumType */\nexport type PropertiesTypeEnumWithLiterals =\n | PropertiesTypeEnum\n | 'STRING'\n | 'NUMBER'\n | 'BOOLEAN'\n | 'ARRAY';\n\nexport interface PropertiesType\n extends PropertiesTypePropertiesTypeOptionsOneOf {\n /** Validation rules for string properties. */\n stringOptions?: StringType;\n /** Validation rules for numeric properties. */\n numberOptions?: NumberType;\n /** Validation rules for boolean properties. */\n booleanOptions?: BooleanType;\n /** Validation rules for array properties. */\n arrayOptions?: ArrayType;\n /**\n * Data type of the object property.\n * @readonly\n */\n propertiesType?: PropertiesTypeEnumWithLiterals;\n /** Whether the object property is required for validation. */\n required?: boolean;\n}\n\n/** @oneof */\nexport interface PropertiesTypePropertiesTypeOptionsOneOf {\n /** Validation rules for string properties. */\n stringOptions?: StringType;\n /** Validation rules for numeric properties. */\n numberOptions?: NumberType;\n /** Validation rules for boolean properties. */\n booleanOptions?: BooleanType;\n /** Validation rules for array properties. */\n arrayOptions?: ArrayType;\n}\n\nexport interface ArrayItems extends ArrayItemsItemTypeOptionsOneOf {\n /** Validation rules for string array elements. */\n stringOptions?: StringType;\n /** Validation rules for numeric array elements. */\n numberOptions?: NumberType;\n /** Validation rules for boolean array elements. */\n booleanOptions?: BooleanType;\n /**\n * Allowed item type.\n * @readonly\n */\n itemType?: ItemTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface ArrayItemsItemTypeOptionsOneOf {\n /** Validation rules for string array elements. */\n stringOptions?: StringType;\n /** Validation rules for numeric array elements. */\n numberOptions?: NumberType;\n /** Validation rules for boolean array elements. */\n booleanOptions?: BooleanType;\n}\n\nexport enum ArrayComponentType {\n /** Unknown component type. */\n UNKNOWN_COMPONENT_TYPE = 'UNKNOWN_COMPONENT_TYPE',\n /** Checkbox group component. */\n CHECKBOX_GROUP = 'CHECKBOX_GROUP',\n /** Tags component. */\n TAGS = 'TAGS',\n SERVICES_CHECKBOX_GROUP = 'SERVICES_CHECKBOX_GROUP',\n}\n\n/** @enumType */\nexport type ArrayComponentTypeWithLiterals =\n | ArrayComponentType\n | 'UNKNOWN_COMPONENT_TYPE'\n | 'CHECKBOX_GROUP'\n | 'TAGS'\n | 'SERVICES_CHECKBOX_GROUP';\n\nexport interface QuizFieldSettings {\n /** Points awarded for correctly answering this quiz question. */\n score?: number;\n /** Correct answers for this quiz question. */\n correctAnswersList?: CorrectAnswersList;\n}\n\nexport interface CheckboxGroup {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * List of options the submitter can select from.\n * @maxSize 400\n */\n options?: Option[];\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /** Custom option which can be specified by the submitter. */\n customOption?: CustomOption;\n /**\n * Specifies the number of columns used to display the selections within the component.\n *\n * Default: `ONE`\n */\n numberOfColumns?: NumberOfColumnsWithLiterals;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n}\n\nexport interface Option {\n /**\n * Selectable option label.\n * @maxLength 400\n */\n label?: string | null;\n /** Value stored on submission when this option is selected. */\n value?: any;\n /** Whether this option is selected by default. */\n default?: boolean;\n /**\n * Option ID. Can be used to connect this option with [Wix Multilingual](https://dev.wix.com/docs/api-reference/business-management/multilingual/translation/introduction) for translation.\n * @format GUID\n * @immutable\n */\n _id?: string;\n /** Media content associated with this option. */\n media?: MediaItem;\n}\n\nexport interface ComponentsTags {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * List of options the submitter can select from.\n * @maxSize 400\n */\n options?: TagsOption[];\n /**\n * Whether to display the label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /** Custom option which can be specified by the submitter. */\n customOption?: CustomOption;\n /**\n * Specifies the number of columns used to display the selections within the component.\n *\n * Default: `ONE`\n */\n numberOfColumns?: NumberOfColumnsWithLiterals;\n /** Media item. Media, associated with field, like image. */\n media?: MediaItem;\n /** Configuration for the media item. */\n mediaSettings?: MediaSettings;\n}\n\nexport interface TagsOption {\n /**\n * Selectable option label.\n * @maxLength 400\n */\n label?: string | null;\n /** Value stored on submission when this option is selected. */\n value?: any;\n /** Flag identifying that option should be selected by default. */\n default?: boolean;\n /**\n * Option id. Used as binding for translations\n * @format GUID\n * @immutable\n */\n _id?: string;\n /** Media content associated with the option, such as an image. */\n media?: MediaItem;\n}\n\nexport interface ServicesCheckboxGroup {\n /**\n * Label of the field\n * @maxLength 350\n */\n label?: string | null;\n /** Description of the field */\n description?: RichContent;\n /**\n * List of options to select from\n * @maxSize 100\n */\n options?: ServiceOption[];\n /**\n * Flag identifying to hide or not label\n * Default: true\n */\n showLabel?: boolean | null;\n /** Option which can be specified by UoU, enabled when this object is specified. */\n customOption?: CustomOption;\n /**\n * Specifies the number of columns used to display the selections within the component.\n * Default: ONE\n */\n numberOfColumns?: NumberOfColumnsWithLiterals;\n}\n\nexport enum WixFileComponentType {\n /** Unknown component type. */\n UNKNOWN_COMPONENT_TYPE = 'UNKNOWN_COMPONENT_TYPE',\n /** File upload component. */\n FILE_UPLOAD = 'FILE_UPLOAD',\n /** Signature component. */\n SIGNATURE = 'SIGNATURE',\n}\n\n/** @enumType */\nexport type WixFileComponentTypeWithLiterals =\n | WixFileComponentType\n | 'UNKNOWN_COMPONENT_TYPE'\n | 'FILE_UPLOAD'\n | 'SIGNATURE';\n\nexport interface FileType {\n /**\n * Maximum number of files that can be uploaded.\n * @min 1\n * @max 30\n */\n fileLimit?: number;\n /**\n * Supported file formats for uploaded files.\n * @maxSize 6\n */\n uploadFileFormats?: UploadFileFormatWithLiterals[];\n}\n\nexport enum UploadFileFormat {\n /** Video files. */\n VIDEO = 'VIDEO',\n /** Image files. */\n IMAGE = 'IMAGE',\n /** Audio files. */\n AUDIO = 'AUDIO',\n /** Document files. */\n DOCUMENT = 'DOCUMENT',\n /** Archive files. */\n ARCHIVE = 'ARCHIVE',\n /** 3D model files. */\n MODEL_3D = 'MODEL_3D',\n}\n\n/** @enumType */\nexport type UploadFileFormatWithLiterals =\n | UploadFileFormat\n | 'VIDEO'\n | 'IMAGE'\n | 'AUDIO'\n | 'DOCUMENT'\n | 'ARCHIVE'\n | 'MODEL_3D';\n\nexport interface FileUpload {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /**\n * Text displayed on the upload button.\n * @maxLength 500\n */\n buttonText?: string | null;\n /**\n * Custom text displayed when a file is uploaded. If not specified, the file name is shown.\n * @maxLength 255\n */\n explanationText?: string | null;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n}\n\nexport interface Signature {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /** Whether image upload is enabled for the signature field. */\n imageUploadEnabled?: boolean;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media item. */\n mediaSettings?: MediaSettings;\n}\n\nexport enum PaymentComponentType {\n /** Unknown component type. */\n UNKNOWN_COMPONENT_TYPE = 'UNKNOWN_COMPONENT_TYPE',\n /** Checkbox group component. */\n CHECKBOX_GROUP = 'CHECKBOX_GROUP',\n /** Donation input component. */\n DONATION_INPUT = 'DONATION_INPUT',\n /** Payment input component. */\n PAYMENT_INPUT = 'PAYMENT_INPUT',\n /** Fixed payment component. */\n FIXED_PAYMENT = 'FIXED_PAYMENT',\n}\n\n/** @enumType */\nexport type PaymentComponentTypeWithLiterals =\n | PaymentComponentType\n | 'UNKNOWN_COMPONENT_TYPE'\n | 'CHECKBOX_GROUP'\n | 'DONATION_INPUT'\n | 'PAYMENT_INPUT'\n | 'FIXED_PAYMENT';\n\nexport interface ProductCheckboxGroup {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * List of product options the submitter can select from.\n * @maxSize 400\n */\n options?: ProductCheckboxGroupOption[];\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /**\n * How an image should be resized to fit within its option container.\n *\n * Default: `COVER`\n */\n imageFit?: ImageFitWithLiterals;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n}\n\nexport interface ProductCheckboxGroupOption {\n /**\n * Selectable option label.\n * @maxLength 400\n */\n label?: string | null;\n /** Value stored on submission when this option is selected. Must match a product ID found in the field's products list. */\n value?: any;\n /**\n * Option ID. Can be used to connect this option with [Wix Multilingual](https://dev.wix.com/docs/api-reference/business-management/multilingual/translation/introduction) for translation.\n * @format GUID\n * @immutable\n */\n _id?: string;\n /** Media content associated with this option, such as an image. */\n media?: MediaItem;\n /** Whether this option is selected by default. */\n default?: boolean;\n}\n\nexport interface DonationInput {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * List of donation amount options the submitter can select from.\n * @maxSize 400\n */\n options?: DonationInputOption[];\n /** Custom option which can be specified by the submitter. */\n customOption?: CustomOption;\n /**\n * Specifies the number of columns used to display the selections within the component.\n *\n * Default: `ONE`\n */\n numberOfColumns?: NumberOfColumnsWithLiterals;\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n}\n\nexport interface DonationInputOption {\n /**\n * Value stored on submission when this option is selected. Must match a product ID found in the field's products list.\n * @format GUID\n */\n value?: string;\n /** Whether this option is selected by default. */\n default?: boolean;\n}\n\nexport interface PaymentInput {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /**\n * Placeholder text shown inside the field when it's empty.\n * @maxLength 100\n */\n placeholder?: string | null;\n /** Default value for the field. This value is pre-populated in the field when the form loads. */\n default?: number | null;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n}\n\nexport interface FixedPayment {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n}\n\nexport enum ComponentType {\n /** Unknown component type. */\n UNKNOWN_COMPONENT_TYPE = 'UNKNOWN_COMPONENT_TYPE',\n /** Multiline address component. */\n MULTILINE_ADDRESS = 'MULTILINE_ADDRESS',\n}\n\n/** @enumType */\nexport type ComponentTypeWithLiterals =\n | ComponentType\n | 'UNKNOWN_COMPONENT_TYPE'\n | 'MULTILINE_ADDRESS';\n\nexport interface MultilineAddress {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /** Whether to display country flags in the country selection. */\n showCountryFlags?: boolean;\n /** Default country configuration for the address field. */\n defaultCountryConfig?: DefaultCountryConfig;\n /** Fields settings. */\n fieldSettings?: FieldsSettings;\n /** Whether autocomplete is enabled for the address line field. */\n autocompleteEnabled?: boolean;\n /**\n * Flag identifying whether to show or hide the address labels.\n * Default: true\n */\n showAddressLabels?: boolean | null;\n /**\n * Flag identifying whether to show or hide the label.\n * Default: true\n */\n showLabel?: boolean | null;\n}\n\nexport enum Type {\n /** Unknown default country configuration type. */\n UNKNOWN_DEFAULT_COUNTRY = 'UNKNOWN_DEFAULT_COUNTRY',\n /** Country is determined by the submitter's IP address. */\n BY_IP = 'BY_IP',\n /** Pre-selected default country. */\n COUNTRY = 'COUNTRY',\n}\n\n/** @enumType */\nexport type TypeWithLiterals =\n | Type\n | 'UNKNOWN_DEFAULT_COUNTRY'\n | 'BY_IP'\n | 'COUNTRY';\n\nexport interface AddressLine2 {\n /** Whether to display the address line 2 field. */\n show?: boolean;\n}\n\nexport interface DefaultCountryConfig extends DefaultCountryConfigOptionsOneOf {\n /**\n * Country code for the pre-selected default country. Two-letter country code in ISO-3166 alpha-2 format.\n * @format COUNTRY\n */\n countryOptions?: string;\n /** Default country type. */\n type?: TypeWithLiterals;\n}\n\n/** @oneof */\nexport interface DefaultCountryConfigOptionsOneOf {\n /**\n * Country code for the pre-selected default country. Two-letter country code in ISO-3166 alpha-2 format.\n * @format COUNTRY\n */\n countryOptions?: string;\n}\n\nexport interface FieldsSettings {\n /** Configuration for the address line 2 field. */\n addressLine2?: AddressLine2;\n}\n\nexport enum ObjectArrayComponentType {\n /** Unknown component type. */\n UNKNOWN_COMPONENT_TYPE = 'UNKNOWN_COMPONENT_TYPE',\n /** Repeater component. */\n REPEATER = 'REPEATER',\n}\n\n/** @enumType */\nexport type ObjectArrayComponentTypeWithLiterals =\n | ObjectArrayComponentType\n | 'UNKNOWN_COMPONENT_TYPE'\n | 'REPEATER';\n\nexport interface Repeater {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * Whether to display the label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /**\n * Form fields that define the input elements inside repeater.\n * @maxSize 10\n */\n fields?: Field[];\n /** Layout configuration that defines how form fields are arranged within this repeater. */\n layout?: FormLayout;\n}\n\nexport interface FormLayout {\n /** Layout configuration for large screen breakpoints (desktop). */\n large?: BreakPoint;\n /** Layout configuration for medium screen breakpoints (tablet). */\n medium?: BreakPoint;\n /** Layout configuration for small screen breakpoints (mobile). */\n small?: BreakPoint;\n}\n\nexport interface BreakPoint {\n /**\n * Configuration for the layout of items in the breakpoint.\n * @maxSize 500\n */\n items?: ItemLayout[];\n /** Number of columns in the layout grid. */\n columns?: number | null;\n /** Height of each row in the layout grid, measured in pixels. */\n rowHeight?: number | null;\n /** Margin spacing configuration for the form elements. */\n margin?: Margin;\n /** Padding spacing inside form elements in pixels. */\n padding?: Margin;\n}\n\nexport interface ItemLayout extends ItemLayoutItemOneOf {\n /**\n * ID of the form field to be positioned in the layout.\n * @format GUID\n */\n fieldId?: string;\n /** Group configuration for positioning multiple fields as a single layout unit. */\n group?: Group;\n /** Row position in the grid where this item is placed. */\n row?: number | null;\n /** Column position in the grid where this item is placed. */\n column?: number | null;\n /** Width of the item in grid units. */\n width?: number | null;\n /** Height of the item in grid units. */\n height?: number | null;\n}\n\n/** @oneof */\nexport interface ItemLayoutItemOneOf {\n /**\n * ID of the form field to be positioned in the layout.\n * @format GUID\n */\n fieldId?: string;\n /** Group configuration for positioning multiple fields as a single layout unit. */\n group?: Group;\n}\n\nexport interface Group {\n /**\n * ID of the field group.\n * @format GUID\n */\n groupId?: string;\n /**\n * Layout configuration for individual items within this group.\n * @minSize 1\n * @maxSize 500\n */\n items?: ItemLayout[];\n}\n\nexport interface Margin {\n /** Horizontal spacing in pixels. */\n horizontal?: number | null;\n /** Vertical spacing in pixels. */\n vertical?: number | null;\n}\n\nexport interface Section {\n /**\n * Section ID.\n * @format GUID\n * @minLength 1\n */\n _id?: string;\n /** Row position where this section is placed in the grid. */\n row?: number | null;\n /**\n * A list of field IDs that can be placed within the section.\n * The section only accepts fields with IDs specified in this list.\n * If the `$new` key is contained in this list, the section allows the inclusion of fields not explicitly listed, enabling dynamic addition of new fields.\n * @maxSize 100\n * @maxLength 100\n */\n allowedFieldIds?: string[];\n}\n\nexport enum SchedulingComponentType {\n /** Unknown component type. */\n UNKNOWN_COMPONENT_TYPE = 'UNKNOWN_COMPONENT_TYPE',\n /** Appointment component. */\n APPOINTMENT = 'APPOINTMENT',\n}\n\n/** @enumType */\nexport type SchedulingComponentTypeWithLiterals =\n | SchedulingComponentType\n | 'UNKNOWN_COMPONENT_TYPE'\n | 'APPOINTMENT';\n\nexport interface Appointment extends AppointmentFormatInfoOneOf {\n /** Configuration for in-person appointments. */\n inPersonOptions?: InPersonOptions;\n /** Configuration for video conference appointments. */\n videoConferenceOptions?: VideoConferenceOptions;\n /** Configuration for phone appointments. */\n phoneOptions?: PhoneOptions;\n /**\n * Field label.\n * @maxLength 255\n */\n label?: string | null;\n /**\n * Appointment name.\n * @minLength 1\n * @maxLength 400\n */\n name?: string | null;\n /**\n * Duration of the appointment in minutes.\n * @min 1\n * @max 44639\n */\n durationInMinutes?: number | null;\n /** Whether appointments require manual approval before confirmation. */\n manualApprovalRequired?: boolean | null;\n /**\n * IDs of staff members who provide this service.\n * @maxSize 220\n * @format GUID\n */\n staffIds?: string[] | null;\n /** Appointment format. */\n format?: FormatWithLiterals;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n}\n\n/** @oneof */\nexport interface AppointmentFormatInfoOneOf {\n /** Configuration for in-person appointments. */\n inPersonOptions?: InPersonOptions;\n /** Configuration for video conference appointments. */\n videoConferenceOptions?: VideoConferenceOptions;\n /** Configuration for phone appointments. */\n phoneOptions?: PhoneOptions;\n}\n\nexport interface Location extends LocationLocationInfoOneOf {\n /**\n * Custom address specified as a text string.\n * @maxLength 512\n */\n customAddress?: string | null;\n /**\n * ID of a predefined business [location](https://dev.wix.com/docs/rest/crm/members-contacts/locations/locations/introduction).\n * @format GUID\n */\n businessLocationId?: string | null;\n}\n\n/** @oneof */\nexport interface LocationLocationInfoOneOf {\n /**\n * Custom address specified as a text string.\n * @maxLength 512\n */\n customAddress?: string | null;\n /**\n * ID of a predefined business [location](https://dev.wix.com/docs/rest/crm/members-contacts/locations/locations/introduction).\n * @format GUID\n */\n businessLocationId?: string | null;\n}\n\nexport enum Format {\n /** Face-to-face meeting at a physical location. */\n IN_PERSON = 'IN_PERSON',\n /** Online meeting via video conference. */\n VIDEO_CONFERENCE = 'VIDEO_CONFERENCE',\n /** Appointment conducted over the phone. */\n PHONE = 'PHONE',\n}\n\n/** @enumType */\nexport type FormatWithLiterals =\n | Format\n | 'IN_PERSON'\n | 'VIDEO_CONFERENCE'\n | 'PHONE';\n\nexport enum MeetingType {\n /** Single staff member provides the service. */\n SINGLE_STAFF = 'SINGLE_STAFF',\n /** Multiple staff members rotate via round robin scheduling. */\n ROUND_ROBIN = 'ROUND_ROBIN',\n}\n\n/** @enumType */\nexport type MeetingTypeWithLiterals =\n | MeetingType\n | 'SINGLE_STAFF'\n | 'ROUND_ROBIN';\n\nexport enum StaffStrategySelection {\n /** Staff selected randomly. */\n AUTOMATIC = 'AUTOMATIC',\n /** Staff sorted by priority, highest first. */\n HIGH_TO_LOW_PRIORITY = 'HIGH_TO_LOW_PRIORITY',\n /** Staff sorted by priority, lowest first. */\n LOW_TO_HIGH_PRIORITY = 'LOW_TO_HIGH_PRIORITY',\n}\n\n/** @enumType */\nexport type StaffStrategySelectionWithLiterals =\n | StaffStrategySelection\n | 'AUTOMATIC'\n | 'HIGH_TO_LOW_PRIORITY'\n | 'LOW_TO_HIGH_PRIORITY';\n\nexport interface InPersonOptions {\n /**\n * Physical locations where the appointment can take place.\n * @minSize 1\n * @maxSize 1\n */\n locations?: Location[];\n}\n\nexport interface VideoConferenceOptions {\n /**\n * Description or instructions for video conference appointments.\n * @maxLength 512\n */\n description?: string | null;\n}\n\nexport interface PhoneOptions {\n /**\n * Description or instructions for phone appointments.\n * @maxLength 512\n */\n description?: string | null;\n}\n\nexport enum InputType {\n /** Unknown input type. */\n UNKNOWN_INPUT_TYPE = 'UNKNOWN_INPUT_TYPE',\n /** String input. */\n STRING = 'STRING',\n /** Numeric input. */\n NUMBER = 'NUMBER',\n /** Boolean input. */\n BOOLEAN = 'BOOLEAN',\n /** Array input. */\n ARRAY = 'ARRAY',\n /** Object input. */\n OBJECT = 'OBJECT',\n /** File upload input. */\n WIX_FILE = 'WIX_FILE',\n /** Payment input. */\n PAYMENT = 'PAYMENT',\n /** Scheduling input. */\n SCHEDULING = 'SCHEDULING',\n /** Address input. */\n ADDRESS = 'ADDRESS',\n}\n\n/** @enumType */\nexport type InputTypeWithLiterals =\n | InputType\n | 'UNKNOWN_INPUT_TYPE'\n | 'STRING'\n | 'NUMBER'\n | 'BOOLEAN'\n | 'ARRAY'\n | 'OBJECT'\n | 'WIX_FILE'\n | 'PAYMENT'\n | 'SCHEDULING'\n | 'ADDRESS';\n\nexport interface FormFieldContactInfo\n extends FormFieldContactInfoAdditionalInfoOneOf {\n /** Configuration for email contact fields. */\n emailInfo?: EmailInfo;\n /** Configuration for phone contact fields. */\n phoneInfo?: PhoneInfo;\n /** Configuration for address contact fields. */\n addressInfo?: AddressInfo;\n /** Configuration for custom contact fields. */\n customFieldInfo?: CustomFieldInfo;\n /** Configuration for subscription contact fields. */\n subscriptionInfo?: SubscriptionInfo;\n /** The [Contact](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/contacts/introduction) field that this form field maps to. */\n contactField?: ContactFieldWithLiterals;\n}\n\n/** @oneof */\nexport interface FormFieldContactInfoAdditionalInfoOneOf {\n /** Configuration for email contact fields. */\n emailInfo?: EmailInfo;\n /** Configuration for phone contact fields. */\n phoneInfo?: PhoneInfo;\n /** Configuration for address contact fields. */\n addressInfo?: AddressInfo;\n /** Configuration for custom contact fields. */\n customFieldInfo?: CustomFieldInfo;\n /** Configuration for subscription contact fields. */\n subscriptionInfo?: SubscriptionInfo;\n}\n\nexport enum EmailInfoTag {\n /** Untagged email address. */\n UNTAGGED = 'UNTAGGED',\n /** Primary email address for the contact. */\n MAIN = 'MAIN',\n}\n\n/** @enumType */\nexport type EmailInfoTagWithLiterals = EmailInfoTag | 'UNTAGGED' | 'MAIN';\n\nexport enum PhoneInfoTag {\n /** Untagged phone number. */\n UNTAGGED = 'UNTAGGED',\n /** Primary phone number for the contact. */\n MAIN = 'MAIN',\n}\n\n/** @enumType */\nexport type PhoneInfoTagWithLiterals = PhoneInfoTag | 'UNTAGGED' | 'MAIN';\n\nexport enum Tag {\n /** Untagged address. */\n UNTAGGED = 'UNTAGGED',\n /** Home address. */\n HOME = 'HOME',\n}\n\n/** @enumType */\nexport type TagWithLiterals = Tag | 'UNTAGGED' | 'HOME';\n\nexport enum ConfirmationLevel {\n /** Unknown confirmation level. */\n UNKNOWN_CONFIRMATION_LEVEL = 'UNKNOWN_CONFIRMATION_LEVEL',\n /** Single confirmation level. */\n SINGLE_CONFIRMATION = 'SINGLE_CONFIRMATION',\n /** Double confirmation level. */\n DOUBLE_CONFIRMATION = 'DOUBLE_CONFIRMATION',\n}\n\n/** @enumType */\nexport type ConfirmationLevelWithLiterals =\n | ConfirmationLevel\n | 'UNKNOWN_CONFIRMATION_LEVEL'\n | 'SINGLE_CONFIRMATION'\n | 'DOUBLE_CONFIRMATION';\n\nexport enum SubscriptionChannel {\n /** Email subscription channel. */\n EMAIL = 'EMAIL',\n /** SMS subscription channel. */\n SMS = 'SMS',\n}\n\n/** @enumType */\nexport type SubscriptionChannelWithLiterals =\n | SubscriptionChannel\n | 'EMAIL'\n | 'SMS';\n\nexport enum ContactField {\n /** Contact's first name. */\n FIRST_NAME = 'FIRST_NAME',\n /** Contact's last name. */\n LAST_NAME = 'LAST_NAME',\n /** Contact's company or organization. */\n COMPANY = 'COMPANY',\n /** Contact's job title or position. */\n POSITION = 'POSITION',\n /** Contact's email address. */\n EMAIL = 'EMAIL',\n /** Contact's phone number. */\n PHONE = 'PHONE',\n /** Contact's physical address. */\n ADDRESS = 'ADDRESS',\n /** Contact's birth date. */\n BIRTHDATE = 'BIRTHDATE',\n /** Custom contact field defined by the site owner. */\n CUSTOM_FIELD = 'CUSTOM_FIELD',\n /** Contact's subscription preferences. */\n SUBSCRIPTION = 'SUBSCRIPTION',\n /** Contact's VAT identification number. */\n VAT_ID = 'VAT_ID',\n}\n\n/** @enumType */\nexport type ContactFieldWithLiterals =\n | ContactField\n | 'FIRST_NAME'\n | 'LAST_NAME'\n | 'COMPANY'\n | 'POSITION'\n | 'EMAIL'\n | 'PHONE'\n | 'ADDRESS'\n | 'BIRTHDATE'\n | 'CUSTOM_FIELD'\n | 'SUBSCRIPTION'\n | 'VAT_ID';\n\nexport interface EmailInfo {\n /** Email categorization tag. */\n tag?: EmailInfoTagWithLiterals;\n}\n\nexport interface PhoneInfo {\n /** Phone number categorization tag. */\n tag?: PhoneInfoTagWithLiterals;\n}\n\nexport interface AddressInfo {\n /** Address categorization tag. */\n tag?: TagWithLiterals;\n}\n\nexport interface CustomFieldInfo {\n /**\n * Custom field key.\n * @minLength 1\n * @maxLength 500\n */\n key?: string;\n}\n\nexport interface SubscriptionInfo {\n /**\n * Subscription consent opt-in level, either single or double confirmation.\n * Default: `SINGLE_CONFIRMATION`\n */\n confirmationLevel?: ConfirmationLevelWithLiterals;\n /**\n * Subscription channels.\n * When not specified, defaults to `EMAIL`.\n * @maxSize 2\n */\n subscriptionChannels?: SubscriptionChannelWithLiterals[];\n}\n\nexport interface _String extends _StringComponentTypeOptionsOneOf {\n /** Text input component settings. */\n textInputOptions?: TextInput;\n /** Radio group component settings. */\n radioGroupOptions?: RadioGroup;\n /** Dropdown component settings. */\n dropdownOptions?: Dropdown;\n /** Date and time input component settings. */\n dateTimeOptions?: DateTimeInput;\n /** Phone input component settings. */\n phoneInputOptions?: PhoneInput;\n /** Date input component settings. */\n dateInputOptions?: DateInput;\n /** Time input component settings. */\n timeInputOptions?: TimeInput;\n /** Date picker component settings. */\n datePickerOptions?: DatePicker;\n /** Services dropdown component settings. */\n servicesDropdownOptions?: ServicesDropdown;\n /** Password component settings. */\n passwordOptions?: Password;\n /** Validation configuration for the string input. */\n validation?: StringType;\n /**\n * Component type of the string input field.\n * @readonly\n */\n componentType?: StringComponentTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface _StringComponentTypeOptionsOneOf {\n /** Text input component settings. */\n textInputOptions?: TextInput;\n /** Radio group component settings. */\n radioGroupOptions?: RadioGroup;\n /** Dropdown component settings. */\n dropdownOptions?: Dropdown;\n /** Date and time input component settings. */\n dateTimeOptions?: DateTimeInput;\n /** Phone input component settings. */\n phoneInputOptions?: PhoneInput;\n /** Date input component settings. */\n dateInputOptions?: DateInput;\n /** Time input component settings. */\n timeInputOptions?: TimeInput;\n /** Date picker component settings. */\n datePickerOptions?: DatePicker;\n /** Services dropdown component settings. */\n servicesDropdownOptions?: ServicesDropdown;\n /** Password component settings. */\n passwordOptions?: Password;\n}\n\nexport interface _Number extends _NumberComponentTypeOptionsOneOf {\n /** Number input settings. */\n numberInputOptions?: NumberInput;\n /** Rating input settings. */\n ratingInputOptions?: RatingInput;\n /** Validation configuration for the number input. */\n validation?: NumberType;\n /**\n * Component type of the number input field.\n * @readonly\n */\n componentType?: NumberComponentTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface _NumberComponentTypeOptionsOneOf {\n /** Number input settings. */\n numberInputOptions?: NumberInput;\n /** Rating input settings. */\n ratingInputOptions?: RatingInput;\n}\n\nexport interface _Boolean extends _BooleanComponentTypeOptionsOneOf {\n /** Checkbox component settings. */\n checkboxOptions?: Checkbox;\n /** Validation configuration for the boolean input. */\n validation?: BooleanType;\n /**\n * Component type of the boolean input field.\n * @readonly\n */\n componentType?: BooleanComponentTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface _BooleanComponentTypeOptionsOneOf {\n /** Checkbox component settings. */\n checkboxOptions?: Checkbox;\n}\n\nexport interface _Array extends _ArrayComponentTypeOptionsOneOf {\n /** Checkbox group component settings. */\n checkboxGroupOptions?: CheckboxGroup;\n /** Tags component settings. */\n tagsOptions?: ComponentsTags;\n /** Services checkbox group input field */\n servicesCheckboxGroupOptions?: ServicesCheckboxGroup;\n /** Validation configuration for the array input. */\n validation?: ArrayType;\n /**\n * Component type of the array input field.\n * @readonly\n */\n componentType?: ArrayComponentTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface _ArrayComponentTypeOptionsOneOf {\n /** Checkbox group component settings. */\n checkboxGroupOptions?: CheckboxGroup;\n /** Tags component settings. */\n tagsOptions?: ComponentsTags;\n /** Services checkbox group input field */\n servicesCheckboxGroupOptions?: ServicesCheckboxGroup;\n}\n\nexport interface _Object {\n /** Validation configuration for the object input. */\n validation?: ObjectType;\n}\n\nexport interface WixFile extends WixFileComponentTypeOptionsOneOf {\n /** File upload component settings. */\n fileUploadOptions?: FileUpload;\n /** Signature component settings. */\n signatureOptions?: Signature;\n /**\n * Component type of the file input field.\n * @readonly\n */\n componentType?: WixFileComponentTypeWithLiterals;\n /** Validation configuration for the file input. */\n validation?: FileType;\n}\n\n/** @oneof */\nexport interface WixFileComponentTypeOptionsOneOf {\n /** File upload component settings. */\n fileUploadOptions?: FileUpload;\n /** Signature component settings. */\n signatureOptions?: Signature;\n}\n\nexport interface Payment extends PaymentComponentTypeOptionsOneOf {\n /** Checkbox group component settings. */\n checkboxGroupOptions?: ProductCheckboxGroup;\n /** Donation input component settings. */\n donationInputOptions?: DonationInput;\n /** Payment input component settings. */\n paymentInputOptions?: PaymentInput;\n /** Fixed payment component settings. */\n fixedPaymentOptions?: FixedPayment;\n /**\n * Component type of the payment input field.\n * @readonly\n */\n componentType?: PaymentComponentTypeWithLiterals;\n /** Validation configuration for the payment input. */\n validation?: PaymentType;\n}\n\n/** @oneof */\nexport interface PaymentComponentTypeOptionsOneOf {\n /** Checkbox group component settings. */\n checkboxGroupOptions?: ProductCheckboxGroup;\n /** Donation input component settings. */\n donationInputOptions?: DonationInput;\n /** Payment input component settings. */\n paymentInputOptions?: PaymentInput;\n /** Fixed payment component settings. */\n fixedPaymentOptions?: FixedPayment;\n}\n\nexport interface Scheduling extends SchedulingComponentTypeOptionsOneOf {\n /** Appointment component settings. */\n appointmentOptions?: Appointment;\n /**\n * Component type of the scheduling field.\n * @readonly\n */\n componentType?: SchedulingComponentTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface SchedulingComponentTypeOptionsOneOf {\n /** Appointment component settings. */\n appointmentOptions?: Appointment;\n}\n\nexport interface Address extends AddressComponentTypeOptionsOneOf {\n /** Multiline address component settings. */\n multilineAddressOptions?: MultilineAddress;\n /**\n * Component type of the multiline address field.\n * @readonly\n */\n componentType?: ComponentTypeWithLiterals;\n /** Validation configuration for the multiline address input. */\n validation?: MultilineAddressValidation;\n}\n\n/** @oneof */\nexport interface AddressComponentTypeOptionsOneOf {\n /** Multiline address component settings. */\n multilineAddressOptions?: MultilineAddress;\n}\n\nexport interface ObjectArray extends ObjectArrayComponentTypeOptionsOneOf {\n /** Repeater component settings. */\n repeaterOptions?: Repeater;\n /**\n * Component type of the object array input.\n * @readonly\n */\n componentType?: ObjectArrayComponentTypeWithLiterals;\n /** Validation configuration for the object array input. */\n validation?: ObjectArrayType;\n}\n\n/** @oneof */\nexport interface ObjectArrayComponentTypeOptionsOneOf {\n /** Repeater component settings. */\n repeaterOptions?: Repeater;\n}\n\nexport interface DisplayField extends DisplayFieldDisplayFieldTypeOptionsOneOf {\n /** Configuration for rich content display fields. */\n richContentOptions?: RichContentOptions;\n /** Configuration for page navigation display fields such as navigation or submit buttons. */\n pageNavigationOptions?: PageNavigationOptions;\n /** Type of display field that determines its appearance and behavior. */\n displayFieldType?: DisplayFieldTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface DisplayFieldDisplayFieldTypeOptionsOneOf {\n /** Configuration for rich content display fields. */\n richContentOptions?: RichContentOptions;\n /** Configuration for page navigation display fields such as navigation or submit buttons. */\n pageNavigationOptions?: PageNavigationOptions;\n}\n\nexport enum DisplayFieldType {\n /** Unknown field type. */\n UNKNOWN_FIELD_TYPE = 'UNKNOWN_FIELD_TYPE',\n /** Rich content display field. */\n RICH_CONTENT = 'RICH_CONTENT',\n /** Page navigation display field. */\n PAGE_NAVIGATION = 'PAGE_NAVIGATION',\n /** Login bar display field. */\n LOGIN_BAR = 'LOGIN_BAR',\n}\n\n/** @enumType */\nexport type DisplayFieldTypeWithLiterals =\n | DisplayFieldType\n | 'UNKNOWN_FIELD_TYPE'\n | 'RICH_CONTENT'\n | 'PAGE_NAVIGATION'\n | 'LOGIN_BAR';\n\nexport interface RichContentOptions {\n /** Rich content to display in the field. */\n richContent?: RichContent;\n /**\n * Maximum number of paragraphs to show initially.\n * Additional content is hidden behind an expandable section. If not specified, all content is visible.\n */\n maxShownParagraphs?: number | null;\n}\n\nexport interface PageNavigationOptions {\n /**\n * Text displayed on the button when it navigates to the next page.\n * Only applicable when the button is not on the final form page.\n * @maxLength 65\n */\n nextPageText?: string | null;\n /**\n * Text displayed on the button when it navigates to the previous page.\n * Only applicable when the button is not on the first form page.\n * @maxLength 65\n */\n previousPageText?: string | null;\n /**\n * Text displayed on the button when it submits the form.\n * Only applicable when the button is on the final form page.\n * @maxLength 65\n */\n submitText?: string | null;\n}\n\nexport interface Step {\n /**\n * Step ID.\n * @format GUID\n * @immutable\n */\n _id?: string;\n /**\n * Name of the step.\n * @maxLength 200\n */\n name?: string | null;\n /** Whether the step is hidden. */\n hidden?: boolean;\n /** Layout configuration that defines how form fields are arranged within this step. */\n layout?: FormLayout;\n}\n\nexport interface FormRule {\n /**\n * Rule ID.\n * @format GUID\n * @immutable\n */\n _id?: string;\n /** Condition that determines when this rule's overrides should be applied. */\n condition?: Record<string, any> | null;\n /**\n * Changes to apply to form elements when the condition evaluates to true.\n * @maxSize 500\n */\n overrides?: FormOverride[];\n /**\n * Name for the rule.\n * @maxLength 200\n */\n name?: string | null;\n /**\n * Namespace rules are part of business logic of app owning namespace, have limited editing possibilities\n * @immutable\n */\n namespaceRule?: boolean | null;\n}\n\nexport enum OverrideEntityType {\n /** Unknown override entity type. */\n UNKNOWN = 'UNKNOWN',\n /** Override applies to a form field. */\n FIELD = 'FIELD',\n}\n\n/** @enumType */\nexport type OverrideEntityTypeWithLiterals =\n | OverrideEntityType\n | 'UNKNOWN'\n | 'FIELD';\n\nexport interface FormOverride {\n /**\n * Type of form element that this override targets.\n * @immutable\n */\n entityType?: OverrideEntityTypeWithLiterals;\n /**\n * ID of the form element to modify.\n * For nested form fields, use the format: \"{fieldIdWithNestedForm}/{nestedFormFieldId}\".\n * @immutable\n * @maxLength 73\n */\n entityId?: string | null;\n /**\n * Property changes to apply to the form element when the rule condition is met.\n * Each key represents a property path, and the value is the new value to set.\n */\n valueChanges?: Record<string, any>;\n}\n\nexport interface FormProperties {\n /**\n * Form name.\n * @maxLength 200\n * @deprecated\n * @replacedBy wix.forms.v4.Form.name\n * @targetRemovalDate 2026-01-06\n */\n name?: string | null;\n /**\n * Identifies if the form is disabled.\n * @deprecated Identifies if the form is disabled.\n * @replacedBy wix.forms.v4.Form.enabled\n * @targetRemovalDate 2026-01-06\n */\n disabled?: boolean;\n}\n\nexport enum Kind {\n /** Return forms specific to tenant, excluding template based forms. */\n REGULAR = 'REGULAR',\n /** Return forms based on common templates, with applied user overrides if they exist. */\n EXTENSION = 'EXTENSION',\n}\n\n/** @enumType */\nexport type KindWithLiterals = Kind | 'REGULAR' | 'EXTENSION';\n\nexport interface PostSubmissionTriggers {\n /** Upserts a [contact](https://support.wix.com/en/article/about-your-contact-list) to the Wix site from the form submission data. */\n upsertContact?: UpsertContact;\n}\n\nexport interface UpsertContact {\n /**\n * Fields mapping between the form fields and the contact fields.\n *\n * This is the target form field mapped to the corresponding contact field.\n *\n * The key is the form field ID, and the value is the contact field.\n * @maxSize 250\n */\n fieldsMapping?: Record<string, V4FormFieldContactInfo>;\n /**\n * List of [labels](https://support.wix.com/en/article/creating-contact-labels) to add to the contact to help categorize it.\n * @minLength 1\n * @maxLength 100\n * @maxSize 20\n */\n labels?: string[];\n}\n\nexport interface V4FormFieldContactInfo\n extends V4FormFieldContactInfoAdditionalInfoOneOf {\n /** Email info. */\n emailInfo?: FormFieldContactInfoEmailInfo;\n /** Phone info. */\n phoneInfo?: FormFieldContactInfoPhoneInfo;\n /** Address info. */\n addressInfo?: FormFieldContactInfoAddressInfo;\n /** Custom field info. */\n customFieldInfo?: FormFieldContactInfoCustomFieldInfo;\n /** Subscription info. */\n subscriptionInfo?: FormFieldContactInfoSubscriptionInfo;\n /** The contact field that the form field maps to. */\n contactField?: FormFieldContactInfoContactFieldWithLiterals;\n}\n\n/** @oneof */\nexport interface V4FormFieldContactInfoAdditionalInfoOneOf {\n /** Email info. */\n emailInfo?: FormFieldContactInfoEmailInfo;\n /** Phone info. */\n phoneInfo?: FormFieldContactInfoPhoneInfo;\n /** Address info. */\n addressInfo?: FormFieldContactInfoAddressInfo;\n /** Custom field info. */\n customFieldInfo?: FormFieldContactInfoCustomFieldInfo;\n /** Subscription info. */\n subscriptionInfo?: FormFieldContactInfoSubscriptionInfo;\n}\n\nexport enum FormFieldContactInfoEmailInfoTag {\n /** Email without a specific tag. */\n UNTAGGED = 'UNTAGGED',\n /** Primary email address for the contact. */\n MAIN = 'MAIN',\n}\n\n/** @enumType */\nexport type FormFieldContactInfoEmailInfoTagWithLiterals =\n | FormFieldContactInfoEmailInfoTag\n | 'UNTAGGED'\n | 'MAIN';\n\nexport enum FormFieldContactInfoPhoneInfoTag {\n /** Phone number without a specific tag. */\n UNTAGGED = 'UNTAGGED',\n /** Primary phone number for the contact. */\n MAIN = 'MAIN',\n}\n\n/** @enumType */\nexport type FormFieldContactInfoPhoneInfoTagWithLiterals =\n | FormFieldContactInfoPhoneInfoTag\n | 'UNTAGGED'\n | 'MAIN';\n\nexport enum AddressInfoTag {\n /** Address without a specific tag. */\n UNTAGGED = 'UNTAGGED',\n /** Home address for the contact. */\n HOME = 'HOME',\n}\n\n/** @enumType */\nexport type AddressInfoTagWithLiterals = AddressInfoTag | 'UNTAGGED' | 'HOME';\n\nexport enum SubscriptionInfoOptInLevel {\n /** Unknown opt-in level. */\n UNKNOWN = 'UNKNOWN',\n /** Single confirmation opt-in. The contact is subscribed immediately. */\n SINGLE_CONFIRMATION = 'SINGLE_CONFIRMATION',\n /** Double confirmation opt-in. The contact must confirm their subscription via email. */\n DOUBLE_CONFIRMATION = 'DOUBLE_CONFIRMATION',\n}\n\n/** @enumType */\nexport type SubscriptionInfoOptInLevelWithLiterals =\n | SubscriptionInfoOptInLevel\n | 'UNKNOWN'\n | 'SINGLE_CONFIRMATION'\n | 'DOUBLE_CONFIRMATION';\n\nexport enum FormFieldContactInfoContactField {\n /** First name. */\n FIRST_NAME = 'FIRST_NAME',\n /** CLast name. */\n LAST_NAME = 'LAST_NAME',\n /** Company name. */\n COMPANY = 'COMPANY',\n /** Job position or title. */\n POSITION = 'POSITION',\n /** Email address. */\n EMAIL = 'EMAIL',\n /** Phone number. */\n PHONE = 'PHONE',\n /** Physical address. */\n ADDRESS = 'ADDRESS',\n /** Birth date. */\n BIRTHDATE = 'BIRTHDATE',\n /** Custom field. */\n CUSTOM_FIELD = 'CUSTOM_FIELD',\n /** Subscription status. */\n SUBSCRIPTION = 'SUBSCRIPTION',\n /** VAT identification number. */\n VAT_ID = 'VAT_ID',\n}\n\n/** @enumType */\nexport type FormFieldContactInfoContactFieldWithLiterals =\n | FormFieldContactInfoContactField\n | 'FIRST_NAME'\n | 'LAST_NAME'\n | 'COMPANY'\n | 'POSITION'\n | 'EMAIL'\n | 'PHONE'\n | 'ADDRESS'\n | 'BIRTHDATE'\n | 'CUSTOM_FIELD'\n | 'SUBSCRIPTION'\n | 'VAT_ID';\n\nexport interface FormFieldContactInfoEmailInfo {\n /** Email tag. */\n tag?: FormFieldContactInfoEmailInfoTagWithLiterals;\n}\n\nexport interface FormFieldContactInfoPhoneInfo {\n /** Phone tag. */\n tag?: FormFieldContactInfoPhoneInfoTagWithLiterals;\n}\n\nexport interface FormFieldContactInfoAddressInfo {\n /** Address tag. */\n tag?: AddressInfoTagWithLiterals;\n}\n\nexport interface FormFieldContactInfoCustomFieldInfo {\n /**\n * Custom field key.\n * @minLength 1\n * @maxLength 500\n */\n key?: string;\n}\n\nexport interface FormFieldContactInfoSubscriptionInfo {\n /**\n * Subscription consent opt-in level.\n * Default: `SINGLE_CONFIRMATION`\n */\n optInLevel?: SubscriptionInfoOptInLevelWithLiterals;\n /**\n * Subscription channels.\n * When not specified, defaults to `EMAIL`.\n * @maxSize 2\n */\n subscriptionChannels?: SubscriptionChannelWithLiterals[];\n}\n\nexport interface NestedForm {\n /**\n * Targets which have this form.\n * @maxSize 10\n * @maxLength 200\n */\n targets?: string[];\n /** Nested form. */\n form?: Form;\n}\n\nexport interface LimitationRule {\n /** Limitation by submission count, disables form when a set amount of submissions is reached. */\n maxAllowedSubmissions?: number | null;\n /** Limitation by submission date, disables form when a set date and time is reached. */\n dateTimeDeadline?: Date | null;\n /**\n * Limitation per user submission count, disables form when a set amount of submissions per user is reached.\n * @min 1\n */\n submissionLimitPerUser?: number | null;\n}\n\nexport enum SpamFilterProtectionLevel {\n /** Unknown spam filter protection level. */\n UNKNOWN = 'UNKNOWN',\n /** No spam filtering. All submissions are accepted without screening. */\n NONE = 'NONE',\n /** Basic spam filtering. Provides minimal protection against obvious spam and the form is open to a high risk of spam submissions. */\n BASIC = 'BASIC',\n /** Advanced spam filtering. Provides comprehensive protection with intelligent screening and the form is open to a low risk of spam submissions. */\n ADVANCED = 'ADVANCED',\n}\n\n/** @enumType */\nexport type SpamFilterProtectionLevelWithLiterals =\n | SpamFilterProtectionLevel\n | 'UNKNOWN'\n | 'NONE'\n | 'BASIC'\n | 'ADVANCED';\n\nexport interface RequiredIndicatorProperties {\n /** Type of visual indicator used to mark required fields. */\n requiredIndicator?: RequiredIndicatorWithLiterals;\n /** Position where the required indicator appears relative to the field title. */\n requiredIndicatorPlacement?: RequiredIndicatorPlacementWithLiterals;\n}\n\nexport enum RequiredIndicator {\n /** Display an asterisk (*) symbol to indicate required fields. */\n ASTERISK = 'ASTERISK',\n /** Display the text \"Required\" to indicate required fields. */\n TEXT = 'TEXT',\n /** No visual indicator is shown for required fields. */\n NONE = 'NONE',\n}\n\n/** @enumType */\nexport type RequiredIndicatorWithLiterals =\n | RequiredIndicator\n | 'ASTERISK'\n | 'TEXT'\n | 'NONE';\n\nexport enum RequiredIndicatorPlacement {\n /** Place the required indicator after the field title. */\n AFTER_FIELD_TITLE = 'AFTER_FIELD_TITLE',\n /** Place the required indicator before the field title. */\n BEFORE_FIELD_TITLE = 'BEFORE_FIELD_TITLE',\n}\n\n/** @enumType */\nexport type RequiredIndicatorPlacementWithLiterals =\n | RequiredIndicatorPlacement\n | 'AFTER_FIELD_TITLE'\n | 'BEFORE_FIELD_TITLE';\n\nexport interface SubmitSettings\n extends SubmitSettingsSubmitSuccessActionOptionsOneOf {\n /** Configuration for displaying a thank you message after submission. */\n thankYouMessageOptions?: ThankYouMessageOptions;\n /** Configuration for redirecting submitters to a URL after submission. */\n redirectOptions?: RedirectOptions;\n /** Configuration for displaying a popup after submission. */\n popupOptions?: PopupOptions;\n /** Action that's triggered after a form is successfully submitted. */\n submitSuccessAction?: SubmitSuccessActionWithLiterals;\n}\n\n/** @oneof */\nexport interface SubmitSettingsSubmitSuccessActionOptionsOneOf {\n /** Configuration for displaying a thank you message after submission. */\n thankYouMessageOptions?: ThankYouMessageOptions;\n /** Configuration for redirecting submitters to a URL after submission. */\n redirectOptions?: RedirectOptions;\n /** Configuration for displaying a popup after submission. */\n popupOptions?: PopupOptions;\n}\n\nexport enum Target {\n /** Unknown target behavior. */\n UNKNOWN_TARGET = 'UNKNOWN_TARGET',\n /** Open the URL in the same browser tab, replacing the current page. */\n SELF = 'SELF',\n /** Open the URL in a new browser tab. */\n BLANK = 'BLANK',\n}\n\n/** @enumType */\nexport type TargetWithLiterals = Target | 'UNKNOWN_TARGET' | 'SELF' | 'BLANK';\n\nexport enum SubmitSuccessAction {\n /** No action is taken after form submission. */\n NO_ACTION = 'NO_ACTION',\n /** Display a thank you message after form submission. */\n THANK_YOU_MESSAGE = 'THANK_YOU_MESSAGE',\n /** Redirect the user to a specified URL after form submission. */\n REDIRECT = 'REDIRECT',\n /** Display a popup after form submission. */\n POPUP = 'POPUP',\n}\n\n/** @enumType */\nexport type SubmitSuccessActionWithLiterals =\n | SubmitSuccessAction\n | 'NO_ACTION'\n | 'THANK_YOU_MESSAGE'\n | 'REDIRECT'\n | 'POPUP';\n\nexport interface ThankYouMessageOptions {\n /**\n * Duration in seconds before the thank you message automatically disappears.\n * If set to 0, the message remains visible until manually dismissed.\n */\n durationInSeconds?: number | null;\n /** Rich content message displayed to users after successful form submission. */\n richContent?: RichContent;\n}\n\nexport interface RedirectOptions {\n /**\n * URL to which the user should be redirected after successfully submitting the form.\n * @maxLength 2000\n */\n redirectUrl?: string | null;\n /** How the redirect URL should be opened in the browser. */\n target?: TargetWithLiterals;\n}\n\nexport interface PopupOptions {\n /**\n * ID of the site popup to open after successful form submission.\n * @maxLength 100\n */\n popupId?: string;\n}\n\nexport interface FieldGroup {\n /**\n * Id of group, on layout\n * @format GUID\n */\n _id?: string;\n /**\n * Label of group\n * @maxLength 350\n */\n label?: string | null;\n}\n\nexport interface Rule {\n /**\n * Rule ID.\n * @format GUID\n * @immutable\n */\n _id?: string;\n /**\n * Conditional expression that determines when this rule should be applied.\n * The overrides defined in this rule are applied when this expression evaluates to true.\n */\n expression?: ConditionNode;\n /**\n * Form modifications that are applied when the rule expression evaluates to true.\n * Each override specifies how a form element should be changed.\n * @maxSize 500\n */\n overrides?: RuleFormOverride[];\n /**\n * Human-readable name for the rule.\n * @maxLength 200\n */\n name?: string | null;\n /**\n * Namespace rules are part of business logic of app owning namespace, have limited editing possibilities\n * @immutable\n */\n namespaceRule?: boolean | null;\n}\n\n/** Enum for different types of field properties that can be modified by rules. */\nexport enum ChangeableProperty {\n /** Required property type. */\n REQUIRED = 'REQUIRED',\n /** Hidden property type. */\n HIDDEN = 'HIDDEN',\n /** Allowed values property type. */\n ALLOWED_VALUES = 'ALLOWED_VALUES',\n}\n\n/** @enumType */\nexport type ChangeablePropertyWithLiterals =\n | ChangeableProperty\n | 'REQUIRED'\n | 'HIDDEN'\n | 'ALLOWED_VALUES';\n\nexport interface RequiredOptions {\n /** Whether the field should be required. */\n required?: boolean;\n}\n\nexport interface HiddenOptions {\n /** Whether the field should be hidden. */\n hidden?: boolean;\n}\n\nexport interface AllowedValuesOptions {\n /**\n * List of values that are allowed for the field when this rule is active.\n * Restricts user input to only these predefined options.\n * @maxSize 300\n */\n allowedValues?: any[];\n}\n\nexport enum OverrideEntityTypeEnumOverrideEntityType {\n /** Override applies to a form field. */\n FIELD = 'FIELD',\n}\n\n/** @enumType */\nexport type OverrideEntityTypeEnumOverrideEntityTypeWithLiterals =\n | OverrideEntityTypeEnumOverrideEntityType\n | 'FIELD';\n\nexport interface FieldOverride extends FieldOverridePropertyTypeOptionsOneOf {\n /** Configuration for changing the required property of a field. */\n requiredOptions?: RequiredOptions;\n /** Configuration for changing the visibility property of a field. */\n hiddenOptions?: HiddenOptions;\n /** Configuration for changing the allowed values of a field. */\n allowedValuesOptions?: AllowedValuesOptions;\n /**\n * ID of the field to be modified by this override.\n * @immutable\n * @format GUID\n */\n fieldId?: string;\n /** The new value for the field property that will be set when the rule conditions are met. */\n propertyType?: ChangeablePropertyWithLiterals;\n}\n\n/** @oneof */\nexport interface FieldOverridePropertyTypeOptionsOneOf {\n /** Configuration for changing the required property of a field. */\n requiredOptions?: RequiredOptions;\n /** Configuration for changing the visibility property of a field. */\n hiddenOptions?: HiddenOptions;\n /** Configuration for changing the allowed values of a field. */\n allowedValuesOptions?: AllowedValuesOptions;\n}\n\nexport interface ConditionNode extends ConditionNodeNodeOneOf {\n /** Logical AND condition with 1 or more child conditions. All child conditions must be true. */\n and?: AndCondition;\n /** Logical OR condition with 1 or more child conditions. At least 1 child condition must be true. */\n or?: OrCondition;\n /** Single condition to evaluate. */\n condition?: Condition;\n}\n\n/** @oneof */\nexport interface ConditionNodeNodeOneOf {\n /** Logical AND condition with 1 or more child conditions. All child conditions must be true. */\n and?: AndCondition;\n /** Logical OR condition with 1 or more child conditions. At least 1 child condition must be true. */\n or?: OrCondition;\n /** Single condition to evaluate. */\n condition?: Condition;\n}\n\nexport interface AndCondition {\n /**\n * List of conditions that must all evaluate to true.\n * @minSize 1\n * @maxSize 400\n */\n conditions?: ConditionNode[];\n}\n\nexport interface OrCondition {\n /**\n * List of conditions where at least 1 must evaluate to true.\n * @minSize 1\n * @maxSize 400\n */\n conditions?: ConditionNode[];\n}\n\nexport interface Condition {\n /**\n * Human readable identifier used to reference a field.\n * Supports dot notation for nested properties. For example, `\"address.city\"`.\n * @maxLength 100\n */\n target?: string;\n /** Comparison operator to use for evaluating the condition. */\n operator?: OperatorWithLiterals;\n /** Value to compare against the value in the target field. */\n value?: any;\n}\n\nexport enum Operator {\n /** Specified value equals the value in the target field. */\n EQUAL = 'EQUAL',\n /** Specified value doesn't equal the value in the target field. */\n NOT_EQUAL = 'NOT_EQUAL',\n /** Target field is empty or has no value. */\n EMPTY = 'EMPTY',\n /** Target field isn't empty and has a value. */\n NOT_EMPTY = 'NOT_EMPTY',\n /** String value in the target field contains the specified substring. */\n CONTAINS = 'CONTAINS',\n /** String value in the target field doesn't contain the specified substring. */\n NOT_CONTAINS = 'NOT_CONTAINS',\n /** Numeric value in the target field is less than the specified value. */\n LESS_THAN = 'LESS_THAN',\n /** Numeric value in the target field is less than or equal to the specified value. */\n LESS_THAN_OR_EQUALS = 'LESS_THAN_OR_EQUALS',\n /** Numeric value in the target field is greater than the specified value. */\n GREATER_THAN = 'GREATER_THAN',\n /** Numeric value in the target field is greater than or equal to the specified value. */\n GREATER_THAN_OR_EQUALS = 'GREATER_THAN_OR_EQUALS',\n /** Date value in the target field is before the specified date. */\n BEFORE = 'BEFORE',\n /** Date value in the target field is before or equal to the specified date. */\n BEFORE_OR_EQUAL = 'BEFORE_OR_EQUAL',\n /** Date value in the target field is after the specified date. */\n AFTER = 'AFTER',\n /** Date value in the target field is after or equal to the specified date. */\n AFTER_OR_EQUAL = 'AFTER_OR_EQUAL',\n /** Value in the target field falls within the specified range. */\n BETWEEN = 'BETWEEN',\n /** Value in the target field matches any of the specified values. */\n ANY = 'ANY',\n /** Array value in the target field exactly equals the specified array. */\n ARRAY_EQUAL = 'ARRAY_EQUAL',\n /** Array value in the target field doesn't equal the specified array. */\n ARRAY_NOT_EQUAL = 'ARRAY_NOT_EQUAL',\n /** Checkbox or boolean field value in the target field is checked. */\n CHECKED = 'CHECKED',\n /** Checkbox or boolean field value in the target field isn't checked. */\n NOT_CHECKED = 'NOT_CHECKED',\n /** Value in the target field is included in the specified list. */\n IN = 'IN',\n /** Value in the target field isn't included in the specified list. */\n NOT_IN = 'NOT_IN',\n /** Date value in the target field is older than the specified time period. */\n IS_DATE_OLDER_THAN = 'IS_DATE_OLDER_THAN',\n /** Date value in the target field is older than or equal to the specified time period. */\n IS_DATE_OLDER_THAN_OR_EQUAL = 'IS_DATE_OLDER_THAN_OR_EQUAL',\n /** Date value in the target field is newer than the specified time period. */\n IS_DATE_NEWER_THAN = 'IS_DATE_NEWER_THAN',\n /** Date value in the target field is newer than or equal to the specified time period. */\n IS_DATE_NEWER_THAN_OR_EQUAL = 'IS_DATE_NEWER_THAN_OR_EQUAL',\n}\n\n/** @enumType */\nexport type OperatorWithLiterals =\n | Operator\n | 'EQUAL'\n | 'NOT_EQUAL'\n | 'EMPTY'\n | 'NOT_EMPTY'\n | 'CONTAINS'\n | 'NOT_CONTAINS'\n | 'LESS_THAN'\n | 'LESS_THAN_OR_EQUALS'\n | 'GREATER_THAN'\n | 'GREATER_THAN_OR_EQUALS'\n | 'BEFORE'\n | 'BEFORE_OR_EQUAL'\n | 'AFTER'\n | 'AFTER_OR_EQUAL'\n | 'BETWEEN'\n | 'ANY'\n | 'ARRAY_EQUAL'\n | 'ARRAY_NOT_EQUAL'\n | 'CHECKED'\n | 'NOT_CHECKED'\n | 'IN'\n | 'NOT_IN'\n | 'IS_DATE_OLDER_THAN'\n | 'IS_DATE_OLDER_THAN_OR_EQUAL'\n | 'IS_DATE_NEWER_THAN'\n | 'IS_DATE_NEWER_THAN_OR_EQUAL';\n\nexport interface RuleFormOverride\n extends RuleFormOverrideEntityTypeOptionsOneOf {\n /** Field override settings. */\n fieldOptions?: FieldOverride;\n /**\n * Type of form element being modified by this override.\n * @immutable\n */\n entityType?: OverrideEntityTypeEnumOverrideEntityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface RuleFormOverrideEntityTypeOptionsOneOf {\n /** Field override settings. */\n fieldOptions?: FieldOverride;\n}\n\n/**\n * Common object for tags.\n * Should be use as in this example:\n * message Foo {\n * option (.wix.api.decomposite_of) = \"wix.common.tags.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 */\nexport interface Tags {\n /** Tags that require an additional permission in order to access them, normally not given to site members or visitors. */\n privateTags?: TagsTagList;\n /** Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors. */\n tags?: TagsTagList;\n}\n\nexport interface TagsTagList {\n /**\n * List of tag IDs\n * @maxSize 100\n * @maxLength 5\n */\n tagIds?: string[];\n}\n\nexport interface QuizSettings\n extends QuizSettingsPassingCriteriaOneOf,\n QuizSettingsResultsDisplayOptionsOneOf {\n /** Score required to pass the quiz (in points). */\n passingScorePoints?: number;\n /**\n * Score required to pass the quiz as a percentage (0-100).\n * @max 100\n */\n passingScorePercentage?: number;\n /** Configuration for displaying only the pass/fail message. */\n passingStatusOptions?: PassFailMessages;\n /** Configuration for displaying both the score and pass/fail message. */\n scoreAndPassingStatusOptions?: PassFailMessages;\n /** Confirmation message text. */\n message?: RichContent;\n /**\n * How to display quiz results in the confirmation page.\n * Default: `DO_NOT_DISPLAY`\n */\n resultsDisplay?: ResultsDisplayWithLiterals;\n}\n\n/** @oneof */\nexport interface QuizSettingsPassingCriteriaOneOf {\n /** Score required to pass the quiz (in points). */\n passingScorePoints?: number;\n /**\n * Score required to pass the quiz as a percentage (0-100).\n * @max 100\n */\n passingScorePercentage?: number;\n}\n\n/** @oneof */\nexport interface QuizSettingsResultsDisplayOptionsOneOf {\n /** Configuration for displaying only the pass/fail message. */\n passingStatusOptions?: PassFailMessages;\n /** Configuration for displaying both the score and pass/fail message. */\n scoreAndPassingStatusOptions?: PassFailMessages;\n}\n\nexport enum ResultsDisplay {\n /** Do not show quiz score and passing status. */\n DO_NOT_DISPLAY = 'DO_NOT_DISPLAY',\n /** Display only the user's score. */\n SCORE = 'SCORE',\n /** Display the pass or fail message based on the user's score. */\n PASSING_STATUS = 'PASSING_STATUS',\n /** Display both the score and pass/fail message. */\n SCORE_AND_PASSING_STATUS = 'SCORE_AND_PASSING_STATUS',\n}\n\n/** @enumType */\nexport type ResultsDisplayWithLiterals =\n | ResultsDisplay\n | 'DO_NOT_DISPLAY'\n | 'SCORE'\n | 'PASSING_STATUS'\n | 'SCORE_AND_PASSING_STATUS';\n\nexport interface PassFailMessages {\n /** Message displayed when the user passes the quiz. */\n passMessage?: RichContent;\n /** Message displayed when the user fails the quiz. */\n failMessage?: RichContent;\n}\n\nexport enum ContactAutofill {\n /** Use site member data to autofill contact fields. */\n MEMBER_DATA = 'MEMBER_DATA',\n /** Use form input data to autofill contact fields. */\n FORM_INPUT = 'FORM_INPUT',\n}\n\n/** @enumType */\nexport type ContactAutofillWithLiterals =\n | ContactAutofill\n | 'MEMBER_DATA'\n | 'FORM_INPUT';\n\n/** Controls who can read submissions of this form. */\nexport enum SubmissionAccess {\n /** Unknown submission access. */\n UNKNOWN_SUBMISSION_ACCESS = 'UNKNOWN_SUBMISSION_ACCESS',\n /** Only users with `WIX_FORM.SUBMISSIONS_READ_ANY` permission. Default behavior. */\n OWNER_AND_COLLABORATORS = 'OWNER_AND_COLLABORATORS',\n /** Logged-in site members can read submissions. */\n MEMBERS = 'MEMBERS',\n /** Any site visitor with a valid Wix session can read submissions. */\n PUBLIC = 'PUBLIC',\n}\n\n/** @enumType */\nexport type SubmissionAccessWithLiterals =\n | SubmissionAccess\n | 'UNKNOWN_SUBMISSION_ACCESS'\n | 'OWNER_AND_COLLABORATORS'\n | 'MEMBERS'\n | 'PUBLIC';\n\nexport interface CreateCheckoutFromSubmissionResponse {\n /**\n * Checkout ID (applicable for form involving payments).\n * @format GUID\n */\n checkoutId?: string | null;\n /** Checkout (applicable for form involving payments). */\n checkout?: Checkout;\n}\n\nexport interface Checkout {\n /**\n * Checkout ID.\n * @format GUID\n */\n _id?: string;\n /**\n * The currency used when submitting the order.\n * @format CURRENCY\n * @readonly\n */\n currency?: string;\n}\n\nexport interface IsFormSubmittableRequest {}\n\nexport interface IsFormSubmittableResponse {}\n\nexport interface Empty {}\n\nexport interface UpsertContactFromSubmissionRequest {\n /**\n * Submission from which contact needs to be upserted.\n * @format GUID\n */\n submissionId: string;\n /**\n * Optional contact id to which submission should be mapped.\n * @format GUID\n */\n contactId?: string | null;\n /** Indicates contact has verified primary email. */\n emailVerified?: boolean;\n}\n\nexport interface UpsertContactFromSubmissionResponse {\n /** Submit contact response. */\n submitContactResponse?: SubmitContactResponse;\n}\n\nexport interface SubmitContactResponse {\n /**\n * ID of the contact that was found or created.\n * @format GUID\n */\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?: IdentityTypeWithLiterals;\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\nexport enum IdentityType {\n UNKNOWN = 'UNKNOWN',\n /** Existing or new contact */\n CONTACT = 'CONTACT',\n /** Member is logged in, matching logic skipped */\n MEMBER = 'MEMBER',\n /** Matching contact is a member, Merge logic won't be applied */\n NOT_AUTHENTICATED_MEMBER = 'NOT_AUTHENTICATED_MEMBER',\n}\n\n/** @enumType */\nexport type IdentityTypeWithLiterals =\n | IdentityType\n | 'UNKNOWN'\n | 'CONTACT'\n | 'MEMBER'\n | 'NOT_AUTHENTICATED_MEMBER';\n\nexport interface CreateSubmissionRequest {\n /** Submission to create. */\n submission: FormSubmission;\n /**\n * Captcha token.\n * @minLength 1\n * @maxLength 3000\n */\n captchaToken?: string | null;\n /** Optional metadata passed to SPI implementer, allowing clients to include additional business-specific data. */\n additionalMetadata?: Record<string, any> | null;\n}\n\nexport interface CreateSubmissionResponse {\n /** The created submission. */\n submission?: FormSubmission;\n}\n\nexport interface SubmissionValidationErrorsDetails {\n /**\n * Submission validation errors details.\n * @maxSize 100\n */\n errors?: ValidationError[];\n}\n\nexport interface ValidationError {\n /**\n * Path indicating the source of the error, such as `submission.submissions.email`\n * @maxLength 1000\n */\n errorPath?: string;\n /** Error type. */\n errorType?: ErrorTypeWithLiterals;\n /**\n * Error message.\n * @maxLength 1000\n */\n errorMessage?: string;\n /** Additional error parameters, to help identify additional info. */\n params?: Record<string, any> | null;\n /**\n * Whether to use a custom error message.\n * If `false`, the API takes the message from the `errorType` field.\n * Default: `false`\n */\n useCustomErrorMessage?: boolean;\n}\n\nexport enum ErrorType {\n /** Error is unknown or not suitable for any of options bellow */\n UNKNOWN_ERROR = 'UNKNOWN_ERROR',\n /** Type of submitted value is incorrect */\n TYPE_ERROR = 'TYPE_ERROR',\n /** Value is required to be provided */\n REQUIRED_VALUE_ERROR = 'REQUIRED_VALUE_ERROR',\n /** Value contains additional properties not expected in schema */\n UNKNOWN_VALUE_ERROR = 'UNKNOWN_VALUE_ERROR',\n /** Text value exceeds max length */\n MAX_LENGTH_ERROR = 'MAX_LENGTH_ERROR',\n /** Text value not reaches min length */\n MIN_LENGTH_ERROR = 'MIN_LENGTH_ERROR',\n /** Text value not applicable for expected pattern */\n PATTERN_ERROR = 'PATTERN_ERROR',\n /** Text value not applicable for expected format */\n FORMAT_ERROR = 'FORMAT_ERROR',\n /** Number value is too big */\n MAX_VALUE_ERROR = 'MAX_VALUE_ERROR',\n /** Number value is too small */\n MIN_VALUE_ERROR = 'MIN_VALUE_ERROR',\n /** Number value is not multiple of expected number */\n MULTIPLE_OF_VALUE_ERROR = 'MULTIPLE_OF_VALUE_ERROR',\n /** Array value has too much items */\n MIN_ITEMS_ERROR = 'MIN_ITEMS_ERROR',\n /** Array value has not enough items */\n MAX_ITEMS_ERROR = 'MAX_ITEMS_ERROR',\n /** Value is not in list of allowed values */\n NOT_ALLOWED_VALUE_ERROR = 'NOT_ALLOWED_VALUE_ERROR',\n /** Form fields are incompatible */\n FIELDS_COMPATIBILITY_ERROR = 'FIELDS_COMPATIBILITY_ERROR',\n /** Submitted form is disabled */\n DISABLED_FORM_ERROR = 'DISABLED_FORM_ERROR',\n /** Too much forms */\n FORMS_COUNT_RESTRICTIONS_ERROR = 'FORMS_COUNT_RESTRICTIONS_ERROR',\n /** Too much fields on form */\n FIELDS_COUNT_RESTRICTIONS_ERROR = 'FIELDS_COUNT_RESTRICTIONS_ERROR',\n /** Too much steps on forms */\n STEPS_COUNT_RESTRICTIONS_ERROR = 'STEPS_COUNT_RESTRICTIONS_ERROR',\n /** Too much rules on forms */\n RULES_COUNT_RESTRICTIONS_ERROR = 'RULES_COUNT_RESTRICTIONS_ERROR',\n /** File upload is not allowed */\n FILE_UPLOAD_RESTRICTIONS_ERROR = 'FILE_UPLOAD_RESTRICTIONS_ERROR',\n /** Country code is not correct or missing from the phone number */\n INVALID_PHONE_COUNTRY_CODE_ERROR = 'INVALID_PHONE_COUNTRY_CODE_ERROR',\n /** Invalid staff member ID on appointment */\n INVALID_STAFF_ID_ERROR = 'INVALID_STAFF_ID_ERROR',\n /** Invalid business location ID on appointment */\n INVALID_LOCATION_ID_ERROR = 'INVALID_LOCATION_ID_ERROR',\n /** Missing service option on service picker field */\n MISSING_SERVICE_OPTION_ERROR = 'MISSING_SERVICE_OPTION_ERROR',\n /** Some of the service options on service picker field are deleted or unavailable */\n INVALID_SERVICE_OPTIONS_ERROR = 'INVALID_SERVICE_OPTIONS_ERROR',\n /** All of the service options on service picker field are deleted or unavailable */\n NO_AVAILABLE_SERVICE_OPTIONS_ERROR = 'NO_AVAILABLE_SERVICE_OPTIONS_ERROR',\n /** Text value does not match the exact required length */\n EXACT_CHARACTER_LENGTH_ERROR = 'EXACT_CHARACTER_LENGTH_ERROR',\n /** Character count is not within the required range */\n CHARACTER_LENGTH_RANGE_ERROR = 'CHARACTER_LENGTH_RANGE_ERROR',\n /** Number is not within the required range */\n VALUE_RANGE_ERROR = 'VALUE_RANGE_ERROR',\n /** Field not have the exact number of options selected */\n EXACT_ITEMS_NUMBER_ERROR = 'EXACT_ITEMS_NUMBER_ERROR',\n /** Number has incorrect number of decimal places */\n DECIMAL_POINT_ERROR = 'DECIMAL_POINT_ERROR',\n /** Date value is incomplete or missing required parts */\n INCOMPLETE_DATE_ERROR = 'INCOMPLETE_DATE_ERROR',\n /** Value does not match the required pattern format */\n INVALID_VALUE_FOR_PATTERN_ERROR = 'INVALID_VALUE_FOR_PATTERN_ERROR',\n /** Default value does not pass form field validation */\n INVALID_DEFAULT_VALUE_ERROR = 'INVALID_DEFAULT_VALUE_ERROR',\n /** Form cannot be re-enabled while it still violates premium enforcement. */\n ENFORCEMENT_RE_ENABLE_BLOCKED_ERROR = 'ENFORCEMENT_RE_ENABLE_BLOCKED_ERROR',\n}\n\n/** @enumType */\nexport type ErrorTypeWithLiterals =\n | ErrorType\n | 'UNKNOWN_ERROR'\n | 'TYPE_ERROR'\n | 'REQUIRED_VALUE_ERROR'\n | 'UNKNOWN_VALUE_ERROR'\n | 'MAX_LENGTH_ERROR'\n | 'MIN_LENGTH_ERROR'\n | 'PATTERN_ERROR'\n | 'FORMAT_ERROR'\n | 'MAX_VALUE_ERROR'\n | 'MIN_VALUE_ERROR'\n | 'MULTIPLE_OF_VALUE_ERROR'\n | 'MIN_ITEMS_ERROR'\n | 'MAX_ITEMS_ERROR'\n | 'NOT_ALLOWED_VALUE_ERROR'\n | 'FIELDS_COMPATIBILITY_ERROR'\n | 'DISABLED_FORM_ERROR'\n | 'FORMS_COUNT_RESTRICTIONS_ERROR'\n | 'FIELDS_COUNT_RESTRICTIONS_ERROR'\n | 'STEPS_COUNT_RESTRICTIONS_ERROR'\n | 'RULES_COUNT_RESTRICTIONS_ERROR'\n | 'FILE_UPLOAD_RESTRICTIONS_ERROR'\n | 'INVALID_PHONE_COUNTRY_CODE_ERROR'\n | 'INVALID_STAFF_ID_ERROR'\n | 'INVALID_LOCATION_ID_ERROR'\n | 'MISSING_SERVICE_OPTION_ERROR'\n | 'INVALID_SERVICE_OPTIONS_ERROR'\n | 'NO_AVAILABLE_SERVICE_OPTIONS_ERROR'\n | 'EXACT_CHARACTER_LENGTH_ERROR'\n | 'CHARACTER_LENGTH_RANGE_ERROR'\n | 'VALUE_RANGE_ERROR'\n | 'EXACT_ITEMS_NUMBER_ERROR'\n | 'DECIMAL_POINT_ERROR'\n | 'INCOMPLETE_DATE_ERROR'\n | 'INVALID_VALUE_FOR_PATTERN_ERROR'\n | 'INVALID_DEFAULT_VALUE_ERROR'\n | 'ENFORCEMENT_RE_ENABLE_BLOCKED_ERROR';\n\nexport 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\nexport interface CreateSubmissionBySubmitterResponse {\n /** The created submission. */\n submission?: FormSubmission;\n}\n\nexport interface BulkCreateSubmissionBySubmitterRequest {\n /**\n * Form id. Restricts submissions creation for a single form.\n * @format GUID\n */\n formId?: string;\n /**\n * Submissions to create.\n * Deprecated\n * @maxSize 100\n */\n submissions?: FormSubmission[];\n /** When set, items will be returned on successful create. */\n returnEntity?: boolean;\n /**\n * Submissions data to create.\n * @maxSize 100\n */\n submissionsV2?: BulkCreateSubmissionBySubmitterData[];\n /** Validation will be mode is more forgiving, for example \"required\" won't be validated. */\n lenientValidation?: boolean;\n}\n\nexport 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\nexport interface BulkCreateSubmissionBySubmitterResponse {\n /** Created submissions with metadata */\n results?: BulkSubmissionResult[];\n /** Metadata of request */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkSubmissionResult {\n /** Created submission metadata */\n itemMetadata?: ItemMetadata;\n /** The created submission. */\n item?: FormSubmission;\n}\n\nexport interface ItemMetadata {\n /**\n * Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\n * @format GUID\n */\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\nexport 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\nexport 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\nexport interface GetSubmissionRequest {\n /**\n * ID of the submission to retrieve.\n * @format GUID\n */\n submissionId: string;\n}\n\nexport interface GetSubmissionResponse {\n /** The retrieved submission. */\n submission?: FormSubmission;\n}\n\nexport interface GetSubmissionByCheckoutIdRequest {\n /**\n * Checkout ID of the submission to retrieve.\n * @format GUID\n */\n checkoutId?: string;\n}\n\nexport interface GetSubmissionByCheckoutIdResponse {\n /** The retrieved submission. */\n submission?: FormSubmission;\n}\n\nexport interface UpdateSubmissionRequest {\n /** Submission to update. */\n submission: FormSubmission;\n}\n\nexport interface UpdateSubmissionResponse {\n /** The updated submission. */\n submission?: FormSubmission;\n}\n\nexport interface ConfirmSubmissionRequest {\n /**\n * Submission ID to confirm.\n * @format GUID\n */\n submissionId: string;\n}\n\nexport interface ConfirmSubmissionResponse {\n /** The confirmed submission. */\n submission?: FormSubmission;\n}\n\nexport interface DeleteSubmissionRequest {\n /**\n * ID of the submission to delete.\n * @format GUID\n */\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\nexport interface DeleteSubmissionResponse {}\n\nexport interface BulkDeleteSubmissionRequest {\n /**\n * Form ID.\n * @format GUID\n */\n formId: string;\n /**\n * Submission ids.\n * @minSize 1\n * @maxSize 100\n * @format GUID\n */\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\nexport interface BulkDeleteSubmissionResponse {\n /**\n * Results of bulk submission delete\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkDeleteSubmissionResult[];\n /** Metadata of request */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkDeleteSubmissionResult {\n /** Deleted item metadata */\n itemMetadata?: ItemMetadata;\n}\n\nexport interface RestoreSubmissionFromTrashBinRequest {\n /**\n * ID of the submission to restore.\n * @format GUID\n */\n submissionId: string;\n}\n\nexport interface RestoreSubmissionFromTrashBinResponse {\n /** The restored submission. */\n submission?: FormSubmission;\n}\n\nexport interface RemoveSubmissionFromTrashBinRequest {\n /**\n * ID of the submission to restore.\n * @format GUID\n */\n submissionId: string;\n}\n\nexport interface RemoveSubmissionFromTrashBinResponse {}\n\nexport interface BulkRemoveSubmissionFromTrashBinRequest {\n /**\n * Form ID.\n * @format GUID\n */\n formId: string;\n /**\n * Submission ids.\n * @minSize 1\n * @maxSize 100\n * @format GUID\n */\n submissionIds?: string[];\n}\n\nexport interface BulkRemoveSubmissionFromTrashBinResponse {\n /**\n * Results of bulk submission removal from trash\n * @maxSize 100\n */\n results?: BulkRemoveSubmissionFromTrashBinResult[];\n /** Metadata of request */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkRemoveSubmissionFromTrashBinResult {\n /** Deleted item metadata */\n itemMetadata?: ItemMetadata;\n}\n\nexport interface ListDeletedSubmissionsRequest {\n /**\n * Form ID.\n * @format GUID\n */\n formId: string;\n /**\n * Submission ids.\n * @maxSize 10\n * @format GUID\n */\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 * @maxSize 4\n */\n statuses?: SubmissionStatusWithLiterals[];\n}\n\nexport interface CursorPaging {\n /**\n * Number of items to load.\n * @max 100\n */\n limit?: number | null;\n /**\n * Pointer to the next or previous page in the list of results.\n *\n * You can get the relevant cursor token\n * from the `pagingMetadata` object in the previous call's response.\n * Not relevant for the first request.\n * @maxLength 16000\n */\n cursor?: string | null;\n}\n\nexport interface ListDeletedSubmissionsResponse {\n /** The retrieved Submissions. */\n submissions?: FormSubmission[];\n /** Paging metadata. */\n pagingMetadata?: CursorPagingMetadata;\n}\n\nexport 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\nexport interface Cursors {\n /**\n * Cursor pointing to next page in the list of results.\n * @maxLength 16000\n */\n next?: string | null;\n /**\n * Cursor pointing to previous page in the list of results.\n * @maxLength 16000\n */\n prev?: string | null;\n}\n\nexport interface GetDeletedSubmissionRequest {\n /**\n * Submission id.\n * @format GUID\n */\n submissionId: string;\n}\n\nexport interface GetDeletedSubmissionResponse {\n /** The retrieved Submission. */\n submission?: FormSubmission;\n}\n\nexport 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\nexport 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 * @maxSize 3\n */\n sort?: Sorting[];\n}\n\n/** @oneof */\nexport 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\nexport interface Sorting {\n /**\n * Name of the field to sort by.\n * @maxLength 512\n */\n fieldName?: string;\n /** Sort order. */\n order?: SortOrderWithLiterals;\n}\n\nexport enum SortOrder {\n ASC = 'ASC',\n DESC = 'DESC',\n}\n\n/** @enumType */\nexport type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';\n\nexport interface QuerySubmissionResponse {\n /** The retrieved submissions. */\n submissions?: FormSubmission[];\n /** Paging metadata. */\n metadata?: CursorPagingMetadata;\n}\n\nexport interface SearchSubmissionsByNamespaceRequest {\n /** Query options. */\n search: CursorSearch;\n}\n\nexport 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 /**\n * Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]\n * @maxSize 10\n */\n sort?: Sorting[];\n /** Free text to match in searchable fields */\n search?: SearchDetails;\n}\n\n/** @oneof */\nexport 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\nexport interface SearchDetails {\n /** Defines how separate search terms in `expression` are combined */\n mode?: ModeWithLiterals;\n /**\n * Search term or expression\n * @maxLength 100\n */\n expression?: string | null;\n /** Flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm) */\n fuzzy?: boolean;\n}\n\nexport 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\n/** @enumType */\nexport type ModeWithLiterals = Mode | 'OR' | 'AND';\n\nexport interface SearchSubmissionsByNamespaceResponse {\n /** The retrieved Submissions. */\n submissions?: FormSubmission[];\n /** Paging metadata. */\n metadata?: CursorPagingMetadata;\n}\n\nexport interface SearchSubmissionsByNamespaceForExportRequest {\n /** Query options. */\n query?: CursorQuery;\n}\n\nexport interface SearchSubmissionsByNamespaceForExportResponse {\n /** The retrieved Submissions. */\n submissions?: FormSubmission[];\n /** Paging metadata. */\n metadata?: CursorPagingMetadata;\n}\n\nexport 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\nexport interface QuerySubmissionsByNamespaceResponse {\n /** The retrieved Submissions. */\n submissions?: FormSubmission[];\n /** Paging metadata. */\n metadata?: CursorPagingMetadata;\n}\n\nexport interface QuerySubmissionsByNamespaceForExportRequest {\n /** Query options. */\n query?: CursorQuery;\n}\n\nexport interface QuerySubmissionsByNamespaceForExportResponse {\n /** The retrieved Submissions. */\n submissions?: FormSubmission[];\n /** Paging metadata. */\n metadata?: CursorPagingMetadata;\n}\n\nexport 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\nexport interface CountSubmissionsByFilterResponse {\n /** Forms submission count. */\n formsSubmissionsCount?: FormSubmissionsCount[];\n}\n\nexport interface FormSubmissionsCount {\n /**\n * Form ID.\n * @format GUID\n */\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\nexport interface CountSubmissionsRequest {\n /**\n * Form IDs which submissions should be counted.\n * @format GUID\n * @minSize 1\n * @maxSize 100\n */\n formIds: 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 `getSubmission()` to retrieve the namespace.\n * @minLength 10\n * @maxLength 50\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 * @maxSize 4\n */\n statuses?: SubmissionStatusWithLiterals[];\n}\n\nexport interface CountSubmissionsResponse {\n /** Forms submission count. */\n formsSubmissionsCount?: FormSubmissionsCount[];\n}\n\nexport interface CountDeletedSubmissionsRequest {\n /**\n * Form IDs.\n * @format GUID\n * @minSize 1\n * @maxSize 100\n */\n formIds: string[];\n /**\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 * @minLength 10\n * @maxLength 50\n */\n namespace: string;\n /**\n * List of statuses of submissions which should be taken into count\n * Default: CONFIRMED, PAYMENT_WAITING, PAYMENT_CANCELED\n * @maxSize 4\n */\n statuses?: SubmissionStatusWithLiterals[];\n}\n\nexport interface CountDeletedSubmissionsResponse {\n /** Forms submission count. */\n formsDeletedSubmissionsCount?: FormDeletedSubmissionsCount[];\n}\n\nexport interface FormDeletedSubmissionsCount {\n /**\n * Form ID.\n * @format GUID\n */\n formId?: string;\n /** Total number of submissions. */\n totalCount?: number;\n}\n\nexport interface GetMediaUploadURLRequest {\n /**\n * Form ID.\n * @format GUID\n */\n formId: string;\n /**\n * Name of file to upload.\n * @maxLength 300\n */\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 * @maxLength 100\n */\n mimeType: string;\n}\n\nexport interface GetMediaUploadURLResponse {\n /**\n * Url to upload file.\n * @maxLength 500\n */\n uploadUrl?: string;\n}\n\nexport interface BulkMarkSubmissionsAsSeenRequest {\n /**\n * Submission IDs to mark as seen.\n * @format GUID\n * @maxSize 100\n */\n ids?: string[];\n /**\n * ID of the form which the submissions belong to.\n * @format GUID\n */\n formId: string;\n}\n\nexport interface BulkMarkSubmissionsAsSeenResponse {\n /**\n * Job id for the bulk update operation\n * @format GUID\n */\n jobId?: string;\n}\n\nexport interface GetSubmissionDownloadUrlRequest {\n /**\n * Submission ID.\n * @format GUID\n */\n submissionId: string;\n}\n\nexport interface GetSubmissionDownloadUrlResponse {\n /** The retrieved submission document. */\n document?: SubmissionDocument;\n}\n\nexport interface SubmissionDocument extends SubmissionDocumentDocumentOneOf {\n /** Data of ready to download document */\n readyDetails?: DocumentReady;\n /**\n * Document ID.\n * @readonly\n * @maxLength 50\n */\n _id?: string | null;\n /** Document status. */\n status?: StatusWithLiterals;\n}\n\n/** @oneof */\nexport interface SubmissionDocumentDocumentOneOf {\n /** Data of ready to download document */\n readyDetails?: DocumentReady;\n}\n\nexport enum Status {\n UNKNOWN_STATUS = 'UNKNOWN_STATUS',\n READY = 'READY',\n PENDING = 'PENDING',\n FAILED = 'FAILED',\n}\n\n/** @enumType */\nexport type StatusWithLiterals =\n | Status\n | 'UNKNOWN_STATUS'\n | 'READY'\n | 'PENDING'\n | 'FAILED';\n\nexport interface DocumentReady {\n /**\n * Document download URL.\n * @readonly\n * @maxLength 300\n */\n downloadUrl?: string;\n}\n\nexport interface DownloadSubmissionRequest {\n /**\n * Submission id for which the document is generated.\n * @format GUID\n */\n submissionId: string;\n /**\n * Access token to download the document.\n * @maxLength 10000\n */\n accessToken: string;\n}\n\nexport interface RawHttpResponse {\n body?: Uint8Array;\n statusCode?: number | null;\n headers?: HeadersEntry[];\n}\n\nexport interface HeadersEntry {\n key?: string;\n value?: string;\n}\n\nexport interface GetFormattedSubmissionRequest {\n /**\n * Submission ID.\n * @format GUID\n */\n submissionId: string;\n}\n\nexport interface GetFormattedSubmissionResponse {\n /**\n * Submission ID.\n * @format GUID\n */\n submissionId?: string;\n /**\n * Ordered by form layout list of field submissions.\n * @maxSize 100\n */\n submissions?: FormattedSubmission[];\n}\n\nexport interface FormattedSubmission {\n /**\n * Label of form field\n * @maxLength 500\n */\n label?: string | null;\n /**\n * Key of the submission, and target of a form field\n * @maxLength 200\n */\n key?: string;\n /**\n * Value of the submission, formatted as a string\n * @maxLength 500\n */\n value?: string;\n /**\n * Id of the form field\n * @format GUID\n */\n fieldId?: string;\n}\n\nexport interface ListFormattedSubmissionsRequest {\n /**\n * Namespace.\n * @minLength 10\n * @maxLength 50\n */\n namespace?: string;\n /**\n * Submission IDs.\n * @format GUID\n * @minSize 1\n * @maxSize 100\n */\n submissionIds?: string[];\n /**\n * Optional additional filter of form IDs.\n * @format GUID\n * @maxSize 100\n */\n formIds?: string[];\n}\n\nexport interface ListFormattedSubmissionsResponse {\n /**\n * List of formatted submissions\n * @maxSize 100\n */\n formattedFormSubmissions?: FormattedFormSubmission[];\n}\n\nexport interface FormattedFormSubmission {\n /**\n * Submission ID.\n * @format GUID\n */\n submissionId?: string;\n /**\n * Ordered by form layout list of field submissions.\n * @maxSize 100\n */\n submissions?: FormattedSubmission[];\n /**\n * Name of the submitted form\n * @maxLength 200\n */\n formName?: string;\n}\n\nexport 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\nexport interface UpdateExtendedFieldsResponse {\n /**\n * namespace that was updated\n * @minLength 10\n * @maxLength 50\n */\n namespace?: string;\n /** only data from UpdateExtendedFieldsRequest namespace_data */\n namespaceData?: Record<string, any> | null;\n}\n\nexport interface BulkUpdateFormSubmissionTagsRequest {\n /**\n * Submission IDs to update tags for.\n * @format GUID\n * @minSize 1\n * @maxSize 100\n */\n submissionIds: string[];\n /** Tags to be added to submissions */\n assignTags?: PublicTags;\n /** Tags to be removed from submissions */\n unassignTags?: PublicTags;\n}\n\nexport interface BulkUpdateFormSubmissionTagsResponse {\n /**\n * Updated submissions with results\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkUpdateFormSubmissionTagsResult[];\n /** Metadata of request */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkUpdateFormSubmissionTagsResult {\n /** Updated item metadata */\n itemMetadata?: ItemMetadata;\n}\n\nexport interface BulkUpdateFormSubmissionTagsByFilterRequest {\n /** Filter to select the submission to update */\n filter: Record<string, any> | null;\n /** Tags to be added to submissions */\n assignTags?: PublicTags;\n /** Tags to be removed from submissions */\n unassignTags?: PublicTags;\n}\n\nexport interface BulkUpdateFormSubmissionTagsByFilterResponse {\n /**\n * Job id for the bulk update operation\n * @format GUID\n */\n jobId?: string;\n}\n\nexport interface ValidateFormSubmissionRequest {\n /** Submission to validate. */\n submission: FormSubmission;\n /** Optional metadata passed to SPI implementer, allowing clients to include additional business-specific data. */\n additionalMetadata?: Record<string, any> | null;\n /**\n * List of field targets/keys to validate, in case when only several fields should to be validated.\n * If empty, all form fields be validated\n * @maxSize 200\n * @maxLength 200\n */\n fieldsToValidate?: string[];\n}\n\nexport interface ValidateFormSubmissionResponse {\n /**\n * Flag indicating if the submission is valid\n * Default: true\n */\n valid?: boolean | null;\n /**\n * Submission validation violations\n * @maxSize 100\n */\n violationErrors?: FieldViolation[];\n}\n\nexport interface FieldViolation extends FieldViolationErrorDataOneOf {\n /** Validation errors */\n submissionValidationErrors?: SubmissionValidationErrors;\n /**\n * Name of violated entity\n * @maxLength 50\n */\n name?: string;\n /**\n * Description of the error\n * @maxLength 512\n */\n description?: string;\n /**\n * Rule name\n * @maxLength 50\n */\n ruleName?: string;\n}\n\n/** @oneof */\nexport interface FieldViolationErrorDataOneOf {\n /** Validation errors */\n submissionValidationErrors?: SubmissionValidationErrors;\n}\n\nexport interface SubmissionValidationErrors {\n /**\n * Submission validation errors.\n * @maxSize 100\n */\n errors?: SubmissionValidationError[];\n}\n\nexport interface SubmissionValidationError\n extends SubmissionValidationErrorErrorMessageOneOf {\n /** Predefined error type. */\n errorType?: SubmissionErrorTypeWithLiterals;\n /**\n * Custom error message. The message is displayed instead of an error type.\n * @maxLength 500\n */\n customErrorMessage?: string;\n /**\n * Path indicating the source of the error, such as `form.fields.target`.\n * @maxLength 500\n */\n errorPath?: string;\n /** Additional error parameters. */\n params?: Record<string, any> | null;\n}\n\n/** @oneof */\nexport interface SubmissionValidationErrorErrorMessageOneOf {\n /** Predefined error type. */\n errorType?: SubmissionErrorTypeWithLiterals;\n /**\n * Custom error message. The message is displayed instead of an error type.\n * @maxLength 500\n */\n customErrorMessage?: string;\n}\n\nexport enum SubmissionErrorType {\n /** Error is unknown or unsuitable for any of the options below. */\n UNKNOWN_ERROR = 'UNKNOWN_ERROR',\n /** Type of submitted value is incorrect. */\n TYPE_ERROR = 'TYPE_ERROR',\n /** Value is required to be provided. */\n REQUIRED_VALUE_ERROR = 'REQUIRED_VALUE_ERROR',\n /** Value contains additional properties not expected in schema. */\n UNKNOWN_VALUE_ERROR = 'UNKNOWN_VALUE_ERROR',\n /** Text value exceeds max length. */\n MAX_LENGTH_ERROR = 'MAX_LENGTH_ERROR',\n /** Text value does not reach min length. */\n MIN_LENGTH_ERROR = 'MIN_LENGTH_ERROR',\n /** Text value is not applicable for expected pattern. */\n PATTERN_ERROR = 'PATTERN_ERROR',\n /** Text value is not applicable for expected format. */\n FORMAT_ERROR = 'FORMAT_ERROR',\n /** Number value is too big. */\n MAX_VALUE_ERROR = 'MAX_VALUE_ERROR',\n /** Number value is too small. */\n MIN_VALUE_ERROR = 'MIN_VALUE_ERROR',\n /** Number value is not a multiple of expected number. */\n MULTIPLE_OF_VALUE_ERROR = 'MULTIPLE_OF_VALUE_ERROR',\n /** Array value has too many items. */\n MIN_ITEMS_ERROR = 'MIN_ITEMS_ERROR',\n /** Array value has not enough items. */\n MAX_ITEMS_ERROR = 'MAX_ITEMS_ERROR',\n /** Value is not in the list of allowed values. */\n NOT_ALLOWED_VALUE_ERROR = 'NOT_ALLOWED_VALUE_ERROR',\n /** Submitted form is disabled. */\n DISABLED_FORM_ERROR = 'DISABLED_FORM_ERROR',\n}\n\n/** @enumType */\nexport type SubmissionErrorTypeWithLiterals =\n | SubmissionErrorType\n | 'UNKNOWN_ERROR'\n | 'TYPE_ERROR'\n | 'REQUIRED_VALUE_ERROR'\n | 'UNKNOWN_VALUE_ERROR'\n | 'MAX_LENGTH_ERROR'\n | 'MIN_LENGTH_ERROR'\n | 'PATTERN_ERROR'\n | 'FORMAT_ERROR'\n | 'MAX_VALUE_ERROR'\n | 'MIN_VALUE_ERROR'\n | 'MULTIPLE_OF_VALUE_ERROR'\n | 'MIN_ITEMS_ERROR'\n | 'MAX_ITEMS_ERROR'\n | 'NOT_ALLOWED_VALUE_ERROR'\n | 'DISABLED_FORM_ERROR';\n/** @docsIgnore */\nexport type CreateSubmissionApplicationErrors =\n | {\n code?: 'INVALID_CAPTCHA';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'SITE_IS_A_TEMPLATE';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'FORM_NOT_FOUND';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'FORM_RETRIEVAL_ERROR';\n description?: string;\n data?: Record<string, any>;\n };\n/** @docsIgnore */\nexport type CreateSubmissionValidationErrors = {\n ruleName?: 'SUBMISSION_VALIDATION';\n};\n/** @docsIgnore */\nexport type UpdateSubmissionValidationErrors = {\n ruleName?: 'SUBMISSION_VALIDATION';\n};\n\nexport interface BaseEventMetadata {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface EventMetadata extends BaseEventMetadata {\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [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 that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n accountInfo?: AccountInfoMetadata;\n}\n\nexport interface AccountInfoMetadata {\n /** ID of the Wix account associated with the event */\n accountId: string;\n /** ID of the Wix site associated with the event. Only included when the event is tied to a specific site. */\n siteId?: string;\n /** ID of the parent Wix account. Only included when 'accountId' belongs to a child account. */\n parentAccountId?: string;\n}\n\nexport interface SubmissionCreatedEnvelope {\n entity: FormSubmission;\n metadata: EventMetadata;\n}\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 * Triggered when a submission is created.\n * @permissionScope Manage Submissions\n * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n * @permissionScope Manage form submissions.\n * @permissionScopeId SCOPE.FORMS.MANAGE-SUBMISSIONS\n * @permissionScope Read Orders\n * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-ORDERS\n * @permissionScope Manage plans and orders of Pricing Plans\n * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-PLANS-AND-ORDERS\n * @permissionScope Read Submissions\n * @permissionScopeId SCOPE.DC-FORMS.READ-SUBMISSIONS\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @webhook\n * @eventType wix.forms.v4.submission_created\n * @slug created\n */\nexport declare function onSubmissionCreated(\n handler: (event: SubmissionCreatedEnvelope) => void | Promise<void>\n): void;\n\nexport interface SubmissionDeletedEnvelope {\n entity: FormSubmission;\n metadata: EventMetadata;\n}\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 * Triggered when a submission is deleted.\n * @permissionScope Manage Submissions\n * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n * @permissionScope Manage form submissions.\n * @permissionScopeId SCOPE.FORMS.MANAGE-SUBMISSIONS\n * @permissionScope Read Orders\n * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-ORDERS\n * @permissionScope Manage plans and orders of Pricing Plans\n * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-PLANS-AND-ORDERS\n * @permissionScope Read Submissions\n * @permissionScopeId SCOPE.DC-FORMS.READ-SUBMISSIONS\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @webhook\n * @eventType wix.forms.v4.submission_deleted\n * @slug deleted\n */\nexport declare function onSubmissionDeleted(\n handler: (event: SubmissionDeletedEnvelope) => void | Promise<void>\n): void;\n\nexport interface SubmissionRemovedSubmissionFromTrashEnvelope {\n data: RemovedSubmissionFromTrash;\n metadata: EventMetadata;\n}\n\n/** @permissionScope Manage Submissions\n * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n * @permissionScope Manage form submissions.\n * @permissionScopeId SCOPE.FORMS.MANAGE-SUBMISSIONS\n * @permissionScope Read Orders\n * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-ORDERS\n * @permissionScope Manage plans and orders of Pricing Plans\n * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-PLANS-AND-ORDERS\n * @permissionScope Read Submissions\n * @permissionScopeId SCOPE.DC-FORMS.READ-SUBMISSIONS\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @webhook\n * @eventType wix.forms.v4.submission_removed_submission_from_trash\n * @slug removed_submission_from_trash\n */\nexport declare function onSubmissionRemovedSubmissionFromTrash(\n handler: (\n event: SubmissionRemovedSubmissionFromTrashEnvelope\n ) => void | Promise<void>\n): void;\n\nexport interface SubmissionStatusUpdatedEnvelope {\n data: FormSubmissionStatusUpdatedEvent;\n metadata: EventMetadata;\n}\n\n/** @permissionScope Manage Submissions\n * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n * @permissionScope Manage form submissions.\n * @permissionScopeId SCOPE.FORMS.MANAGE-SUBMISSIONS\n * @permissionScope Read Orders\n * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-ORDERS\n * @permissionScope Manage plans and orders of Pricing Plans\n * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-PLANS-AND-ORDERS\n * @permissionScope Read Submissions\n * @permissionScopeId SCOPE.DC-FORMS.READ-SUBMISSIONS\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @webhook\n * @eventType wix.forms.v4.submission_status_updated\n * @slug status_updated\n */\nexport declare function onSubmissionStatusUpdated(\n handler: (event: SubmissionStatusUpdatedEnvelope) => void | Promise<void>\n): void;\n\nexport interface SubmissionContactMappedEnvelope {\n data: SubmissionContactMapped;\n metadata: EventMetadata;\n}\n\n/** @permissionScope Manage Submissions\n * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n * @permissionScope Manage form submissions.\n * @permissionScopeId SCOPE.FORMS.MANAGE-SUBMISSIONS\n * @permissionScope Read Orders\n * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-ORDERS\n * @permissionScope Manage plans and orders of Pricing Plans\n * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-PLANS-AND-ORDERS\n * @permissionScope Read Submissions\n * @permissionScopeId SCOPE.DC-FORMS.READ-SUBMISSIONS\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @webhook\n * @eventType wix.forms.v4.submission_submission_contact_mapped\n * @slug submission_contact_mapped\n */\nexport declare function onSubmissionContactMapped(\n handler: (event: SubmissionContactMappedEnvelope) => void | Promise<void>\n): void;\n\nexport interface SubmissionContactMappingSkippedEnvelope {\n data: SubmissionContactMappingSkipped;\n metadata: EventMetadata;\n}\n\n/** @permissionScope Manage Submissions\n * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n * @permissionScope Manage form submissions.\n * @permissionScopeId SCOPE.FORMS.MANAGE-SUBMISSIONS\n * @permissionScope Read Orders\n * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-ORDERS\n * @permissionScope Manage plans and orders of Pricing Plans\n * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-PLANS-AND-ORDERS\n * @permissionScope Read Submissions\n * @permissionScopeId SCOPE.DC-FORMS.READ-SUBMISSIONS\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @webhook\n * @eventType wix.forms.v4.submission_submission_contact_mapping_skipped\n * @slug submission_contact_mapping_skipped\n */\nexport declare function onSubmissionContactMappingSkipped(\n handler: (\n event: SubmissionContactMappingSkippedEnvelope\n ) => void | Promise<void>\n): void;\n\nexport interface SubmissionUpdatedEnvelope {\n entity: FormSubmission;\n metadata: EventMetadata;\n /** @hidden */\n modifiedFields: Record<string, any>;\n}\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 * Triggered when:\n * - Submission is updated.\n * - Submission order status is updated.\n * - Submission is confirmed.\n * @permissionScope Manage Submissions\n * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n * @permissionScope Manage form submissions.\n * @permissionScopeId SCOPE.FORMS.MANAGE-SUBMISSIONS\n * @permissionScope Read Orders\n * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-ORDERS\n * @permissionScope Manage plans and orders of Pricing Plans\n * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-PLANS-AND-ORDERS\n * @permissionScope Read Submissions\n * @permissionScopeId SCOPE.DC-FORMS.READ-SUBMISSIONS\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @webhook\n * @eventType wix.forms.v4.submission_updated\n * @slug updated\n */\nexport declare function onSubmissionUpdated(\n handler: (event: SubmissionUpdatedEnvelope) => void | Promise<void>\n): void;\n\n/**\n * Upserts contact from submission.\n * @param submissionId - Submission from which contact needs to be upserted.\n * @public\n * @documentationMaturity preview\n * @requiredField submissionId\n * @permissionId WIX_FORMS.SUBMISSION_CONTACT_UPSERT\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionContactUpsertService.UpsertContactFromSubmission\n */\nexport async function upsertContactFromSubmission(\n submissionId: string,\n options?: UpsertContactFromSubmissionOptions\n): Promise<\n NonNullablePaths<\n UpsertContactFromSubmissionResponse,\n | `submitContactResponse.contactId`\n | `submitContactResponse.identityType`\n | `submitContactResponse.newContact`,\n 3\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n submissionId: submissionId,\n contactId: options?.contactId,\n emailVerified: options?.emailVerified,\n });\n\n const reqOpts =\n ambassadorWixFormsV4Submission.upsertContactFromSubmission(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n submissionId: '$[0]',\n contactId: '$[1].contactId',\n emailVerified: '$[1].emailVerified',\n },\n singleArgumentUnchanged: false,\n },\n ['submissionId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpsertContactFromSubmissionOptions {\n /**\n * Optional contact id to which submission should be mapped.\n * @format GUID\n */\n contactId?: string | null;\n /** Indicates contact has verified primary email. */\n emailVerified?: boolean;\n}\n\n/**\n * Creates a submission.\n *\n *\n * The `createSubmission()` function is an alternative way to the [`WixFormsV2`](https://www.wix.com/velo/reference/$w/wixformsv2/submit) element for submitting a form. In this case, clicking the submit button is unnecessary, the submission is automatically created when calling this function.\n * @param submission - Submission to create.\n * @public\n * @requiredField submission\n * @requiredField submission.formId\n * @param options - Optional fields.\n * @permissionId WIX_FORMS.SUBMISSION_CREATE\n * @applicableIdentity APP\n * @returns The created submission.\n * @fqn wix.forms.v4.FormSubmissionService.CreateSubmission\n */\nexport async function createSubmission(\n submission: NonNullablePaths<FormSubmission, `formId`, 2>,\n options?: CreateSubmissionOptions\n): Promise<\n NonNullablePaths<\n FormSubmission,\n | `formId`\n | `namespace`\n | `status`\n | `seen`\n | `orderDetails.itemSubtotal`\n | `orderDetails.checkoutId`\n | `tags.tags.tagIds`,\n 4\n > & {\n __applicationErrorsType?: CreateSubmissionApplicationErrors;\n __validationErrorsType?: CreateSubmissionValidationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n submission: submission,\n captchaToken: options?.captchaToken,\n additionalMetadata: options?.additionalMetadata,\n });\n\n const reqOpts = ambassadorWixFormsV4Submission.createSubmission(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.submission!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n submission: '$[0]',\n captchaToken: '$[1].captchaToken',\n additionalMetadata: '$[1].additionalMetadata',\n },\n singleArgumentUnchanged: false,\n },\n ['submission', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CreateSubmissionOptions {\n /**\n * Captcha token.\n * @minLength 1\n * @maxLength 3000\n */\n captchaToken?: string | null;\n /** Optional metadata passed to SPI implementer, allowing clients to include additional business-specific data. */\n additionalMetadata?: Record<string, any> | null;\n}\n\n/**\n * Retrieves a submission by ID.\n * @param submissionId - ID of the submission to retrieve.\n * @public\n * @requiredField submissionId\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @applicableIdentity APP\n * @returns The retrieved submission.\n * @fqn wix.forms.v4.FormSubmissionService.GetSubmission\n */\nexport async function getSubmission(\n submissionId: string\n): Promise<\n NonNullablePaths<\n FormSubmission,\n | `formId`\n | `namespace`\n | `status`\n | `seen`\n | `orderDetails.itemSubtotal`\n | `orderDetails.checkoutId`\n | `tags.tags.tagIds`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n submissionId: submissionId,\n });\n\n const reqOpts = ambassadorWixFormsV4Submission.getSubmission(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.submission!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { submissionId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['submissionId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Updates a submission.\n *\n *\n * Each time the submission is updated, `revision` increments by 1. The existing `revision` must be included when updating the submission. This ensures you're working with the latest submission information, and prevents unintended overwrites.\n * @param _id - Submission ID.\n * @public\n * @requiredField _id\n * @requiredField submission\n * @requiredField submission.formId\n * @requiredField submission.revision\n * @param submission - Submission to update.\n * @permissionId WIX_FORMS.SUBMISSION_UPDATE_ANY\n * @applicableIdentity APP\n * @returns The updated submission.\n * @fqn wix.forms.v4.FormSubmissionService.UpdateSubmission\n */\nexport async function updateSubmission(\n _id: string,\n submission: NonNullablePaths<UpdateSubmission, `formId` | `revision`, 2>\n): Promise<\n NonNullablePaths<\n FormSubmission,\n | `formId`\n | `namespace`\n | `status`\n | `seen`\n | `orderDetails.itemSubtotal`\n | `orderDetails.checkoutId`\n | `tags.tags.tagIds`,\n 4\n > & {\n __validationErrorsType?: UpdateSubmissionValidationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n submission: { ...submission, id: _id },\n });\n\n const reqOpts = ambassadorWixFormsV4Submission.updateSubmission(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.submission!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: { submission: '$[1]' },\n explicitPathsToArguments: { 'submission.id': '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['_id', 'submission']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpdateSubmission {\n /**\n * Submission ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * ID of the form which the submission belongs to.\n * @format GUID\n * @immutable\n */\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 * @minLength 10\n * @maxLength 50\n * @readonly\n */\n namespace?: string;\n /** Status of the submission. */\n status?: SubmissionStatusWithLiterals;\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 * @immutable\n */\n _createdDate?: Date | null;\n /**\n * Date and time the form submission was updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Revision number, which increments by 1 each time the form submission is updated. To prevent conflicting changes, the existing revision must be used when updating a form submission.\n * @readonly\n */\n revision?: string | null;\n /**\n * ID of the visitor that submitted the form.\n * @readonly\n */\n submitter?: Submitter;\n /** Whether a site owner marked a submission as \"seen\". */\n seen?: boolean;\n /** Data extension object that holds users' and apps' fields. */\n extendedFields?: ExtendedFields;\n /**\n * Order details. <br>\n * <b>Note</b>: This object is only applicable when submitting a form in the Wix Payments app.\n */\n orderDetails?: OrderDetails;\n /**\n * Contact ID of a site visitor who created the submission.\n * @format GUID\n * @immutable\n */\n contactId?: string | null;\n /**\n * Authorized viewer ID.\n * @format GUID\n * @immutable\n */\n accessRestriction?: string | null;\n /** Tag IDs collections associated with the current entity. */\n tags?: PublicTags;\n /**\n * Appointment details.\n * This object is only applicable when submitting a form that creates a booking appointment.\n */\n appointmentDetails?: AppointmentDetails;\n}\n\n/**\n * Confirms a submission.\n *\n *\n * You can only confirm a submission that has a `PENDING` status.\n * When using forms from the [Wix Pricing Plans](https://www.wix.com/app-market/paid-plans?referral=collection&appIndex=42&referralTag=made-by-wix&referralSectionName=made-by-wix) app, the default submission status is `PENDING`.\n * When using forms from the [Wix Forms]() app, the default form submission status is `CONFIRMED`. You can change the default status for individual submissions using the `updateSubmission()` method.\n * @param submissionId - Submission ID to confirm.\n * @public\n * @requiredField submissionId\n * @permissionId WIX_FORMS.SUBMISSION_UPDATE_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.ConfirmSubmission\n */\nexport async function confirmSubmission(\n submissionId: string\n): Promise<\n NonNullablePaths<\n ConfirmSubmissionResponse,\n | `submission.formId`\n | `submission.namespace`\n | `submission.status`\n | `submission.seen`\n | `submission.orderDetails.itemSubtotal`\n | `submission.orderDetails.checkoutId`\n | `submission.tags.tags.tagIds`,\n 5\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n submissionId: submissionId,\n });\n\n const reqOpts = ambassadorWixFormsV4Submission.confirmSubmission(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { submissionId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['submissionId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Deletes a submission.\n *\n *\n * This function moves the form submission into the trash bin. To delete the submission permanently, change the default `permanent` field value to `true.`\n * @param submissionId - ID of the submission to delete.\n * @public\n * @requiredField submissionId\n * @param options - Optional fields.\n * @permissionId WIX_FORMS.SUBMISSION_DELETE\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.DeleteSubmission\n */\nexport async function deleteSubmission(\n submissionId: string,\n options?: DeleteSubmissionOptions\n): Promise<void> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n submissionId: submissionId,\n permanent: options?.permanent,\n preserveFiles: options?.preserveFiles,\n });\n\n const reqOpts = ambassadorWixFormsV4Submission.deleteSubmission(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n submissionId: '$[0]',\n permanent: '$[1].permanent',\n preserveFiles: '$[1].preserveFiles',\n },\n singleArgumentUnchanged: false,\n },\n ['submissionId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport 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/**\n * Deletes submissions by IDS for specific form.\n * @param formId - Form ID.\n * @public\n * @documentationMaturity preview\n * @requiredField formId\n * @permissionId WIX_FORMS.SUBMISSION_DELETE\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.BulkDeleteSubmission\n */\nexport async function bulkDeleteSubmission(\n formId: string,\n options?: BulkDeleteSubmissionOptions\n): Promise<\n NonNullablePaths<\n BulkDeleteSubmissionResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n formId: formId,\n submissionIds: options?.submissionIds,\n permanent: options?.permanent,\n preserveFiles: options?.preserveFiles,\n });\n\n const reqOpts = ambassadorWixFormsV4Submission.bulkDeleteSubmission(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n formId: '$[0]',\n submissionIds: '$[1].submissionIds',\n permanent: '$[1].permanent',\n preserveFiles: '$[1].preserveFiles',\n },\n singleArgumentUnchanged: false,\n },\n ['formId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkDeleteSubmissionOptions {\n /**\n * Submission ids.\n * @minSize 1\n * @maxSize 100\n * @format GUID\n */\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/**\n * Restores deleted submission\n * @param submissionId - ID of the submission to restore.\n * @public\n * @documentationMaturity preview\n * @requiredField submissionId\n * @permissionId WIX_FORMS.SUBMISSION_UPDATE_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.RestoreSubmissionFromTrashBin\n */\nexport async function restoreSubmissionFromTrashBin(\n submissionId: string\n): Promise<\n NonNullablePaths<\n RestoreSubmissionFromTrashBinResponse,\n | `submission.formId`\n | `submission.namespace`\n | `submission.status`\n | `submission.seen`\n | `submission.orderDetails.itemSubtotal`\n | `submission.orderDetails.checkoutId`\n | `submission.tags.tags.tagIds`,\n 5\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n submissionId: submissionId,\n });\n\n const reqOpts =\n ambassadorWixFormsV4Submission.restoreSubmissionFromTrashBin(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { submissionId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['submissionId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Remove deleted submission\n * @param submissionId - ID of the submission to restore.\n * @public\n * @documentationMaturity preview\n * @requiredField submissionId\n * @permissionId WIX_FORMS.SUBMISSION_DELETE\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.RemoveSubmissionFromTrashBin\n */\nexport async function removeSubmissionFromTrashBin(\n submissionId: string\n): Promise<void> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n submissionId: submissionId,\n });\n\n const reqOpts =\n ambassadorWixFormsV4Submission.removeSubmissionFromTrashBin(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { submissionId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['submissionId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Remove multiple deleted submissions\n * @param formId - Form ID.\n * @public\n * @documentationMaturity preview\n * @requiredField formId\n * @permissionId WIX_FORMS.SUBMISSION_DELETE\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.BulkRemoveSubmissionFromTrashBin\n */\nexport async function bulkRemoveSubmissionFromTrashBin(\n formId: string,\n options?: BulkRemoveSubmissionFromTrashBinOptions\n): Promise<\n NonNullablePaths<\n BulkRemoveSubmissionFromTrashBinResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n formId: formId,\n submissionIds: options?.submissionIds,\n });\n\n const reqOpts =\n ambassadorWixFormsV4Submission.bulkRemoveSubmissionFromTrashBin(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n formId: '$[0]',\n submissionIds: '$[1].submissionIds',\n },\n singleArgumentUnchanged: false,\n },\n ['formId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkRemoveSubmissionFromTrashBinOptions {\n /**\n * Submission ids.\n * @minSize 1\n * @maxSize 100\n * @format GUID\n */\n submissionIds?: string[];\n}\n\n/**\n * List deleted submissions\n * @param formId - Form ID.\n * @public\n * @documentationMaturity preview\n * @requiredField formId\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.ListDeletedSubmissions\n */\nexport async function listDeletedSubmissions(\n formId: string,\n options?: ListDeletedSubmissionsOptions\n): Promise<\n NonNullablePaths<\n ListDeletedSubmissionsResponse,\n | `submissions`\n | `submissions.${number}.formId`\n | `submissions.${number}.namespace`\n | `submissions.${number}.status`\n | `submissions.${number}.seen`\n | `submissions.${number}.orderDetails.itemSubtotal`\n | `submissions.${number}.orderDetails.checkoutId`,\n 5\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n formId: formId,\n submissionIds: options?.submissionIds,\n paging: options?.paging,\n statuses: options?.statuses,\n });\n\n const reqOpts =\n ambassadorWixFormsV4Submission.listDeletedSubmissions(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n formId: '$[0]',\n submissionIds: '$[1].submissionIds',\n paging: '$[1].paging',\n statuses: '$[1].statuses',\n },\n singleArgumentUnchanged: false,\n },\n ['formId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ListDeletedSubmissionsOptions {\n /**\n * Submission ids.\n * @maxSize 10\n * @format GUID\n */\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 * @maxSize 4\n */\n statuses?: SubmissionStatusWithLiterals[];\n}\n\n/**\n * Get deleted submission\n * @param submissionId - Submission id.\n * @public\n * @documentationMaturity preview\n * @requiredField submissionId\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.GetDeletedSubmission\n */\nexport async function getDeletedSubmission(\n submissionId: string\n): Promise<\n NonNullablePaths<\n GetDeletedSubmissionResponse,\n | `submission.formId`\n | `submission.namespace`\n | `submission.status`\n | `submission.seen`\n | `submission.orderDetails.itemSubtotal`\n | `submission.orderDetails.checkoutId`\n | `submission.tags.tags.tagIds`,\n 5\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n submissionId: submissionId,\n });\n\n const reqOpts = ambassadorWixFormsV4Submission.getDeletedSubmission(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { submissionId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['submissionId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Deprecated on '2023-08-08'. Use QuerySubmissionsByNamespace.\n * @param query - Query options.\n * @public\n * @documentationMaturity preview\n * @requiredField query\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.QuerySubmission\n * @deprecated\n * @replacedBy com.wixpress.forms.v4.FormSubmissionService.QuerySubmissionsByNamespace\n * @targetRemovalDate 2025-04-01\n */\nexport async function querySubmission(\n query: CursorQuery,\n options?: QuerySubmissionOptions\n): Promise<\n NonNullablePaths<\n QuerySubmissionResponse,\n | `submissions`\n | `submissions.${number}.formId`\n | `submissions.${number}.namespace`\n | `submissions.${number}.status`\n | `submissions.${number}.seen`\n | `submissions.${number}.orderDetails.itemSubtotal`\n | `submissions.${number}.orderDetails.checkoutId`,\n 5\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n query: query,\n onlyYourOwn: options?.onlyYourOwn,\n });\n\n const reqOpts = ambassadorWixFormsV4Submission.querySubmission(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n query: '$[0]',\n onlyYourOwn: '$[1].onlyYourOwn',\n },\n singleArgumentUnchanged: false,\n },\n ['query', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport 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/**\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 * To learn about working with _Query_ endpoints, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language), [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination), and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).\n * @param search - Query options.\n * @public\n * @documentationMaturity preview\n * @requiredField search\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.SearchSubmissionsByNamespace\n */\nexport async function searchSubmissionsByNamespace(\n search: FormSubmissionSearch\n): Promise<\n NonNullablePaths<\n SearchSubmissionsByNamespaceResponse,\n | `submissions`\n | `submissions.${number}.formId`\n | `submissions.${number}.namespace`\n | `submissions.${number}.status`\n | `submissions.${number}.seen`\n | `submissions.${number}.orderDetails.itemSubtotal`\n | `submissions.${number}.orderDetails.checkoutId`,\n 5\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ search: search });\n\n const reqOpts =\n ambassadorWixFormsV4Submission.searchSubmissionsByNamespace(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { search: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['search']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface FormSubmissionSearchSpec extends SearchSpec {\n paging: 'cursor';\n wql: [\n {\n operators: ['$eq', '$in', '$ne', '$nin'];\n fields: ['_id'];\n sort: 'BOTH';\n },\n {\n operators: ['$eq', '$in', '$ne', '$nin'];\n fields: ['formId'];\n sort: 'BOTH';\n },\n {\n operators: ['$eq'];\n fields: ['namespace'];\n sort: 'NONE';\n },\n {\n operators: ['$eq', '$in', '$ne', '$nin'];\n fields: ['status'];\n sort: 'BOTH';\n },\n {\n operators: ['$eq', '$gt', '$gte', '$in', '$lt', '$lte', '$ne', '$nin'];\n fields: ['_createdDate'];\n sort: 'BOTH';\n }\n ];\n}\n\nexport type CommonSearchWithEntityContext = SearchSdkType<\n FormSubmission,\n FormSubmissionSearchSpec\n>;\nexport type FormSubmissionSearch = {\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?: {\n /** \n Number of items to load. \n @max: 100 \n */\n limit?:\n | NonNullable<CommonSearchWithEntityContext['cursorPaging']>['limit']\n | 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 @maxLength: 16000 \n */\n cursor?:\n | NonNullable<CommonSearchWithEntityContext['cursorPaging']>['cursor']\n | null;\n };\n /** \n A filter object. See documentation [here](https://bo.wix.com/wix-docs/rnd/platformization-guidelines/api-query-language#platformization-guidelines_api-query-language_defining-in-protobuf) \n */\n filter?: CommonSearchWithEntityContext['filter'] | null;\n /** \n Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}] \n @maxSize: 10 \n */\n sort?: {\n /** \n Name of the field to sort by. \n @maxLength: 512 \n */\n fieldName?: NonNullable<\n CommonSearchWithEntityContext['sort']\n >[number]['fieldName'];\n /** \n Sort order. \n */\n order?: NonNullable<CommonSearchWithEntityContext['sort']>[number]['order'];\n }[];\n /** \n Free text to match in searchable fields \n */\n search?: {\n /** \n Defines how separate search terms in `expression` are combined \n */\n mode?: NonNullable<CommonSearchWithEntityContext['search']>['mode'];\n /** \n Search term or expression \n @maxLength: 100 \n */\n expression?:\n | NonNullable<CommonSearchWithEntityContext['search']>['expression']\n | null;\n /** \n Flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm) \n */\n fuzzy?: NonNullable<CommonSearchWithEntityContext['search']>['fuzzy'];\n };\n};\n\nexport const utils = {\n search: {\n ...createSearchUtils<\n FormSubmission,\n FormSubmissionSearchSpec,\n FormSubmissionSearch\n >(),\n },\n query: {\n ...createQueryUtils<\n FormSubmission,\n FormSubmissionQuerySpec,\n FormSubmissionQuery\n >(),\n },\n};\n\n/**\n * Creates a query to retrieve a list of submissions.\n *\n *\n * The `querySubmissionsByNamespace()` method builds a query to retrieve a list of submissions from the specified namespace and returns a [`SubmissionsQueryBuilder`](#submissionsquerybuilder) object.\n * >**Note:** You can only query submissions from a specified namespace. Use the query filter on the `namespace` field, otherwise you will receive an error.\n *\n * The returned object contains the query definition, which is typically used to run the query using the [`find()`](#submissionsquerybuilder/find) method.\n *\n * You can refine the query by chaining `SubmissionsQueryBuilder` methods onto the query. `SubmissionsQueryBuilder` methods enable you to sort, filter, and control the results that `querySubmissionsByNamespace()` returns.\n *\n * The following `SubmissionsQueryBuilder` methods are supported for `querySubmissionsByNamespace()`. For a full description of the Submissions object, see the object returned for the [`items`](#submissionsqueryresult/items) property in [`SubmissionsQueryResult`](#submissionsqueryresult).\n * @public\n * @param options - Query options.\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.QuerySubmissionsByNamespace\n */\nexport function querySubmissionsByNamespace(\n options?: QuerySubmissionsByNamespaceOptions\n): SubmissionsQueryBuilder {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n return queryBuilder<\n FormSubmission,\n 'CURSOR',\n QuerySubmissionsByNamespaceRequest,\n QuerySubmissionsByNamespaceResponse\n >({\n func: async (payload: QuerySubmissionsByNamespaceRequest) => {\n const reqOpts =\n ambassadorWixFormsV4Submission.querySubmissionsByNamespace({\n ...payload,\n ...(options ?? {}),\n });\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n return result;\n } catch (err) {\n sideEffects?.onError?.(err);\n throw err;\n }\n },\n requestTransformer: (\n query: QuerySubmissionsByNamespaceRequest['query']\n ) => {\n const args = [query, options] as [\n QuerySubmissionsByNamespaceRequest['query'],\n QuerySubmissionsByNamespaceOptions\n ];\n return renameKeysFromSDKRequestToRESTRequest({\n ...args?.[1],\n query: args?.[0],\n });\n },\n responseTransformer: ({\n data,\n }: HttpResponse<QuerySubmissionsByNamespaceResponse>) => {\n const transformedData = renameKeysFromRESTResponseToSDKResponse(\n transformPaths(data, [])\n );\n\n return {\n items: transformedData?.submissions,\n pagingMetadata: transformedData?.metadata,\n };\n },\n errorTransformer: (err: unknown) => {\n const transformedError = sdkTransformError(err, {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n });\n\n throw transformedError;\n },\n pagingMethod: 'CURSOR',\n transformationPaths: {},\n });\n}\n\nexport 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\ninterface QueryCursorResult {\n cursors: Cursors;\n hasNext: () => boolean;\n hasPrev: () => boolean;\n length: number;\n pageSize: number;\n}\n\nexport interface SubmissionsQueryResult extends QueryCursorResult {\n items: FormSubmission[];\n query: SubmissionsQueryBuilder;\n next: () => Promise<SubmissionsQueryResult>;\n prev: () => Promise<SubmissionsQueryResult>;\n}\n\nexport interface SubmissionsQueryBuilder {\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n eq: (\n propertyName:\n | '_id'\n | 'formId'\n | 'namespace'\n | 'status'\n | '_createdDate'\n | '_updatedDate'\n | 'submitter.memberId'\n | 'submitter.visitorId'\n | 'submitter.applicationId'\n | 'submitter.userId'\n | 'seen'\n | 'orderDetails.checkoutId'\n | 'contactId',\n value: any\n ) => SubmissionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n ne: (\n propertyName:\n | '_id'\n | 'formId'\n | 'status'\n | '_createdDate'\n | '_updatedDate'\n | 'submitter.memberId'\n | 'submitter.visitorId'\n | 'submitter.applicationId'\n | 'submitter.userId'\n | 'seen'\n | 'orderDetails.checkoutId'\n | 'contactId',\n value: any\n ) => SubmissionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n ge: (\n propertyName: '_createdDate' | '_updatedDate',\n value: any\n ) => SubmissionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n gt: (\n propertyName: '_createdDate' | '_updatedDate',\n value: any\n ) => SubmissionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n le: (\n propertyName: '_createdDate' | '_updatedDate',\n value: any\n ) => SubmissionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n lt: (\n propertyName: '_createdDate' | '_updatedDate',\n value: any\n ) => SubmissionsQueryBuilder;\n in: (\n propertyName:\n | '_id'\n | 'formId'\n | 'status'\n | '_createdDate'\n | '_updatedDate'\n | 'submitter.memberId'\n | 'submitter.visitorId'\n | 'submitter.applicationId'\n | 'submitter.userId'\n | 'orderDetails.checkoutId'\n | 'contactId',\n value: any\n ) => SubmissionsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n ascending: (\n ...propertyNames: Array<\n | '_id'\n | 'formId'\n | 'status'\n | '_createdDate'\n | '_updatedDate'\n | 'submitter.memberId'\n | 'submitter.visitorId'\n | 'submitter.applicationId'\n | 'submitter.userId'\n | 'seen'\n | 'orderDetails.checkoutId'\n | 'contactId'\n >\n ) => SubmissionsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n descending: (\n ...propertyNames: Array<\n | '_id'\n | 'formId'\n | 'status'\n | '_createdDate'\n | '_updatedDate'\n | 'submitter.memberId'\n | 'submitter.visitorId'\n | 'submitter.applicationId'\n | 'submitter.userId'\n | 'seen'\n | 'orderDetails.checkoutId'\n | 'contactId'\n >\n ) => 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/**\n * @hidden\n * @fqn wix.forms.v4.FormSubmissionService.QuerySubmissionsByNamespace\n * @requiredField query\n */\nexport async function typedQuerySubmissionsByNamespace(\n query: FormSubmissionQuery,\n options?: QuerySubmissionsByNamespaceOptions\n): Promise<\n NonNullablePaths<\n QuerySubmissionsByNamespaceResponse,\n | `submissions`\n | `submissions.${number}.formId`\n | `submissions.${number}.namespace`\n | `submissions.${number}.status`\n | `submissions.${number}.seen`\n | `submissions.${number}.orderDetails.itemSubtotal`\n | `submissions.${number}.orderDetails.checkoutId`,\n 5\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n query: query,\n ...options,\n });\n\n const reqOpts =\n ambassadorWixFormsV4Submission.querySubmissionsByNamespace(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['query', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface FormSubmissionQuerySpec extends QuerySpec {\n paging: 'cursor';\n wql: [\n {\n fields: ['_id'];\n operators: ['$eq', '$in', '$ne', '$nin'];\n sort: 'BOTH';\n },\n {\n fields: ['formId'];\n operators: ['$eq', '$in', '$ne', '$nin'];\n sort: 'BOTH';\n },\n {\n fields: ['contactId'];\n operators: ['$eq', '$in', '$ne', '$nin'];\n sort: 'BOTH';\n },\n {\n fields: ['namespace'];\n operators: ['$eq'];\n sort: 'NONE';\n },\n {\n fields: ['status'];\n operators: ['$eq', '$in', '$ne', '$nin'];\n sort: 'BOTH';\n },\n {\n fields: ['seen'];\n operators: ['$eq', '$ne'];\n sort: 'BOTH';\n },\n {\n fields: ['_createdDate', '_updatedDate'];\n operators: ['$eq', '$gt', '$gte', '$in', '$lt', '$lte', '$ne', '$nin'];\n sort: 'BOTH';\n },\n {\n fields: [\n 'submitter.applicationId',\n 'submitter.memberId',\n 'submitter.userId',\n 'submitter.visitorId'\n ];\n operators: ['$eq', '$in', '$ne', '$nin'];\n sort: 'BOTH';\n },\n {\n fields: ['orderDetails.checkoutId'];\n operators: ['$eq', '$in', '$ne', '$nin'];\n sort: 'BOTH';\n }\n ];\n}\n\nexport type CommonQueryWithEntityContext = QuerySdkType<\n FormSubmission,\n FormSubmissionQuerySpec\n>;\nexport type FormSubmissionQuery = {\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?: {\n /** \n Number of items to load. \n @max: 100 \n */\n limit?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['limit']\n | 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 @maxLength: 16000 \n */\n cursor?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['cursor']\n | null;\n };\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?: CommonQueryWithEntityContext['filter'] | null;\n /** \n Sort object in the following format:\n `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]` \n @maxSize: 3 \n */\n sort?: {\n /** \n Name of the field to sort by. \n @maxLength: 512 \n */\n fieldName?: NonNullable<\n CommonQueryWithEntityContext['sort']\n >[number]['fieldName'];\n /** \n Sort order. \n */\n order?: NonNullable<CommonQueryWithEntityContext['sort']>[number]['order'];\n }[];\n};\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 * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.CountSubmissionsByFilter\n */\nexport async function countSubmissionsByFilter(\n filter: Record<string, any>,\n options?: CountSubmissionsByFilterOptions\n): Promise<\n NonNullablePaths<\n CountSubmissionsByFilterResponse,\n | `formsSubmissionsCount`\n | `formsSubmissionsCount.${number}.formId`\n | `formsSubmissionsCount.${number}.totalCount`\n | `formsSubmissionsCount.${number}.unseenCount`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n filter: filter,\n search: options?.search,\n });\n\n const reqOpts =\n ambassadorWixFormsV4Submission.countSubmissionsByFilter(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { filter: '$[0]', search: '$[1].search' },\n singleArgumentUnchanged: false,\n },\n ['filter', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CountSubmissionsByFilterOptions {\n /** Free text to match in searchable fields. */\n search?: SearchDetails;\n}\n\n/**\n * Counts the number of submissions belonging to the specified forms.\n *\n *\n * The `countSubmissions()` function is useful for analytics and tracking purposes. For example, if you have a contact form on your website, you can use this function to track how many submissions it receives daily, weekly, or monthly.\n * @public\n * @requiredField formIds\n * @requiredField namespace\n * @param namespace - The app which the form submissions belong to. For example, the namespace for the Wix Forms app is `wix.form_app.form`. Call `getSubmission()` to retrieve the namespace.\n * @param formIds - Form IDs which submissions should be counted.\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.CountSubmissions\n */\nexport async function countSubmissions(\n formIds: string[],\n namespace: string,\n options?: CountSubmissionsOptions\n): Promise<\n NonNullablePaths<\n CountSubmissionsResponse,\n | `formsSubmissionsCount`\n | `formsSubmissionsCount.${number}.formId`\n | `formsSubmissionsCount.${number}.totalCount`\n | `formsSubmissionsCount.${number}.unseenCount`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[3] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n formIds: formIds,\n namespace: namespace,\n statuses: options?.statuses,\n });\n\n const reqOpts = ambassadorWixFormsV4Submission.countSubmissions(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n formIds: '$[0]',\n namespace: '$[1]',\n statuses: '$[2].statuses',\n },\n singleArgumentUnchanged: false,\n },\n ['formIds', 'namespace', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport 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 * @maxSize 4\n */\n statuses?: SubmissionStatusWithLiterals[];\n}\n\n/**\n * > **Note:**\n * > The Submissions API is only available in the Wix Studio editor.\n *\n * Counts the number of submissions belonging to the specified forms.\n * @param formIds - Form IDs.\n * @param namespace - Identifies the app which the form submissions belong to. For example, the namespace for the Wix Forms App is `\"wix.form_app.form\"`. The namespace of a submission can be retrieved using the Get Submission endpoint.\n * @public\n * @documentationMaturity preview\n * @requiredField formIds\n * @requiredField namespace\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.CountDeletedSubmissions\n */\nexport async function countDeletedSubmissions(\n formIds: string[],\n namespace: string,\n options?: CountDeletedSubmissionsOptions\n): Promise<\n NonNullablePaths<\n CountDeletedSubmissionsResponse,\n | `formsDeletedSubmissionsCount`\n | `formsDeletedSubmissionsCount.${number}.formId`\n | `formsDeletedSubmissionsCount.${number}.totalCount`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[3] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n formIds: formIds,\n namespace: namespace,\n statuses: options?.statuses,\n });\n\n const reqOpts =\n ambassadorWixFormsV4Submission.countDeletedSubmissions(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n formIds: '$[0]',\n namespace: '$[1]',\n statuses: '$[2].statuses',\n },\n singleArgumentUnchanged: false,\n },\n ['formIds', 'namespace', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CountDeletedSubmissionsOptions {\n /**\n * List of statuses of submissions which should be taken into count\n * Default: CONFIRMED, PAYMENT_WAITING, PAYMENT_CANCELED\n * @maxSize 4\n */\n statuses?: SubmissionStatusWithLiterals[];\n}\n\n/**\n * Retrieves a URL generated by the [Media Manager](https://www.wix.com/velo/reference/wix-media-v2/files/generatefileuploadurl) to use when creating a submission that includes a field for uploading files.\n * > **Note:** You need at least a [Standard Premium](https://support.wix.com/en/article/choosing-a-premium-plan) plan for your site to upload files.\n *\n *\n * To learn how external clients can use the generated upload URL to upload a file to the Media Manager, see [Upload API](https://www.wix.com/velo/reference/wix-media-v2/files/upload-api).\n * @param formId - Form ID.\n * @param filename - Name of file to upload.\n * @param mimeType - [Mime type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types#) of file to upload.\n *\n * For example, `'image/png'`\n * @public\n * @requiredField filename\n * @requiredField formId\n * @requiredField mimeType\n * @permissionId WIX_FORMS.SUBMISSION_CREATE\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.GetMediaUploadURL\n */\nexport async function getMediaUploadUrl(\n formId: string,\n filename: string,\n mimeType: string\n): Promise<NonNullablePaths<GetMediaUploadURLResponse, `uploadUrl`, 2>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[3] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n formId: formId,\n filename: filename,\n mimeType: mimeType,\n });\n\n const reqOpts = ambassadorWixFormsV4Submission.getMediaUploadUrl(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n formId: '$[0]',\n filename: '$[1]',\n mimeType: '$[2]',\n },\n singleArgumentUnchanged: false,\n },\n ['formId', 'filename', 'mimeType']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Marks form submissions as \"seen\".\n *\n *\n * This function marks the submissions as if they were seen by the site owner. Only site collaborators with the **[Manage Submission](https://support.wix.com/en/article/roles-permissions-accessing-roles-permissions)** permissions can mark submissions.\n * @public\n * @requiredField formId\n * @requiredField ids\n * @param ids - IDs of submissions to mark as seen.\n * @param formId - ID of the form which the submissions belong to.\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.BulkMarkSubmissionsAsSeen\n */\nexport async function bulkMarkSubmissionsAsSeen(\n ids: string[],\n formId: string\n): Promise<NonNullablePaths<BulkMarkSubmissionsAsSeenResponse, `jobId`, 2>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n ids: ids,\n formId: formId,\n });\n\n const reqOpts =\n ambassadorWixFormsV4Submission.bulkMarkSubmissionsAsSeen(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { ids: '$[0]', formId: '$[1]' },\n singleArgumentUnchanged: false,\n },\n ['ids', 'formId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Gets submission as document which may include the document download url if the document is ready.\n * @param submissionId - Submission ID.\n * @public\n * @documentationMaturity preview\n * @requiredField submissionId\n * @permissionId WIX_FORMS.SUBMISSION_UPDATE_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.GetSubmissionDownloadUrl\n */\nexport async function getSubmissionDownloadUrl(\n submissionId: string\n): Promise<\n NonNullablePaths<\n GetSubmissionDownloadUrlResponse,\n `document.readyDetails.downloadUrl` | `document.status`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n submissionId: submissionId,\n });\n\n const reqOpts =\n ambassadorWixFormsV4Submission.getSubmissionDownloadUrl(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { submissionId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['submissionId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Download a submission document by redirecting to the document URL.\n * @param submissionId - Submission id for which the document is generated.\n * @param accessToken - Access token to download the document.\n * @public\n * @documentationMaturity preview\n * @requiredField accessToken\n * @requiredField submissionId\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.DownloadSubmission\n */\nexport async function downloadSubmission(\n submissionId: string,\n accessToken: string\n): Promise<\n NonNullablePaths<\n RawHttpResponse,\n `body` | `headers` | `headers.${number}.key` | `headers.${number}.value`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n submissionId: submissionId,\n accessToken: accessToken,\n });\n\n const reqOpts = ambassadorWixFormsV4Submission.downloadSubmission(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { submissionId: '$[0]', accessToken: '$[1]' },\n singleArgumentUnchanged: false,\n },\n ['submissionId', 'accessToken']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves a submission formatted by language\n * @param submissionId - Submission ID.\n * @public\n * @documentationMaturity preview\n * @requiredField submissionId\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.GetFormattedSubmission\n */\nexport async function getFormattedSubmission(\n submissionId: string\n): Promise<\n NonNullablePaths<\n GetFormattedSubmissionResponse,\n | `submissionId`\n | `submissions`\n | `submissions.${number}.key`\n | `submissions.${number}.value`\n | `submissions.${number}.fieldId`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n submissionId: submissionId,\n });\n\n const reqOpts =\n ambassadorWixFormsV4Submission.getFormattedSubmission(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { submissionId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['submissionId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Update Extended Fields of the Form\n * @param _id - ID of the entity to update.\n * @param namespace - Identifier for the app whose extended fields are being updated.\n * @public\n * @documentationMaturity preview\n * @requiredField _id\n * @requiredField namespace\n * @requiredField options\n * @requiredField options.namespaceData\n * @permissionId WIX_FORMS.SUBMISSION_UPDATE_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.UpdateExtendedFields\n */\nexport async function updateExtendedFields(\n _id: string,\n namespace: string,\n options: NonNullablePaths<UpdateExtendedFieldsOptions, `namespaceData`, 2>\n): Promise<NonNullablePaths<UpdateExtendedFieldsResponse, `namespace`, 2>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[3] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n id: _id,\n namespace: namespace,\n namespaceData: options?.namespaceData,\n });\n\n const reqOpts = ambassadorWixFormsV4Submission.updateExtendedFields(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n id: '$[0]',\n namespace: '$[1]',\n namespaceData: '$[2].namespaceData',\n },\n singleArgumentUnchanged: false,\n },\n ['_id', 'namespace', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpdateExtendedFieldsOptions {\n /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n namespaceData: Record<string, any> | null;\n}\n\n/**\n * Bulk update tags on form submissions.\n * @param submissionIds - Submission IDs to update tags for.\n * @internal\n * @documentationMaturity preview\n * @requiredField submissionIds\n * @permissionId WIX_FORMS.SUBMISSION_UPDATE_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.BulkUpdateFormSubmissionTags\n */\nexport async function bulkUpdateFormSubmissionTags(\n submissionIds: string[],\n options?: BulkUpdateFormSubmissionTagsOptions\n): Promise<\n NonNullablePaths<\n BulkUpdateFormSubmissionTagsResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n submissionIds: submissionIds,\n assignTags: options?.assignTags,\n unassignTags: options?.unassignTags,\n });\n\n const reqOpts =\n ambassadorWixFormsV4Submission.bulkUpdateFormSubmissionTags(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n submissionIds: '$[0]',\n assignTags: '$[1].assignTags',\n unassignTags: '$[1].unassignTags',\n },\n singleArgumentUnchanged: false,\n },\n ['submissionIds', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkUpdateFormSubmissionTagsOptions {\n /** Tags to be added to submissions */\n assignTags?: PublicTags;\n /** Tags to be removed from submissions */\n unassignTags?: PublicTags;\n}\n\n/**\n * Bulk update tags on form submissions by filter.\n * @param filter - Filter to select the submission to update\n * @internal\n * @documentationMaturity preview\n * @requiredField filter\n * @permissionId WIX_FORMS.SUBMISSION_UPDATE_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.BulkUpdateFormSubmissionTagsByFilter\n */\nexport async function bulkUpdateFormSubmissionTagsByFilter(\n filter: Record<string, any>,\n options?: BulkUpdateFormSubmissionTagsByFilterOptions\n): Promise<\n NonNullablePaths<BulkUpdateFormSubmissionTagsByFilterResponse, `jobId`, 2>\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n filter: filter,\n assignTags: options?.assignTags,\n unassignTags: options?.unassignTags,\n });\n\n const reqOpts =\n ambassadorWixFormsV4Submission.bulkUpdateFormSubmissionTagsByFilter(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n filter: '$[0]',\n assignTags: '$[1].assignTags',\n unassignTags: '$[1].unassignTags',\n },\n singleArgumentUnchanged: false,\n },\n ['filter', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkUpdateFormSubmissionTagsByFilterOptions {\n /** Tags to be added to submissions */\n assignTags?: PublicTags;\n /** Tags to be removed from submissions */\n unassignTags?: PublicTags;\n}\n\n/**\n * Called to validate submission before creation.\n * @param submission - Submission to validate.\n * @public\n * @documentationMaturity preview\n * @requiredField submission\n * @permissionId WIX_FORMS.SUBMISSION_CREATE\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.ValidateFormSubmission\n */\nexport async function validateFormSubmission(\n submission: FormSubmission,\n options?: ValidateFormSubmissionOptions\n): Promise<\n NonNullablePaths<\n ValidateFormSubmissionResponse,\n | `violationErrors`\n | `violationErrors.${number}.name`\n | `violationErrors.${number}.description`\n | `violationErrors.${number}.ruleName`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n submission: submission,\n additionalMetadata: options?.additionalMetadata,\n fieldsToValidate: options?.fieldsToValidate,\n });\n\n const reqOpts =\n ambassadorWixFormsV4Submission.validateFormSubmission(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n submission: '$[0]',\n additionalMetadata: '$[1].additionalMetadata',\n fieldsToValidate: '$[1].fieldsToValidate',\n },\n singleArgumentUnchanged: false,\n },\n ['submission', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ValidateFormSubmissionOptions {\n /** Optional metadata passed to SPI implementer, allowing clients to include additional business-specific data. */\n additionalMetadata?: Record<string, any> | null;\n /**\n * List of field targets/keys to validate, in case when only several fields should to be validated.\n * If empty, all form fields be validated\n * @maxSize 200\n * @maxLength 200\n */\n fieldsToValidate?: string[];\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformRESTBytesToSDKBytes } from '@wix/sdk-runtime/transformations/bytes';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformSDKFieldMaskToRESTFieldMask } from '@wix/sdk-runtime/transformations/field-mask';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\nimport {\n _Array,\n _Boolean,\n _Number,\n _Object,\n _String,\n} from './forms-v4-submission-submissions.types';\n\nfunction resolveWixFormsV4FormSubmissionServiceUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'api._api_base_domain_': [\n {\n srcPath: '/form-submission-service',\n destPath: '',\n },\n ],\n _: [\n {\n srcPath: '/_api/form-submission-service',\n destPath: '',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/_api/form-submission-service',\n destPath: '',\n },\n {\n srcPath: '/form-submission-service',\n destPath: '',\n },\n ],\n 'www._base_domain_': [\n {\n srcPath: '/_api/form-submission-service',\n destPath: '',\n },\n ],\n 'bo._base_domain_': [\n {\n srcPath: '/form-submission-service',\n destPath: '',\n },\n ],\n 'wixbo.ai': [\n {\n srcPath: '/form-submission-service',\n destPath: '',\n },\n ],\n 'wix-bo.com': [\n {\n srcPath: '/form-submission-service',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/form-submission-service',\n destPath: '',\n },\n {\n srcPath: '/_api/form-submission-service',\n destPath: '',\n },\n ],\n 'apps._base_domain_': [\n {\n srcPath: '/form-submission-service',\n destPath: '',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/form-submission-service',\n destPath: '',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/form-submission-service',\n destPath: '',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/form-submission-service',\n destPath: '',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/form-submission-service',\n destPath: '',\n },\n ],\n '*.wixforms.com': [\n {\n srcPath: '/_api/form-submission-service',\n destPath: '',\n },\n ],\n 'apps.wixel.com': [\n {\n srcPath: '/_api/form-submission-service',\n destPath: '',\n },\n ],\n '*.wixel.com': [\n {\n srcPath: '/_api/form-submission-service',\n destPath: '',\n },\n ],\n 'editor.wixapps.net': [\n {\n srcPath: '/_api/form-submission-service',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nfunction resolveWixFormsV4FormSubmissionContactUpsertServiceUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'bo._base_domain_': [\n {\n srcPath: '/form-submission-contact-mapping-service',\n destPath: '',\n },\n ],\n 'wixbo.ai': [\n {\n srcPath: '/form-submission-contact-mapping-service',\n destPath: '',\n },\n ],\n 'wix-bo.com': [\n {\n srcPath: '/form-submission-contact-mapping-service',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/form-submission-contact-mapping-service',\n destPath: '',\n },\n {\n srcPath: '/_api/form-submission-contact-mapping-service',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_forms_submissions';\n\n/** Upserts contact from submission. */\nexport function upsertContactFromSubmission(\n payload: object\n): RequestOptionsFactory<any> {\n function __upsertContactFromSubmission({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn:\n 'wix.forms.v4.FormSubmissionContactUpsertService.UpsertContactFromSubmission',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionContactUpsertServiceUrl({\n protoPath: '/v4/submissions-contacts',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __upsertContactFromSubmission;\n}\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 */\nexport function createSubmission(payload: object): RequestOptionsFactory<any> {\n function __createSubmission({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'submission.createdDate' },\n { path: 'submission.updatedDate' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.CreateSubmission',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'submission.createdDate' },\n { path: 'submission.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createSubmission;\n}\n\n/** Retrieves a submission by ID. */\nexport function getSubmission(payload: object): RequestOptionsFactory<any> {\n function __getSubmission({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'GET' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.GetSubmission',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/{submissionId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'submission.createdDate' },\n { path: 'submission.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getSubmission;\n}\n\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 */\nexport function updateSubmission(payload: object): RequestOptionsFactory<any> {\n function __updateSubmission({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFieldMaskToRESTFieldMask,\n paths: [{ path: 'mask' }],\n },\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'submission.createdDate' },\n { path: 'submission.updatedDate' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'PATCH' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.UpdateSubmission',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/{submission.id}',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'submission.createdDate' },\n { path: 'submission.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateSubmission;\n}\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 */\nexport function confirmSubmission(payload: object): RequestOptionsFactory<any> {\n function __confirmSubmission({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.ConfirmSubmission',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/{submissionId}/confirm',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'submission.createdDate' },\n { path: 'submission.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __confirmSubmission;\n}\n\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 */\nexport function deleteSubmission(payload: object): RequestOptionsFactory<any> {\n function __deleteSubmission({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'DELETE' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.DeleteSubmission',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/{submissionId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __deleteSubmission;\n}\n\n/** Deletes submissions by IDS for specific form. */\nexport function bulkDeleteSubmission(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkDeleteSubmission({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.BulkDeleteSubmission',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/bulk/submissions/delete',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __bulkDeleteSubmission;\n}\n\n/** Restores deleted submission */\nexport function restoreSubmissionFromTrashBin(\n payload: object\n): RequestOptionsFactory<any> {\n function __restoreSubmissionFromTrashBin({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn:\n 'wix.forms.v4.FormSubmissionService.RestoreSubmissionFromTrashBin',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/trash-bin/{submissionId}/restore',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'submission.createdDate' },\n { path: 'submission.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __restoreSubmissionFromTrashBin;\n}\n\n/** Remove deleted submission */\nexport function removeSubmissionFromTrashBin(\n payload: object\n): RequestOptionsFactory<any> {\n function __removeSubmissionFromTrashBin({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'DELETE' as any,\n methodFqn:\n 'wix.forms.v4.FormSubmissionService.RemoveSubmissionFromTrashBin',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/trash-bin/{submissionId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __removeSubmissionFromTrashBin;\n}\n\n/** Remove multiple deleted submissions */\nexport function bulkRemoveSubmissionFromTrashBin(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkRemoveSubmissionFromTrashBin({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn:\n 'wix.forms.v4.FormSubmissionService.BulkRemoveSubmissionFromTrashBin',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/trash-bin/delete',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __bulkRemoveSubmissionFromTrashBin;\n}\n\n/** List deleted submissions */\nexport function listDeletedSubmissions(\n payload: object\n): RequestOptionsFactory<any> {\n function __listDeletedSubmissions({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'GET' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.ListDeletedSubmissions',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/trash-bin',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'submissions.createdDate' },\n { path: 'submissions.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __listDeletedSubmissions;\n}\n\n/** Get deleted submission */\nexport function getDeletedSubmission(\n payload: object\n): RequestOptionsFactory<any> {\n function __getDeletedSubmission({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'GET' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.GetDeletedSubmission',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/trash-bin/{submissionId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'submission.createdDate' },\n { path: 'submission.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getDeletedSubmission;\n}\n\n/**\n * Deprecated on '2023-08-08'. Use QuerySubmissionsByNamespace.\n * @deprecated It has been replaced with com.wixpress.forms.v4.FormSubmissionService.QuerySubmissionsByNamespace(), and will be removed on 2025-04-01.\n */\nexport function querySubmission(payload: object): RequestOptionsFactory<any> {\n function __querySubmission({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.QuerySubmission',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/query',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'submissions.createdDate' },\n { path: 'submissions.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __querySubmission;\n}\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 * 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 */\nexport function searchSubmissionsByNamespace(\n payload: object\n): RequestOptionsFactory<any> {\n function __searchSubmissionsByNamespace({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn:\n 'wix.forms.v4.FormSubmissionService.SearchSubmissionsByNamespace',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/namespace/search',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'submissions.createdDate' },\n { path: 'submissions.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __searchSubmissionsByNamespace;\n}\n\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 */\nexport function querySubmissionsByNamespace(\n payload: object\n): RequestOptionsFactory<any> {\n function __querySubmissionsByNamespace({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn:\n 'wix.forms.v4.FormSubmissionService.QuerySubmissionsByNamespace',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/namespace/query',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'submissions.createdDate' },\n { path: 'submissions.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __querySubmissionsByNamespace;\n}\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 */\nexport function countSubmissionsByFilter(\n payload: object\n): RequestOptionsFactory<any> {\n function __countSubmissionsByFilter({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.CountSubmissionsByFilter',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/count-by-filter',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __countSubmissionsByFilter;\n}\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 */\nexport function countSubmissions(payload: object): RequestOptionsFactory<any> {\n function __countSubmissions({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.CountSubmissions',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/count',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __countSubmissions;\n}\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 */\nexport function countDeletedSubmissions(\n payload: object\n): RequestOptionsFactory<any> {\n function __countDeletedSubmissions({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.CountDeletedSubmissions',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/trash-bin/count',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __countDeletedSubmissions;\n}\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 */\nexport function getMediaUploadUrl(payload: object): RequestOptionsFactory<any> {\n function __getMediaUploadUrl({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.GetMediaUploadURL',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/media-upload-url',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __getMediaUploadUrl;\n}\n\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 */\nexport function bulkMarkSubmissionsAsSeen(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkMarkSubmissionsAsSeen({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.BulkMarkSubmissionsAsSeen',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/bulk/submissions/mark-as-seen',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __bulkMarkSubmissionsAsSeen;\n}\n\n/** Gets submission as document which may include the document download url if the document is ready. */\nexport function getSubmissionDownloadUrl(\n payload: object\n): RequestOptionsFactory<any> {\n function __getSubmissionDownloadUrl({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'GET' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.GetSubmissionDownloadUrl',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/{submissionId}/document',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __getSubmissionDownloadUrl;\n}\n\n/** Download a submission document by redirecting to the document URL. */\nexport function downloadSubmission(\n payload: object\n): RequestOptionsFactory<any> {\n function __downloadSubmission({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'GET' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.DownloadSubmission',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/{submissionId}/download',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTBytesToSDKBytes,\n paths: [{ path: 'body' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __downloadSubmission;\n}\n\n/** Retrieves a submission formatted by language */\nexport function getFormattedSubmission(\n payload: object\n): RequestOptionsFactory<any> {\n function __getFormattedSubmission({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'GET' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.GetFormattedSubmission',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/{submissionId}/formatted',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __getFormattedSubmission;\n}\n\n/** Update Extended Fields of the Form */\nexport function updateExtendedFields(\n payload: object\n): RequestOptionsFactory<any> {\n function __updateExtendedFields({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.UpdateExtendedFields',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/{id}/extended-fields',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __updateExtendedFields;\n}\n\n/** Bulk update tags on form submissions. */\nexport function bulkUpdateFormSubmissionTags(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkUpdateFormSubmissionTags({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn:\n 'wix.forms.v4.FormSubmissionService.BulkUpdateFormSubmissionTags',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/bulk/submissions/update-tags',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __bulkUpdateFormSubmissionTags;\n}\n\n/** Bulk update tags on form submissions by filter. */\nexport function bulkUpdateFormSubmissionTagsByFilter(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkUpdateFormSubmissionTagsByFilter({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn:\n 'wix.forms.v4.FormSubmissionService.BulkUpdateFormSubmissionTagsByFilter',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/bulk/submissions/update-tags-by-filter',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __bulkUpdateFormSubmissionTagsByFilter;\n}\n\n/** Called to validate submission before creation. */\nexport function validateFormSubmission(\n payload: object\n): RequestOptionsFactory<any> {\n function __validateFormSubmission({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'submission.createdDate' },\n { path: 'submission.updatedDate' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.ValidateFormSubmission',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/validate',\n data: serializedData,\n host,\n }),\n data: serializedData,\n };\n\n return metadata;\n }\n\n return __validateFormSubmission;\n}\n","import {\n upsertContactFromSubmission as publicUpsertContactFromSubmission,\n createSubmission as publicCreateSubmission,\n getSubmission as publicGetSubmission,\n updateSubmission as publicUpdateSubmission,\n confirmSubmission as publicConfirmSubmission,\n deleteSubmission as publicDeleteSubmission,\n bulkDeleteSubmission as publicBulkDeleteSubmission,\n restoreSubmissionFromTrashBin as publicRestoreSubmissionFromTrashBin,\n removeSubmissionFromTrashBin as publicRemoveSubmissionFromTrashBin,\n bulkRemoveSubmissionFromTrashBin as publicBulkRemoveSubmissionFromTrashBin,\n listDeletedSubmissions as publicListDeletedSubmissions,\n getDeletedSubmission as publicGetDeletedSubmission,\n querySubmission as publicQuerySubmission,\n searchSubmissionsByNamespace as publicSearchSubmissionsByNamespace,\n querySubmissionsByNamespace as publicQuerySubmissionsByNamespace,\n typedQuerySubmissionsByNamespace as publicTypedQuerySubmissionsByNamespace,\n countSubmissionsByFilter as publicCountSubmissionsByFilter,\n countSubmissions as publicCountSubmissions,\n countDeletedSubmissions as publicCountDeletedSubmissions,\n getMediaUploadUrl as publicGetMediaUploadUrl,\n bulkMarkSubmissionsAsSeen as publicBulkMarkSubmissionsAsSeen,\n getSubmissionDownloadUrl as publicGetSubmissionDownloadUrl,\n downloadSubmission as publicDownloadSubmission,\n getFormattedSubmission as publicGetFormattedSubmission,\n updateExtendedFields as publicUpdateExtendedFields,\n bulkUpdateFormSubmissionTags as publicBulkUpdateFormSubmissionTags,\n bulkUpdateFormSubmissionTagsByFilter as publicBulkUpdateFormSubmissionTagsByFilter,\n validateFormSubmission as publicValidateFormSubmission,\n} from './forms-v4-submission-submissions.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { createEventModule } from '@wix/sdk-runtime/event-definition-modules';\nimport {\n BuildRESTFunction,\n MaybeContext,\n BuildEventDefinition,\n} from '@wix/sdk-types';\nimport { HttpClient } from '@wix/sdk-types';\nimport { createQueryOverloadRouter } from '@wix/sdk-runtime/query-method-router';\nimport {\n FormSubmissionQuery,\n QuerySubmissionsByNamespaceOptions,\n SubmissionsQueryBuilder,\n typedQuerySubmissionsByNamespace as universalTypedQuerySubmissionsByNamespace,\n} from './forms-v4-submission-submissions.universal.js';\nimport { onSubmissionCreated as publicOnSubmissionCreated } from './forms-v4-submission-submissions.public.js';\nimport { onSubmissionDeleted as publicOnSubmissionDeleted } from './forms-v4-submission-submissions.public.js';\nimport { onSubmissionRemovedSubmissionFromTrash as publicOnSubmissionRemovedSubmissionFromTrash } from './forms-v4-submission-submissions.public.js';\nimport { onSubmissionStatusUpdated as publicOnSubmissionStatusUpdated } from './forms-v4-submission-submissions.public.js';\nimport { onSubmissionContactMapped as publicOnSubmissionContactMapped } from './forms-v4-submission-submissions.public.js';\nimport { onSubmissionContactMappingSkipped as publicOnSubmissionContactMappingSkipped } from './forms-v4-submission-submissions.public.js';\nimport { onSubmissionUpdated as publicOnSubmissionUpdated } from './forms-v4-submission-submissions.public.js';\n\nfunction customQuerySubmissionsByNamespace(httpClient: HttpClient) {\n const router = createQueryOverloadRouter({\n builderQueryFunction: (options?: QuerySubmissionsByNamespaceOptions) =>\n publicQuerySubmissionsByNamespace(httpClient)(options),\n typedQueryFunction: (\n query: FormSubmissionQuery,\n options?: QuerySubmissionsByNamespaceOptions\n ) => publicTypedQuerySubmissionsByNamespace(httpClient)(query, options),\n hasOptionsParameter: true,\n });\n\n function overloadedQuery(\n query: FormSubmissionQuery,\n options?: QuerySubmissionsByNamespaceOptions\n ): ReturnType<typeof universalTypedQuerySubmissionsByNamespace>;\n function overloadedQuery(\n options?: QuerySubmissionsByNamespaceOptions\n ): SubmissionsQueryBuilder;\n function overloadedQuery(\n queryOrOptions?: FormSubmissionQuery | QuerySubmissionsByNamespaceOptions,\n options?: QuerySubmissionsByNamespaceOptions\n ): any {\n return router(...arguments);\n }\n\n return overloadedQuery;\n}\n\nexport const upsertContactFromSubmission: MaybeContext<\n BuildRESTFunction<typeof publicUpsertContactFromSubmission> &\n typeof publicUpsertContactFromSubmission\n> = /*#__PURE__*/ createRESTModule(publicUpsertContactFromSubmission);\nexport const createSubmission: MaybeContext<\n BuildRESTFunction<typeof publicCreateSubmission> &\n typeof publicCreateSubmission\n> = /*#__PURE__*/ createRESTModule(publicCreateSubmission);\nexport const getSubmission: MaybeContext<\n BuildRESTFunction<typeof publicGetSubmission> & typeof publicGetSubmission\n> = /*#__PURE__*/ createRESTModule(publicGetSubmission);\nexport const updateSubmission: MaybeContext<\n BuildRESTFunction<typeof publicUpdateSubmission> &\n typeof publicUpdateSubmission\n> = /*#__PURE__*/ createRESTModule(publicUpdateSubmission);\nexport const confirmSubmission: MaybeContext<\n BuildRESTFunction<typeof publicConfirmSubmission> &\n typeof publicConfirmSubmission\n> = /*#__PURE__*/ createRESTModule(publicConfirmSubmission);\nexport const deleteSubmission: MaybeContext<\n BuildRESTFunction<typeof publicDeleteSubmission> &\n typeof publicDeleteSubmission\n> = /*#__PURE__*/ createRESTModule(publicDeleteSubmission);\nexport const bulkDeleteSubmission: MaybeContext<\n BuildRESTFunction<typeof publicBulkDeleteSubmission> &\n typeof publicBulkDeleteSubmission\n> = /*#__PURE__*/ createRESTModule(publicBulkDeleteSubmission);\nexport const restoreSubmissionFromTrashBin: MaybeContext<\n BuildRESTFunction<typeof publicRestoreSubmissionFromTrashBin> &\n typeof publicRestoreSubmissionFromTrashBin\n> = /*#__PURE__*/ createRESTModule(publicRestoreSubmissionFromTrashBin);\nexport const removeSubmissionFromTrashBin: MaybeContext<\n BuildRESTFunction<typeof publicRemoveSubmissionFromTrashBin> &\n typeof publicRemoveSubmissionFromTrashBin\n> = /*#__PURE__*/ createRESTModule(publicRemoveSubmissionFromTrashBin);\nexport const bulkRemoveSubmissionFromTrashBin: MaybeContext<\n BuildRESTFunction<typeof publicBulkRemoveSubmissionFromTrashBin> &\n typeof publicBulkRemoveSubmissionFromTrashBin\n> = /*#__PURE__*/ createRESTModule(publicBulkRemoveSubmissionFromTrashBin);\nexport const listDeletedSubmissions: MaybeContext<\n BuildRESTFunction<typeof publicListDeletedSubmissions> &\n typeof publicListDeletedSubmissions\n> = /*#__PURE__*/ createRESTModule(publicListDeletedSubmissions);\nexport const getDeletedSubmission: MaybeContext<\n BuildRESTFunction<typeof publicGetDeletedSubmission> &\n typeof publicGetDeletedSubmission\n> = /*#__PURE__*/ createRESTModule(publicGetDeletedSubmission);\nexport const querySubmission: MaybeContext<\n BuildRESTFunction<typeof publicQuerySubmission> & typeof publicQuerySubmission\n> = /*#__PURE__*/ createRESTModule(publicQuerySubmission);\nexport const searchSubmissionsByNamespace: MaybeContext<\n BuildRESTFunction<typeof publicSearchSubmissionsByNamespace> &\n typeof publicSearchSubmissionsByNamespace\n> = /*#__PURE__*/ createRESTModule(publicSearchSubmissionsByNamespace);\nexport const countSubmissionsByFilter: MaybeContext<\n BuildRESTFunction<typeof publicCountSubmissionsByFilter> &\n typeof publicCountSubmissionsByFilter\n> = /*#__PURE__*/ createRESTModule(publicCountSubmissionsByFilter);\nexport const countSubmissions: MaybeContext<\n BuildRESTFunction<typeof publicCountSubmissions> &\n typeof publicCountSubmissions\n> = /*#__PURE__*/ createRESTModule(publicCountSubmissions);\nexport const countDeletedSubmissions: MaybeContext<\n BuildRESTFunction<typeof publicCountDeletedSubmissions> &\n typeof publicCountDeletedSubmissions\n> = /*#__PURE__*/ createRESTModule(publicCountDeletedSubmissions);\nexport const getMediaUploadUrl: MaybeContext<\n BuildRESTFunction<typeof publicGetMediaUploadUrl> &\n typeof publicGetMediaUploadUrl\n> = /*#__PURE__*/ createRESTModule(publicGetMediaUploadUrl);\nexport const bulkMarkSubmissionsAsSeen: MaybeContext<\n BuildRESTFunction<typeof publicBulkMarkSubmissionsAsSeen> &\n typeof publicBulkMarkSubmissionsAsSeen\n> = /*#__PURE__*/ createRESTModule(publicBulkMarkSubmissionsAsSeen);\nexport const getSubmissionDownloadUrl: MaybeContext<\n BuildRESTFunction<typeof publicGetSubmissionDownloadUrl> &\n typeof publicGetSubmissionDownloadUrl\n> = /*#__PURE__*/ createRESTModule(publicGetSubmissionDownloadUrl);\nexport const downloadSubmission: MaybeContext<\n BuildRESTFunction<typeof publicDownloadSubmission> &\n typeof publicDownloadSubmission\n> = /*#__PURE__*/ createRESTModule(publicDownloadSubmission);\nexport const getFormattedSubmission: MaybeContext<\n BuildRESTFunction<typeof publicGetFormattedSubmission> &\n typeof publicGetFormattedSubmission\n> = /*#__PURE__*/ createRESTModule(publicGetFormattedSubmission);\nexport const updateExtendedFields: MaybeContext<\n BuildRESTFunction<typeof publicUpdateExtendedFields> &\n typeof publicUpdateExtendedFields\n> = /*#__PURE__*/ createRESTModule(publicUpdateExtendedFields);\n/** @internal */\nexport const bulkUpdateFormSubmissionTags: MaybeContext<\n BuildRESTFunction<typeof publicBulkUpdateFormSubmissionTags> &\n typeof publicBulkUpdateFormSubmissionTags\n> = /*#__PURE__*/ createRESTModule(publicBulkUpdateFormSubmissionTags);\n/** @internal */\nexport const bulkUpdateFormSubmissionTagsByFilter: MaybeContext<\n BuildRESTFunction<typeof publicBulkUpdateFormSubmissionTagsByFilter> &\n typeof publicBulkUpdateFormSubmissionTagsByFilter\n> = /*#__PURE__*/ createRESTModule(publicBulkUpdateFormSubmissionTagsByFilter);\nexport const validateFormSubmission: MaybeContext<\n BuildRESTFunction<typeof publicValidateFormSubmission> &\n typeof publicValidateFormSubmission\n> = /*#__PURE__*/ createRESTModule(publicValidateFormSubmission);\nexport const querySubmissionsByNamespace: MaybeContext<\n BuildRESTFunction<typeof customQuerySubmissionsByNamespace> &\n typeof customQuerySubmissionsByNamespace\n> = /*#__PURE__*/ createRESTModule(customQuerySubmissionsByNamespace);\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 * Triggered when a submission is created.\n */\nexport const onSubmissionCreated: BuildEventDefinition<\n typeof publicOnSubmissionCreated\n> &\n typeof publicOnSubmissionCreated = createEventModule(\n publicOnSubmissionCreated\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 * Triggered when a submission is deleted.\n */\nexport const onSubmissionDeleted: BuildEventDefinition<\n typeof publicOnSubmissionDeleted\n> &\n typeof publicOnSubmissionDeleted = createEventModule(\n publicOnSubmissionDeleted\n);\n/** */\nexport const onSubmissionRemovedSubmissionFromTrash: BuildEventDefinition<\n typeof publicOnSubmissionRemovedSubmissionFromTrash\n> &\n typeof publicOnSubmissionRemovedSubmissionFromTrash = createEventModule(\n publicOnSubmissionRemovedSubmissionFromTrash\n);\n/** */\nexport const onSubmissionStatusUpdated: BuildEventDefinition<\n typeof publicOnSubmissionStatusUpdated\n> &\n typeof publicOnSubmissionStatusUpdated = createEventModule(\n publicOnSubmissionStatusUpdated\n);\n/** */\nexport const onSubmissionContactMapped: BuildEventDefinition<\n typeof publicOnSubmissionContactMapped\n> &\n typeof publicOnSubmissionContactMapped = createEventModule(\n publicOnSubmissionContactMapped\n);\n/** */\nexport const onSubmissionContactMappingSkipped: BuildEventDefinition<\n typeof publicOnSubmissionContactMappingSkipped\n> &\n typeof publicOnSubmissionContactMappingSkipped = createEventModule(\n publicOnSubmissionContactMappingSkipped\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 * Triggered when:\n * - Submission is updated.\n * - Submission order status is updated.\n * - Submission is confirmed.\n */\nexport const onSubmissionUpdated: BuildEventDefinition<\n typeof publicOnSubmissionUpdated\n> &\n typeof publicOnSubmissionUpdated = createEventModule(\n publicOnSubmissionUpdated\n);\n\nexport {\n SubmissionStatus,\n OptInLevel,\n WebhookIdentityType,\n StringTypeFormatEnumFormat,\n DayOfWeek,\n ValidationFormat,\n ProductType,\n PriceType,\n FieldType,\n FormatEnumFormat,\n StringComponentType,\n NodeType,\n BackgroundType,\n GradientType,\n WidthType,\n PluginContainerDataAlignment,\n ButtonDataType,\n LinkTarget,\n TextAlignment,\n LineStyle,\n Width,\n DividerDataAlignment,\n ViewMode,\n LayoutType,\n Orientation,\n Crop,\n ThumbnailsAlignment,\n GIFType,\n Source,\n StylesPosition,\n MapType,\n ViewRole,\n VoteRole,\n PollLayoutType,\n PollLayoutDirection,\n PollDesignBackgroundType,\n DecorationType,\n FontType,\n Position,\n AspectRatio,\n Resizing,\n Placement,\n CardStylesType,\n CardStylesAlignment,\n Layout,\n AppType,\n InitialExpandedItems,\n Direction,\n VerticalAlignment,\n NullValue,\n ImageScalingScaling,\n LayoutDataImagePosition,\n Origin,\n LayoutDataBackgroundType,\n BackdropType,\n VerticalAlignmentAlignment,\n ResponsivenessBehaviour,\n DesignTarget,\n Scaling,\n ImagePositionPosition,\n CardDataBackgroundType,\n ListStyle,\n Indentation,\n ImagePosition,\n Alignment,\n ImageFit,\n NumberOfColumns,\n FirstDayOfWeek,\n NumberComponentType,\n BooleanComponentType,\n ItemType,\n PropertiesTypeEnum,\n ArrayComponentType,\n WixFileComponentType,\n UploadFileFormat,\n PaymentComponentType,\n ComponentType,\n Type,\n ObjectArrayComponentType,\n SchedulingComponentType,\n Format,\n MeetingType,\n StaffStrategySelection,\n InputType,\n EmailInfoTag,\n PhoneInfoTag,\n Tag,\n ConfirmationLevel,\n SubscriptionChannel,\n ContactField,\n DisplayFieldType,\n OverrideEntityType,\n Kind,\n FormFieldContactInfoEmailInfoTag,\n FormFieldContactInfoPhoneInfoTag,\n AddressInfoTag,\n SubscriptionInfoOptInLevel,\n FormFieldContactInfoContactField,\n SpamFilterProtectionLevel,\n RequiredIndicator,\n RequiredIndicatorPlacement,\n Target,\n SubmitSuccessAction,\n ChangeableProperty,\n OverrideEntityTypeEnumOverrideEntityType,\n Operator,\n ResultsDisplay,\n ContactAutofill,\n SubmissionAccess,\n IdentityType,\n ErrorType,\n SortOrder,\n Mode,\n Status,\n SubmissionErrorType,\n} from './forms-v4-submission-submissions.universal.js';\nexport {\n FormSubmission,\n Submitter,\n SubmitterSubmitterOneOf,\n ExtendedFields,\n OrderDetails,\n PublicTags,\n TagList,\n AppointmentDetails,\n FormSubmissionStatusUpdatedEvent,\n RemovedSubmissionFromTrash,\n SubmissionContactMapped,\n MarketingSubscriptionDetails,\n SubmissionContactMappingSkipped,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n AccountInfo,\n CreateCheckoutFromSubmissionRequest,\n CreateCheckoutFromSubmissionRequestFormSchemaIdentifierOneOf,\n Form,\n FormField,\n FormFieldStringType,\n FormFieldStringTypeFormatOptionsOneOf,\n StringErrorMessages,\n DateTimeAdvancedConstraints,\n Availability,\n DateRange,\n StringTypeDateTimeConstraints,\n StringTypePhoneConstraints,\n StringTypeValidationMessages,\n FormFieldNumberType,\n NumberErrorMessages,\n IntegerType,\n FormFieldBooleanType,\n BooleanErrorMessages,\n FormFieldArrayType,\n FormFieldObjectType,\n ObjectTypePropertiesType,\n ObjectTypePropertiesTypePropertiesTypeOneOf,\n ObjectErrorMessages,\n ArrayTypeArrayItems,\n ArrayTypeArrayItemsItemsOneOf,\n ArrayErrorMessages,\n PredefinedValidation,\n PredefinedValidationFormatOptionsOneOf,\n PaymentType,\n QuantityLimit,\n FixedPriceOptions,\n DynamicPriceOptions,\n Product,\n ProductPriceOptionsOneOf,\n MultilineAddressValidation,\n FieldOverrides,\n FieldsOverrides,\n ObjectArrayType,\n NestedFormFieldOverrides,\n Validation,\n ValidationValidationOneOf,\n DataExtensionsDetails,\n NestedFormOverrides,\n Field,\n FieldFieldTypeOptionsOneOf,\n InputField,\n InputFieldInputTypeOptionsOneOf,\n StringCorrectAnswersList,\n StringType,\n StringTypeFormatOptionsOneOf,\n DateTimeConstraints,\n PhoneConstraints,\n ValidationMessages,\n StringQuizFieldSettings,\n TextInput,\n RichContent,\n Node,\n NodeDataOneOf,\n NodeStyle,\n ButtonData,\n Gradient,\n Stop,\n Border,\n Colors,\n Background,\n PluginContainerData,\n PluginContainerDataWidth,\n PluginContainerDataWidthDataOneOf,\n Spoiler,\n Height,\n Styles,\n Link,\n LinkDataOneOf,\n Rel,\n CodeBlockData,\n TextStyle,\n DividerData,\n FileData,\n FileSource,\n FileSourceDataOneOf,\n PDFSettings,\n GalleryData,\n Media,\n Image,\n Video,\n Item,\n ItemDataOneOf,\n GalleryOptions,\n GalleryOptionsLayout,\n ItemStyle,\n Thumbnails,\n GIFData,\n GIF,\n HeadingData,\n HTMLData,\n HTMLDataDataOneOf,\n ImageData,\n StylesBorder,\n ImageDataStyles,\n LinkPreviewData,\n LinkPreviewDataStyles,\n MapData,\n MapSettings,\n ParagraphData,\n PollData,\n Permissions,\n PollOption,\n Settings,\n PollLayout,\n OptionLayout,\n BackgroundGradient,\n PollDesignBackground,\n PollDesignBackgroundBackgroundOneOf,\n PollDesign,\n OptionDesign,\n Poll,\n PollDataLayout,\n Design,\n TextData,\n Decoration,\n DecorationDataOneOf,\n AnchorData,\n ColorData,\n LinkData,\n MentionData,\n FontSizeData,\n SpoilerData,\n FontFamilyData,\n AppEmbedData,\n AppEmbedDataAppDataOneOf,\n BookingData,\n EventData,\n ButtonStyles,\n ImageStyles,\n RibbonStyles,\n CardStyles,\n PricingData,\n VideoData,\n PlaybackOptions,\n EmbedData,\n Oembed,\n CollapsibleListData,\n TableData,\n Dimensions,\n TableCellData,\n CellStyle,\n BorderColors,\n BorderWidths,\n ListValue,\n AudioData,\n OrderedListData,\n BulletedListData,\n BlockquoteData,\n CaptionData,\n LayoutData,\n LayoutDataBackgroundImage,\n Banner,\n LayoutDataBackground,\n Backdrop,\n LayoutCellData,\n ShapeData,\n ShapeDataStyles,\n CardData,\n CardDataBackground,\n BackgroundImage,\n TocData,\n Metadata,\n DocumentStyle,\n TextNodeStyle,\n MediaItem,\n MediaItemMediaOneOf,\n MediaSettings,\n RadioGroup,\n RadioGroupOption,\n CustomOption,\n Dropdown,\n DropdownOption,\n DateTimeInput,\n PhoneInput,\n DateInput,\n TimeInput,\n DatePicker,\n ServicesDropdown,\n ServiceOption,\n Password,\n NumberCorrectAnswersList,\n NumberType,\n NumberQuizFieldSettings,\n NumberInput,\n RatingInput,\n BooleanType,\n Checkbox,\n CorrectAnswersList,\n ArrayType,\n ObjectType,\n PropertiesType,\n PropertiesTypePropertiesTypeOptionsOneOf,\n ArrayItems,\n ArrayItemsItemTypeOptionsOneOf,\n QuizFieldSettings,\n CheckboxGroup,\n Option,\n ComponentsTags,\n TagsOption,\n ServicesCheckboxGroup,\n FileType,\n FileUpload,\n Signature,\n ProductCheckboxGroup,\n ProductCheckboxGroupOption,\n DonationInput,\n DonationInputOption,\n PaymentInput,\n FixedPayment,\n MultilineAddress,\n AddressLine2,\n DefaultCountryConfig,\n DefaultCountryConfigOptionsOneOf,\n FieldsSettings,\n Repeater,\n FormLayout,\n BreakPoint,\n ItemLayout,\n ItemLayoutItemOneOf,\n Group,\n Margin,\n Section,\n Appointment,\n AppointmentFormatInfoOneOf,\n Location,\n LocationLocationInfoOneOf,\n InPersonOptions,\n VideoConferenceOptions,\n PhoneOptions,\n FormFieldContactInfo,\n FormFieldContactInfoAdditionalInfoOneOf,\n EmailInfo,\n PhoneInfo,\n AddressInfo,\n CustomFieldInfo,\n SubscriptionInfo,\n _String,\n _StringComponentTypeOptionsOneOf,\n _Number,\n _NumberComponentTypeOptionsOneOf,\n _Boolean,\n _BooleanComponentTypeOptionsOneOf,\n _Array,\n _ArrayComponentTypeOptionsOneOf,\n _Object,\n WixFile,\n WixFileComponentTypeOptionsOneOf,\n Payment,\n PaymentComponentTypeOptionsOneOf,\n Scheduling,\n SchedulingComponentTypeOptionsOneOf,\n Address,\n AddressComponentTypeOptionsOneOf,\n ObjectArray,\n ObjectArrayComponentTypeOptionsOneOf,\n DisplayField,\n DisplayFieldDisplayFieldTypeOptionsOneOf,\n RichContentOptions,\n PageNavigationOptions,\n Step,\n FormRule,\n FormOverride,\n FormProperties,\n PostSubmissionTriggers,\n UpsertContact,\n V4FormFieldContactInfo,\n V4FormFieldContactInfoAdditionalInfoOneOf,\n FormFieldContactInfoEmailInfo,\n FormFieldContactInfoPhoneInfo,\n FormFieldContactInfoAddressInfo,\n FormFieldContactInfoCustomFieldInfo,\n FormFieldContactInfoSubscriptionInfo,\n NestedForm,\n LimitationRule,\n RequiredIndicatorProperties,\n SubmitSettings,\n SubmitSettingsSubmitSuccessActionOptionsOneOf,\n ThankYouMessageOptions,\n RedirectOptions,\n PopupOptions,\n FieldGroup,\n Rule,\n RequiredOptions,\n HiddenOptions,\n AllowedValuesOptions,\n FieldOverride,\n FieldOverridePropertyTypeOptionsOneOf,\n ConditionNode,\n ConditionNodeNodeOneOf,\n AndCondition,\n OrCondition,\n Condition,\n RuleFormOverride,\n RuleFormOverrideEntityTypeOptionsOneOf,\n Tags,\n TagsTagList,\n QuizSettings,\n QuizSettingsPassingCriteriaOneOf,\n QuizSettingsResultsDisplayOptionsOneOf,\n PassFailMessages,\n CreateCheckoutFromSubmissionResponse,\n Checkout,\n IsFormSubmittableRequest,\n IsFormSubmittableResponse,\n Empty,\n UpsertContactFromSubmissionRequest,\n UpsertContactFromSubmissionResponse,\n SubmitContactResponse,\n CreateSubmissionRequest,\n CreateSubmissionResponse,\n SubmissionValidationErrorsDetails,\n ValidationError,\n CreateSubmissionBySubmitterRequest,\n CreateSubmissionBySubmitterResponse,\n BulkCreateSubmissionBySubmitterRequest,\n BulkCreateSubmissionBySubmitterData,\n BulkCreateSubmissionBySubmitterResponse,\n BulkSubmissionResult,\n ItemMetadata,\n ApplicationError,\n BulkActionMetadata,\n GetSubmissionRequest,\n GetSubmissionResponse,\n GetSubmissionByCheckoutIdRequest,\n GetSubmissionByCheckoutIdResponse,\n UpdateSubmissionRequest,\n UpdateSubmissionResponse,\n ConfirmSubmissionRequest,\n ConfirmSubmissionResponse,\n DeleteSubmissionRequest,\n DeleteSubmissionResponse,\n BulkDeleteSubmissionRequest,\n BulkDeleteSubmissionResponse,\n BulkDeleteSubmissionResult,\n RestoreSubmissionFromTrashBinRequest,\n RestoreSubmissionFromTrashBinResponse,\n RemoveSubmissionFromTrashBinRequest,\n RemoveSubmissionFromTrashBinResponse,\n BulkRemoveSubmissionFromTrashBinRequest,\n BulkRemoveSubmissionFromTrashBinResponse,\n BulkRemoveSubmissionFromTrashBinResult,\n ListDeletedSubmissionsRequest,\n CursorPaging,\n ListDeletedSubmissionsResponse,\n CursorPagingMetadata,\n Cursors,\n GetDeletedSubmissionRequest,\n GetDeletedSubmissionResponse,\n QuerySubmissionRequest,\n CursorQuery,\n CursorQueryPagingMethodOneOf,\n Sorting,\n QuerySubmissionResponse,\n SearchSubmissionsByNamespaceRequest,\n CursorSearch,\n CursorSearchPagingMethodOneOf,\n SearchDetails,\n SearchSubmissionsByNamespaceResponse,\n SearchSubmissionsByNamespaceForExportRequest,\n SearchSubmissionsByNamespaceForExportResponse,\n QuerySubmissionsByNamespaceRequest,\n QuerySubmissionsByNamespaceResponse,\n QuerySubmissionsByNamespaceForExportRequest,\n QuerySubmissionsByNamespaceForExportResponse,\n CountSubmissionsByFilterRequest,\n CountSubmissionsByFilterResponse,\n FormSubmissionsCount,\n CountSubmissionsRequest,\n CountSubmissionsResponse,\n CountDeletedSubmissionsRequest,\n CountDeletedSubmissionsResponse,\n FormDeletedSubmissionsCount,\n GetMediaUploadURLRequest,\n GetMediaUploadURLResponse,\n BulkMarkSubmissionsAsSeenRequest,\n BulkMarkSubmissionsAsSeenResponse,\n GetSubmissionDownloadUrlRequest,\n GetSubmissionDownloadUrlResponse,\n SubmissionDocument,\n SubmissionDocumentDocumentOneOf,\n DocumentReady,\n DownloadSubmissionRequest,\n RawHttpResponse,\n HeadersEntry,\n GetFormattedSubmissionRequest,\n GetFormattedSubmissionResponse,\n FormattedSubmission,\n ListFormattedSubmissionsRequest,\n ListFormattedSubmissionsResponse,\n FormattedFormSubmission,\n UpdateExtendedFieldsRequest,\n UpdateExtendedFieldsResponse,\n BulkUpdateFormSubmissionTagsRequest,\n BulkUpdateFormSubmissionTagsResponse,\n BulkUpdateFormSubmissionTagsResult,\n BulkUpdateFormSubmissionTagsByFilterRequest,\n BulkUpdateFormSubmissionTagsByFilterResponse,\n ValidateFormSubmissionRequest,\n ValidateFormSubmissionResponse,\n FieldViolation,\n FieldViolationErrorDataOneOf,\n SubmissionValidationErrors,\n SubmissionValidationError,\n SubmissionValidationErrorErrorMessageOneOf,\n BaseEventMetadata,\n EventMetadata,\n AccountInfoMetadata,\n SubmissionCreatedEnvelope,\n SubmissionDeletedEnvelope,\n SubmissionRemovedSubmissionFromTrashEnvelope,\n SubmissionStatusUpdatedEnvelope,\n SubmissionContactMappedEnvelope,\n SubmissionContactMappingSkippedEnvelope,\n SubmissionUpdatedEnvelope,\n UpsertContactFromSubmissionOptions,\n CreateSubmissionOptions,\n UpdateSubmission,\n DeleteSubmissionOptions,\n BulkDeleteSubmissionOptions,\n BulkRemoveSubmissionFromTrashBinOptions,\n ListDeletedSubmissionsOptions,\n QuerySubmissionOptions,\n FormSubmissionSearchSpec,\n QuerySubmissionsByNamespaceOptions,\n SubmissionsQueryResult,\n SubmissionsQueryBuilder,\n FormSubmissionQuerySpec,\n CountSubmissionsByFilterOptions,\n CountSubmissionsOptions,\n CountDeletedSubmissionsOptions,\n UpdateExtendedFieldsOptions,\n BulkUpdateFormSubmissionTagsOptions,\n BulkUpdateFormSubmissionTagsByFilterOptions,\n ValidateFormSubmissionOptions,\n} from './forms-v4-submission-submissions.universal.js';\nexport { utils } from './forms-v4-submission-submissions.universal.js';\nexport {\n SubmissionStatusWithLiterals,\n OptInLevelWithLiterals,\n WebhookIdentityTypeWithLiterals,\n StringTypeFormatEnumFormatWithLiterals,\n DayOfWeekWithLiterals,\n ValidationFormatWithLiterals,\n ProductTypeWithLiterals,\n PriceTypeWithLiterals,\n FieldTypeWithLiterals,\n FormatEnumFormatWithLiterals,\n StringComponentTypeWithLiterals,\n NodeTypeWithLiterals,\n BackgroundTypeWithLiterals,\n GradientTypeWithLiterals,\n WidthTypeWithLiterals,\n PluginContainerDataAlignmentWithLiterals,\n ButtonDataTypeWithLiterals,\n LinkTargetWithLiterals,\n TextAlignmentWithLiterals,\n LineStyleWithLiterals,\n WidthWithLiterals,\n DividerDataAlignmentWithLiterals,\n ViewModeWithLiterals,\n LayoutTypeWithLiterals,\n OrientationWithLiterals,\n CropWithLiterals,\n ThumbnailsAlignmentWithLiterals,\n GIFTypeWithLiterals,\n SourceWithLiterals,\n StylesPositionWithLiterals,\n MapTypeWithLiterals,\n ViewRoleWithLiterals,\n VoteRoleWithLiterals,\n PollLayoutTypeWithLiterals,\n PollLayoutDirectionWithLiterals,\n PollDesignBackgroundTypeWithLiterals,\n DecorationTypeWithLiterals,\n FontTypeWithLiterals,\n PositionWithLiterals,\n AspectRatioWithLiterals,\n ResizingWithLiterals,\n PlacementWithLiterals,\n CardStylesTypeWithLiterals,\n CardStylesAlignmentWithLiterals,\n LayoutWithLiterals,\n AppTypeWithLiterals,\n InitialExpandedItemsWithLiterals,\n DirectionWithLiterals,\n VerticalAlignmentWithLiterals,\n NullValueWithLiterals,\n ImageScalingScalingWithLiterals,\n LayoutDataImagePositionWithLiterals,\n OriginWithLiterals,\n LayoutDataBackgroundTypeWithLiterals,\n BackdropTypeWithLiterals,\n VerticalAlignmentAlignmentWithLiterals,\n ResponsivenessBehaviourWithLiterals,\n DesignTargetWithLiterals,\n ScalingWithLiterals,\n ImagePositionPositionWithLiterals,\n CardDataBackgroundTypeWithLiterals,\n ListStyleWithLiterals,\n IndentationWithLiterals,\n ImagePositionWithLiterals,\n AlignmentWithLiterals,\n ImageFitWithLiterals,\n NumberOfColumnsWithLiterals,\n FirstDayOfWeekWithLiterals,\n NumberComponentTypeWithLiterals,\n BooleanComponentTypeWithLiterals,\n ItemTypeWithLiterals,\n PropertiesTypeEnumWithLiterals,\n ArrayComponentTypeWithLiterals,\n WixFileComponentTypeWithLiterals,\n UploadFileFormatWithLiterals,\n PaymentComponentTypeWithLiterals,\n ComponentTypeWithLiterals,\n TypeWithLiterals,\n ObjectArrayComponentTypeWithLiterals,\n SchedulingComponentTypeWithLiterals,\n FormatWithLiterals,\n MeetingTypeWithLiterals,\n StaffStrategySelectionWithLiterals,\n InputTypeWithLiterals,\n EmailInfoTagWithLiterals,\n PhoneInfoTagWithLiterals,\n TagWithLiterals,\n ConfirmationLevelWithLiterals,\n SubscriptionChannelWithLiterals,\n ContactFieldWithLiterals,\n DisplayFieldTypeWithLiterals,\n OverrideEntityTypeWithLiterals,\n KindWithLiterals,\n FormFieldContactInfoEmailInfoTagWithLiterals,\n FormFieldContactInfoPhoneInfoTagWithLiterals,\n AddressInfoTagWithLiterals,\n SubscriptionInfoOptInLevelWithLiterals,\n FormFieldContactInfoContactFieldWithLiterals,\n SpamFilterProtectionLevelWithLiterals,\n RequiredIndicatorWithLiterals,\n RequiredIndicatorPlacementWithLiterals,\n TargetWithLiterals,\n SubmitSuccessActionWithLiterals,\n ChangeablePropertyWithLiterals,\n OverrideEntityTypeEnumOverrideEntityTypeWithLiterals,\n OperatorWithLiterals,\n ResultsDisplayWithLiterals,\n ContactAutofillWithLiterals,\n SubmissionAccessWithLiterals,\n IdentityTypeWithLiterals,\n ErrorTypeWithLiterals,\n SortOrderWithLiterals,\n ModeWithLiterals,\n StatusWithLiterals,\n SubmissionErrorTypeWithLiterals,\n CreateSubmissionApplicationErrors,\n CreateSubmissionValidationErrors,\n UpdateSubmissionValidationErrors,\n CommonSearchWithEntityContext,\n FormSubmissionSearch,\n CommonQueryWithEntityContext,\n FormSubmissionQuery,\n} from './forms-v4-submission-submissions.universal.js';\n"],"mappings":"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","names":["renameKeysFromRESTResponseToSDKResponse","transformRESTTimestampToSDKTimestamp","transformPaths","payload","transformPaths","SubmissionStatus","OptInLevel","WebhookIdentityType","StringTypeFormatEnumFormat","DayOfWeek","ValidationFormat","ProductType","PriceType","FieldType","FormatEnumFormat","StringComponentType","NodeType","BackgroundType","GradientType","WidthType","PluginContainerDataAlignment","ButtonDataType","LinkTarget","TextAlignment","LineStyle","Width","DividerDataAlignment","ViewMode","LayoutType","Orientation","Crop","ThumbnailsAlignment","GIFType","Source","StylesPosition","MapType","ViewRole","VoteRole","PollLayoutType","PollLayoutDirection","PollDesignBackgroundType","DecorationType","FontType","Position","AspectRatio","Resizing","Placement","CardStylesType","CardStylesAlignment","Layout","AppType","InitialExpandedItems","Direction","VerticalAlignment","NullValue","ImageScalingScaling","LayoutDataImagePosition","Origin","LayoutDataBackgroundType","BackdropType","VerticalAlignmentAlignment","ResponsivenessBehaviour","DesignTarget","Scaling","ImagePositionPosition","CardDataBackgroundType","ListStyle","Indentation","ImagePosition","Alignment","ImageFit","NumberOfColumns","FirstDayOfWeek","NumberComponentType","BooleanComponentType","ItemType","PropertiesTypeEnum","ArrayComponentType","WixFileComponentType","UploadFileFormat","PaymentComponentType","ComponentType","Type","ObjectArrayComponentType","SchedulingComponentType","Format","MeetingType","StaffStrategySelection","InputType","EmailInfoTag","PhoneInfoTag","Tag","ConfirmationLevel","SubscriptionChannel","ContactField","DisplayFieldType","OverrideEntityType","Kind","FormFieldContactInfoEmailInfoTag","FormFieldContactInfoPhoneInfoTag","AddressInfoTag","SubscriptionInfoOptInLevel","FormFieldContactInfoContactField","SpamFilterProtectionLevel","RequiredIndicator","RequiredIndicatorPlacement","Target","SubmitSuccessAction","ChangeableProperty","OverrideEntityTypeEnumOverrideEntityType","Operator","ResultsDisplay","ContactAutofill","SubmissionAccess","IdentityType","ErrorType","SortOrder","Mode","Status","SubmissionErrorType","upsertContactFromSubmission","createSubmission","getSubmission","updateSubmission","confirmSubmission","deleteSubmission","bulkDeleteSubmission","restoreSubmissionFromTrashBin","removeSubmissionFromTrashBin","bulkRemoveSubmissionFromTrashBin","listDeletedSubmissions","getDeletedSubmission","querySubmission","searchSubmissionsByNamespace","querySubmissionsByNamespace","countSubmissionsByFilter","countSubmissions","countDeletedSubmissions","getMediaUploadUrl","bulkMarkSubmissionsAsSeen","getSubmissionDownloadUrl","downloadSubmission","getFormattedSubmission","updateExtendedFields","bulkUpdateFormSubmissionTags","bulkUpdateFormSubmissionTagsByFilter","validateFormSubmission","upsertContactFromSubmission","createSubmission","getSubmission","updateSubmission","confirmSubmission","deleteSubmission","bulkDeleteSubmission","restoreSubmissionFromTrashBin","removeSubmissionFromTrashBin","bulkRemoveSubmissionFromTrashBin","listDeletedSubmissions","getDeletedSubmission","querySubmission","searchSubmissionsByNamespace","querySubmissionsByNamespace","typedQuerySubmissionsByNamespace","countSubmissionsByFilter","countSubmissions","countDeletedSubmissions","getMediaUploadUrl","bulkMarkSubmissionsAsSeen","getSubmissionDownloadUrl","downloadSubmission","getFormattedSubmission","updateExtendedFields","bulkUpdateFormSubmissionTags","bulkUpdateFormSubmissionTagsByFilter","validateFormSubmission","renameKeysFromRESTResponseToSDKResponse","transformPaths","transformRESTTimestampToSDKTimestamp","querySubmissionsByNamespace","typedQuerySubmissionsByNamespace","upsertContactFromSubmission","createSubmission","getSubmission","updateSubmission","confirmSubmission","deleteSubmission","bulkDeleteSubmission","restoreSubmissionFromTrashBin","removeSubmissionFromTrashBin","bulkRemoveSubmissionFromTrashBin","listDeletedSubmissions","getDeletedSubmission","querySubmission","searchSubmissionsByNamespace","countSubmissionsByFilter","countSubmissions","countDeletedSubmissions","getMediaUploadUrl","bulkMarkSubmissionsAsSeen","getSubmissionDownloadUrl","downloadSubmission","getFormattedSubmission","updateExtendedFields","bulkUpdateFormSubmissionTags","bulkUpdateFormSubmissionTagsByFilter","validateFormSubmission","onSubmissionCreated","onSubmissionDeleted","onSubmissionRemovedSubmissionFromTrash","onSubmissionStatusUpdated","onSubmissionContactMapped","onSubmissionContactMappingSkipped","onSubmissionUpdated"]}
1
+ {"version":3,"sources":["../../src/forms-v4-submission-submissions.public.ts","../../src/forms-v4-submission-submissions.universal.ts","../../src/forms-v4-submission-submissions.http.ts","../../src/forms-v4-submission-submissions.context.ts"],"sourcesContent":["import { renameKeysFromRESTResponseToSDKResponse } from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { EventDefinition, HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n BulkDeleteSubmissionOptions,\n BulkDeleteSubmissionResponse,\n BulkMarkSubmissionsAsSeenResponse,\n BulkRemoveSubmissionFromTrashBinOptions,\n BulkRemoveSubmissionFromTrashBinResponse,\n BulkUpdateFormSubmissionTagsByFilterOptions,\n BulkUpdateFormSubmissionTagsByFilterResponse,\n BulkUpdateFormSubmissionTagsOptions,\n BulkUpdateFormSubmissionTagsResponse,\n ConfirmSubmissionResponse,\n CountDeletedSubmissionsOptions,\n CountDeletedSubmissionsResponse,\n CountSubmissionsByFilterOptions,\n CountSubmissionsByFilterResponse,\n CountSubmissionsOptions,\n CountSubmissionsResponse,\n CreateSubmissionApplicationErrors,\n CreateSubmissionOptions,\n CreateSubmissionValidationErrors,\n CursorQuery,\n DeleteSubmissionOptions,\n FormSubmission,\n FormSubmissionQuery,\n FormSubmissionSearch,\n GetDeletedSubmissionResponse,\n GetFormattedSubmissionResponse,\n GetMediaUploadURLResponse,\n GetSubmissionDownloadUrlResponse,\n ListDeletedSubmissionsOptions,\n ListDeletedSubmissionsResponse,\n QuerySubmissionOptions,\n QuerySubmissionResponse,\n QuerySubmissionsByNamespaceOptions,\n QuerySubmissionsByNamespaceResponse,\n RawHttpResponse,\n RestoreSubmissionFromTrashBinResponse,\n SearchSubmissionsByNamespaceResponse,\n SubmissionContactMappedEnvelope,\n SubmissionContactMappingSkippedEnvelope,\n SubmissionCreatedEnvelope,\n SubmissionDeletedEnvelope,\n SubmissionRemovedSubmissionFromTrashEnvelope,\n SubmissionStatusUpdatedEnvelope,\n SubmissionUpdatedEnvelope,\n SubmissionsQueryBuilder,\n UpdateExtendedFieldsOptions,\n UpdateExtendedFieldsResponse,\n UpdateSubmission,\n UpdateSubmissionValidationErrors,\n UpsertContactFromSubmissionOptions,\n UpsertContactFromSubmissionResponse,\n ValidateFormSubmissionOptions,\n ValidateFormSubmissionResponse,\n bulkDeleteSubmission as universalBulkDeleteSubmission,\n bulkMarkSubmissionsAsSeen as universalBulkMarkSubmissionsAsSeen,\n bulkRemoveSubmissionFromTrashBin as universalBulkRemoveSubmissionFromTrashBin,\n bulkUpdateFormSubmissionTags as universalBulkUpdateFormSubmissionTags,\n bulkUpdateFormSubmissionTagsByFilter as universalBulkUpdateFormSubmissionTagsByFilter,\n confirmSubmission as universalConfirmSubmission,\n countDeletedSubmissions as universalCountDeletedSubmissions,\n countSubmissions as universalCountSubmissions,\n countSubmissionsByFilter as universalCountSubmissionsByFilter,\n createSubmission as universalCreateSubmission,\n deleteSubmission as universalDeleteSubmission,\n downloadSubmission as universalDownloadSubmission,\n getDeletedSubmission as universalGetDeletedSubmission,\n getFormattedSubmission as universalGetFormattedSubmission,\n getMediaUploadUrl as universalGetMediaUploadUrl,\n getSubmission as universalGetSubmission,\n getSubmissionDownloadUrl as universalGetSubmissionDownloadUrl,\n listDeletedSubmissions as universalListDeletedSubmissions,\n querySubmission as universalQuerySubmission,\n querySubmissionsByNamespace as universalQuerySubmissionsByNamespace,\n removeSubmissionFromTrashBin as universalRemoveSubmissionFromTrashBin,\n restoreSubmissionFromTrashBin as universalRestoreSubmissionFromTrashBin,\n searchSubmissionsByNamespace as universalSearchSubmissionsByNamespace,\n typedQuerySubmissionsByNamespace as universalTypedQuerySubmissionsByNamespace,\n updateExtendedFields as universalUpdateExtendedFields,\n updateSubmission as universalUpdateSubmission,\n upsertContactFromSubmission as universalUpsertContactFromSubmission,\n validateFormSubmission as universalValidateFormSubmission,\n} from './forms-v4-submission-submissions.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/forms' };\n\nexport function upsertContactFromSubmission(\n httpClient: HttpClient\n): UpsertContactFromSubmissionSignature {\n return (submissionId: string, options?: UpsertContactFromSubmissionOptions) =>\n universalUpsertContactFromSubmission(\n submissionId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpsertContactFromSubmissionSignature {\n /**\n * Upserts contact from submission.\n * @param - Submission from which contact needs to be upserted.\n */\n (submissionId: string, options?: UpsertContactFromSubmissionOptions): Promise<\n NonNullablePaths<\n UpsertContactFromSubmissionResponse,\n | `submitContactResponse.contactId`\n | `submitContactResponse.identityType`\n | `submitContactResponse.newContact`,\n 3\n >\n >;\n}\n\nexport function createSubmission(\n httpClient: HttpClient\n): CreateSubmissionSignature {\n return (\n submission: NonNullablePaths<FormSubmission, `formId`, 2>,\n options?: CreateSubmissionOptions\n ) =>\n universalCreateSubmission(\n submission,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreateSubmissionSignature {\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 to create.\n * @param - Optional fields.\n * @returns The created submission.\n */\n (\n submission: NonNullablePaths<FormSubmission, `formId`, 2>,\n options?: CreateSubmissionOptions\n ): Promise<\n NonNullablePaths<\n FormSubmission,\n | `formId`\n | `namespace`\n | `status`\n | `seen`\n | `orderDetails.itemSubtotal`\n | `orderDetails.checkoutId`\n | `tags.tags.tagIds`,\n 4\n > & {\n __applicationErrorsType?: CreateSubmissionApplicationErrors;\n __validationErrorsType?: CreateSubmissionValidationErrors;\n }\n >;\n}\n\nexport function getSubmission(httpClient: HttpClient): GetSubmissionSignature {\n return (submissionId: string) =>\n universalGetSubmission(\n submissionId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetSubmissionSignature {\n /**\n * Retrieves a submission by ID.\n * @param - ID of the submission to retrieve.\n * @returns The retrieved submission.\n */\n (submissionId: string): Promise<\n NonNullablePaths<\n FormSubmission,\n | `formId`\n | `namespace`\n | `status`\n | `seen`\n | `orderDetails.itemSubtotal`\n | `orderDetails.checkoutId`\n | `tags.tags.tagIds`,\n 4\n >\n >;\n}\n\nexport function updateSubmission(\n httpClient: HttpClient\n): UpdateSubmissionSignature {\n return (\n _id: string,\n submission: NonNullablePaths<UpdateSubmission, `formId` | `revision`, 2>\n ) =>\n universalUpdateSubmission(\n _id,\n submission,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpdateSubmissionSignature {\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 - Submission ID.\n * @param - Submission to update.\n * @returns The updated submission.\n */\n (\n _id: string,\n submission: NonNullablePaths<UpdateSubmission, `formId` | `revision`, 2>\n ): Promise<\n NonNullablePaths<\n FormSubmission,\n | `formId`\n | `namespace`\n | `status`\n | `seen`\n | `orderDetails.itemSubtotal`\n | `orderDetails.checkoutId`\n | `tags.tags.tagIds`,\n 4\n > & {\n __validationErrorsType?: UpdateSubmissionValidationErrors;\n }\n >;\n}\n\nexport function confirmSubmission(\n httpClient: HttpClient\n): ConfirmSubmissionSignature {\n return (submissionId: string) =>\n universalConfirmSubmission(\n submissionId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ConfirmSubmissionSignature {\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 - Submission ID to confirm.\n */\n (submissionId: string): Promise<\n NonNullablePaths<\n ConfirmSubmissionResponse,\n | `submission.formId`\n | `submission.namespace`\n | `submission.status`\n | `submission.seen`\n | `submission.orderDetails.itemSubtotal`\n | `submission.orderDetails.checkoutId`\n | `submission.tags.tags.tagIds`,\n 5\n >\n >;\n}\n\nexport function deleteSubmission(\n httpClient: HttpClient\n): DeleteSubmissionSignature {\n return (submissionId: string, options?: DeleteSubmissionOptions) =>\n universalDeleteSubmission(\n submissionId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface DeleteSubmissionSignature {\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 - ID of the submission to delete.\n * @param - Optional fields.\n */\n (submissionId: string, options?: DeleteSubmissionOptions): Promise<void>;\n}\n\nexport function bulkDeleteSubmission(\n httpClient: HttpClient\n): BulkDeleteSubmissionSignature {\n return (formId: string, options?: BulkDeleteSubmissionOptions) =>\n universalBulkDeleteSubmission(\n formId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkDeleteSubmissionSignature {\n /**\n * Deletes submissions by IDS for specific form.\n * @param - Form ID.\n */\n (formId: string, options?: BulkDeleteSubmissionOptions): Promise<\n NonNullablePaths<\n BulkDeleteSubmissionResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n >\n >;\n}\n\nexport function restoreSubmissionFromTrashBin(\n httpClient: HttpClient\n): RestoreSubmissionFromTrashBinSignature {\n return (submissionId: string) =>\n universalRestoreSubmissionFromTrashBin(\n submissionId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface RestoreSubmissionFromTrashBinSignature {\n /**\n * Restores deleted submission\n * @param - ID of the submission to restore.\n */\n (submissionId: string): Promise<\n NonNullablePaths<\n RestoreSubmissionFromTrashBinResponse,\n | `submission.formId`\n | `submission.namespace`\n | `submission.status`\n | `submission.seen`\n | `submission.orderDetails.itemSubtotal`\n | `submission.orderDetails.checkoutId`\n | `submission.tags.tags.tagIds`,\n 5\n >\n >;\n}\n\nexport function removeSubmissionFromTrashBin(\n httpClient: HttpClient\n): RemoveSubmissionFromTrashBinSignature {\n return (submissionId: string) =>\n universalRemoveSubmissionFromTrashBin(\n submissionId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface RemoveSubmissionFromTrashBinSignature {\n /**\n * Remove deleted submission\n * @param - ID of the submission to restore.\n */\n (submissionId: string): Promise<void>;\n}\n\nexport function bulkRemoveSubmissionFromTrashBin(\n httpClient: HttpClient\n): BulkRemoveSubmissionFromTrashBinSignature {\n return (formId: string, options?: BulkRemoveSubmissionFromTrashBinOptions) =>\n universalBulkRemoveSubmissionFromTrashBin(\n formId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkRemoveSubmissionFromTrashBinSignature {\n /**\n * Remove multiple deleted submissions\n * @param - Form ID.\n */\n (formId: string, options?: BulkRemoveSubmissionFromTrashBinOptions): Promise<\n NonNullablePaths<\n BulkRemoveSubmissionFromTrashBinResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n >\n >;\n}\n\nexport function listDeletedSubmissions(\n httpClient: HttpClient\n): ListDeletedSubmissionsSignature {\n return (formId: string, options?: ListDeletedSubmissionsOptions) =>\n universalListDeletedSubmissions(\n formId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ListDeletedSubmissionsSignature {\n /**\n * List deleted submissions\n * @param - Form ID.\n */\n (formId: string, options?: ListDeletedSubmissionsOptions): Promise<\n NonNullablePaths<\n ListDeletedSubmissionsResponse,\n | `submissions`\n | `submissions.${number}.formId`\n | `submissions.${number}.namespace`\n | `submissions.${number}.status`\n | `submissions.${number}.seen`\n | `submissions.${number}.orderDetails.itemSubtotal`\n | `submissions.${number}.orderDetails.checkoutId`,\n 5\n >\n >;\n}\n\nexport function getDeletedSubmission(\n httpClient: HttpClient\n): GetDeletedSubmissionSignature {\n return (submissionId: string) =>\n universalGetDeletedSubmission(\n submissionId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetDeletedSubmissionSignature {\n /**\n * Get deleted submission\n * @param - Submission id.\n */\n (submissionId: string): Promise<\n NonNullablePaths<\n GetDeletedSubmissionResponse,\n | `submission.formId`\n | `submission.namespace`\n | `submission.status`\n | `submission.seen`\n | `submission.orderDetails.itemSubtotal`\n | `submission.orderDetails.checkoutId`\n | `submission.tags.tags.tagIds`,\n 5\n >\n >;\n}\n\nexport function querySubmission(\n httpClient: HttpClient\n): QuerySubmissionSignature {\n return (query: CursorQuery, options?: QuerySubmissionOptions) =>\n universalQuerySubmission(\n query,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface QuerySubmissionSignature {\n /**\n * Deprecated on '2023-08-08'. Use QuerySubmissionsByNamespace.\n * @param - Query options.\n * @deprecated\n */\n (query: CursorQuery, options?: QuerySubmissionOptions): Promise<\n NonNullablePaths<\n QuerySubmissionResponse,\n | `submissions`\n | `submissions.${number}.formId`\n | `submissions.${number}.namespace`\n | `submissions.${number}.status`\n | `submissions.${number}.seen`\n | `submissions.${number}.orderDetails.itemSubtotal`\n | `submissions.${number}.orderDetails.checkoutId`,\n 5\n >\n >;\n}\n\nexport function searchSubmissionsByNamespace(\n httpClient: HttpClient\n): SearchSubmissionsByNamespaceSignature {\n return (search: FormSubmissionSearch) =>\n universalSearchSubmissionsByNamespace(\n search,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface SearchSubmissionsByNamespaceSignature {\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 * 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 options.\n */\n (search: FormSubmissionSearch): Promise<\n NonNullablePaths<\n SearchSubmissionsByNamespaceResponse,\n | `submissions`\n | `submissions.${number}.formId`\n | `submissions.${number}.namespace`\n | `submissions.${number}.status`\n | `submissions.${number}.seen`\n | `submissions.${number}.orderDetails.itemSubtotal`\n | `submissions.${number}.orderDetails.checkoutId`,\n 5\n >\n >;\n}\n\nexport function querySubmissionsByNamespace(\n httpClient: HttpClient\n): QuerySubmissionsByNamespaceSignature {\n return (options?: QuerySubmissionsByNamespaceOptions) =>\n universalQuerySubmissionsByNamespace(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface QuerySubmissionsByNamespaceSignature {\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 * @param - Query options.\n */\n (options?: QuerySubmissionsByNamespaceOptions): SubmissionsQueryBuilder;\n}\n\nexport function typedQuerySubmissionsByNamespace(\n httpClient: HttpClient\n): TypedQuerySubmissionsByNamespaceSignature {\n return (\n query: FormSubmissionQuery,\n options?: QuerySubmissionsByNamespaceOptions\n ) =>\n universalTypedQuerySubmissionsByNamespace(\n query,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface TypedQuerySubmissionsByNamespaceSignature {\n /** */\n (\n query: FormSubmissionQuery,\n options?: QuerySubmissionsByNamespaceOptions\n ): Promise<\n NonNullablePaths<\n QuerySubmissionsByNamespaceResponse,\n | `submissions`\n | `submissions.${number}.formId`\n | `submissions.${number}.namespace`\n | `submissions.${number}.status`\n | `submissions.${number}.seen`\n | `submissions.${number}.orderDetails.itemSubtotal`\n | `submissions.${number}.orderDetails.checkoutId`,\n 5\n >\n >;\n}\n\nexport function countSubmissionsByFilter(\n httpClient: HttpClient\n): CountSubmissionsByFilterSignature {\n return (\n filter: Record<string, any>,\n options?: CountSubmissionsByFilterOptions\n ) =>\n universalCountSubmissionsByFilter(\n filter,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CountSubmissionsByFilterSignature {\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 - A filter object. Must filter by namespace.\n */\n (\n filter: Record<string, any>,\n options?: CountSubmissionsByFilterOptions\n ): Promise<\n NonNullablePaths<\n CountSubmissionsByFilterResponse,\n | `formsSubmissionsCount`\n | `formsSubmissionsCount.${number}.formId`\n | `formsSubmissionsCount.${number}.totalCount`\n | `formsSubmissionsCount.${number}.unseenCount`,\n 4\n >\n >;\n}\n\nexport function countSubmissions(\n httpClient: HttpClient\n): CountSubmissionsSignature {\n return (\n formIds: string[],\n namespace: string,\n options?: CountSubmissionsOptions\n ) =>\n universalCountSubmissions(\n formIds,\n namespace,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CountSubmissionsSignature {\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 * @param - 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 - Form IDs which submissions should be counted.\n */\n (\n formIds: string[],\n namespace: string,\n options?: CountSubmissionsOptions\n ): Promise<\n NonNullablePaths<\n CountSubmissionsResponse,\n | `formsSubmissionsCount`\n | `formsSubmissionsCount.${number}.formId`\n | `formsSubmissionsCount.${number}.totalCount`\n | `formsSubmissionsCount.${number}.unseenCount`,\n 4\n >\n >;\n}\n\nexport function countDeletedSubmissions(\n httpClient: HttpClient\n): CountDeletedSubmissionsSignature {\n return (\n formIds: string[],\n namespace: string,\n options?: CountDeletedSubmissionsOptions\n ) =>\n universalCountDeletedSubmissions(\n formIds,\n namespace,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CountDeletedSubmissionsSignature {\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 - Form IDs.\n * @param - 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 */\n (\n formIds: string[],\n namespace: string,\n options?: CountDeletedSubmissionsOptions\n ): Promise<\n NonNullablePaths<\n CountDeletedSubmissionsResponse,\n | `formsDeletedSubmissionsCount`\n | `formsDeletedSubmissionsCount.${number}.formId`\n | `formsDeletedSubmissionsCount.${number}.totalCount`,\n 4\n >\n >;\n}\n\nexport function getMediaUploadUrl(\n httpClient: HttpClient\n): GetMediaUploadUrlSignature {\n return (formId: string, filename: string, mimeType: string) =>\n universalGetMediaUploadUrl(\n formId,\n filename,\n mimeType,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetMediaUploadUrlSignature {\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 - Form ID.\n * @param - Name of file to upload.\n * @param - [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 (formId: string, filename: string, mimeType: string): Promise<\n NonNullablePaths<GetMediaUploadURLResponse, `uploadUrl`, 2>\n >;\n}\n\nexport function bulkMarkSubmissionsAsSeen(\n httpClient: HttpClient\n): BulkMarkSubmissionsAsSeenSignature {\n return (ids: string[], formId: string) =>\n universalBulkMarkSubmissionsAsSeen(\n ids,\n formId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkMarkSubmissionsAsSeenSignature {\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 * @param - IDs of submissions to mark as seen.\n * @param - ID of the form which the submissions belong to.\n */\n (ids: string[], formId: string): Promise<\n NonNullablePaths<BulkMarkSubmissionsAsSeenResponse, `jobId`, 2>\n >;\n}\n\nexport function getSubmissionDownloadUrl(\n httpClient: HttpClient\n): GetSubmissionDownloadUrlSignature {\n return (submissionId: string) =>\n universalGetSubmissionDownloadUrl(\n submissionId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetSubmissionDownloadUrlSignature {\n /**\n * Gets submission as document which may include the document download url if the document is ready.\n * @param - Submission ID.\n */\n (submissionId: string): Promise<\n NonNullablePaths<\n GetSubmissionDownloadUrlResponse,\n `document.readyDetails.downloadUrl` | `document.status`,\n 4\n >\n >;\n}\n\nexport function downloadSubmission(\n httpClient: HttpClient\n): DownloadSubmissionSignature {\n return (submissionId: string, accessToken: string) =>\n universalDownloadSubmission(\n submissionId,\n accessToken,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface DownloadSubmissionSignature {\n /**\n * Download a submission document by redirecting to the document URL.\n * @param - Submission id for which the document is generated.\n * @param - Access token to download the document.\n */\n (submissionId: string, accessToken: string): Promise<\n NonNullablePaths<\n RawHttpResponse,\n `body` | `headers` | `headers.${number}.key` | `headers.${number}.value`,\n 4\n >\n >;\n}\n\nexport function getFormattedSubmission(\n httpClient: HttpClient\n): GetFormattedSubmissionSignature {\n return (submissionId: string) =>\n universalGetFormattedSubmission(\n submissionId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetFormattedSubmissionSignature {\n /**\n * Retrieves a submission formatted by language\n * @param - Submission ID.\n */\n (submissionId: string): Promise<\n NonNullablePaths<\n GetFormattedSubmissionResponse,\n | `submissionId`\n | `submissions`\n | `submissions.${number}.key`\n | `submissions.${number}.value`\n | `submissions.${number}.fieldId`,\n 4\n >\n >;\n}\n\nexport function updateExtendedFields(\n httpClient: HttpClient\n): UpdateExtendedFieldsSignature {\n return (\n _id: string,\n namespace: string,\n options: NonNullablePaths<UpdateExtendedFieldsOptions, `namespaceData`, 2>\n ) =>\n universalUpdateExtendedFields(\n _id,\n namespace,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpdateExtendedFieldsSignature {\n /**\n * Update Extended Fields of the Form\n * @param - ID of the entity to update.\n * @param - Identifier for the app whose extended fields are being updated.\n */\n (\n _id: string,\n namespace: string,\n options: NonNullablePaths<UpdateExtendedFieldsOptions, `namespaceData`, 2>\n ): Promise<NonNullablePaths<UpdateExtendedFieldsResponse, `namespace`, 2>>;\n}\n\n/** @internal */\nexport function bulkUpdateFormSubmissionTags(\n httpClient: HttpClient\n): BulkUpdateFormSubmissionTagsSignature {\n return (\n submissionIds: string[],\n options?: BulkUpdateFormSubmissionTagsOptions\n ) =>\n universalBulkUpdateFormSubmissionTags(\n submissionIds,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkUpdateFormSubmissionTagsSignature {\n /**\n * Bulk update tags on form submissions.\n * @param - Submission IDs to update tags for.\n */\n (\n submissionIds: string[],\n options?: BulkUpdateFormSubmissionTagsOptions\n ): Promise<\n NonNullablePaths<\n BulkUpdateFormSubmissionTagsResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n >\n >;\n}\n\n/** @internal */\nexport function bulkUpdateFormSubmissionTagsByFilter(\n httpClient: HttpClient\n): BulkUpdateFormSubmissionTagsByFilterSignature {\n return (\n filter: Record<string, any>,\n options?: BulkUpdateFormSubmissionTagsByFilterOptions\n ) =>\n universalBulkUpdateFormSubmissionTagsByFilter(\n filter,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkUpdateFormSubmissionTagsByFilterSignature {\n /**\n * Bulk update tags on form submissions by filter.\n * @param - Filter to select the submission to update\n */\n (\n filter: Record<string, any>,\n options?: BulkUpdateFormSubmissionTagsByFilterOptions\n ): Promise<\n NonNullablePaths<BulkUpdateFormSubmissionTagsByFilterResponse, `jobId`, 2>\n >;\n}\n\nexport function validateFormSubmission(\n httpClient: HttpClient\n): ValidateFormSubmissionSignature {\n return (\n submission: FormSubmission,\n options?: ValidateFormSubmissionOptions\n ) =>\n universalValidateFormSubmission(\n submission,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ValidateFormSubmissionSignature {\n /**\n * Called to validate submission before creation.\n * @param - Submission to validate.\n */\n (\n submission: FormSubmission,\n options?: ValidateFormSubmissionOptions\n ): Promise<\n NonNullablePaths<\n ValidateFormSubmissionResponse,\n | `violationErrors`\n | `violationErrors.${number}.name`\n | `violationErrors.${number}.description`\n | `violationErrors.${number}.ruleName`,\n 4\n >\n >;\n}\n\nexport const onSubmissionCreated = EventDefinition(\n 'wix.forms.v4.submission_created',\n true,\n (event: SubmissionCreatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.createdDate' },\n { path: 'entity.updatedDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n ])\n )\n)<SubmissionCreatedEnvelope>();\nexport const onSubmissionDeleted = EventDefinition(\n 'wix.forms.v4.submission_deleted',\n true,\n (event: SubmissionDeletedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.createdDate' },\n { path: 'entity.updatedDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n ])\n )\n)<SubmissionDeletedEnvelope>();\nexport const onSubmissionRemovedSubmissionFromTrash = EventDefinition(\n 'wix.forms.v4.submission_removed_submission_from_trash',\n true,\n (event: SubmissionRemovedSubmissionFromTrashEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'data.submission.createdDate' },\n { path: 'data.submission.updatedDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n ])\n )\n)<SubmissionRemovedSubmissionFromTrashEnvelope>();\nexport const onSubmissionStatusUpdated = EventDefinition(\n 'wix.forms.v4.submission_status_updated',\n true,\n (event: SubmissionStatusUpdatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'data.submission.createdDate' },\n { path: 'data.submission.updatedDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n ])\n )\n)<SubmissionStatusUpdatedEnvelope>();\nexport const onSubmissionContactMapped = EventDefinition(\n 'wix.forms.v4.submission_submission_contact_mapped',\n true,\n (event: SubmissionContactMappedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'data.marketingSubscriptionDetails.submittedDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n ])\n )\n)<SubmissionContactMappedEnvelope>();\nexport const onSubmissionContactMappingSkipped = EventDefinition(\n 'wix.forms.v4.submission_submission_contact_mapping_skipped',\n true,\n (event: SubmissionContactMappingSkippedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'metadata.eventTime' }],\n },\n ])\n )\n)<SubmissionContactMappingSkippedEnvelope>();\nexport const onSubmissionUpdated = EventDefinition(\n 'wix.forms.v4.submission_updated',\n true,\n (event: SubmissionUpdatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.createdDate' },\n { path: 'entity.updatedDate' },\n { path: 'metadata.eventTime' },\n { path: 'modifiedFields.createdDate' },\n { path: 'modifiedFields.updatedDate' },\n ],\n },\n ])\n )\n)<SubmissionUpdatedEnvelope>();\n\nexport {\n AccountInfo,\n AccountInfoMetadata,\n ActionEvent,\n Address,\n AddressComponentTypeOptionsOneOf,\n AddressInfo,\n AddressInfoTag,\n AddressLine2,\n Alignment,\n AllowedValuesOptions,\n AnchorData,\n AndCondition,\n AppEmbedData,\n AppEmbedDataAppDataOneOf,\n AppType,\n ApplicationError,\n Appointment,\n AppointmentDetails,\n AppointmentFormatInfoOneOf,\n ArrayComponentType,\n ArrayErrorMessages,\n ArrayItems,\n ArrayItemsItemTypeOptionsOneOf,\n ArrayType,\n ArrayTypeArrayItems,\n ArrayTypeArrayItemsItemsOneOf,\n AspectRatio,\n AudioData,\n Availability,\n Backdrop,\n BackdropType,\n Background,\n BackgroundGradient,\n BackgroundImage,\n BackgroundType,\n Banner,\n BaseEventMetadata,\n BlockquoteData,\n BookingData,\n BooleanComponentType,\n BooleanErrorMessages,\n BooleanType,\n Border,\n BorderColors,\n BorderWidths,\n BreakPoint,\n BulkActionMetadata,\n BulkCreateSubmissionBySubmitterData,\n BulkCreateSubmissionBySubmitterRequest,\n BulkCreateSubmissionBySubmitterResponse,\n BulkDeleteSubmissionOptions,\n BulkDeleteSubmissionRequest,\n BulkDeleteSubmissionResponse,\n BulkDeleteSubmissionResult,\n BulkMarkSubmissionsAsSeenRequest,\n BulkMarkSubmissionsAsSeenResponse,\n BulkRemoveSubmissionFromTrashBinOptions,\n BulkRemoveSubmissionFromTrashBinRequest,\n BulkRemoveSubmissionFromTrashBinResponse,\n BulkRemoveSubmissionFromTrashBinResult,\n BulkSubmissionResult,\n BulkUpdateFormSubmissionTagsByFilterOptions,\n BulkUpdateFormSubmissionTagsByFilterRequest,\n BulkUpdateFormSubmissionTagsByFilterResponse,\n BulkUpdateFormSubmissionTagsOptions,\n BulkUpdateFormSubmissionTagsRequest,\n BulkUpdateFormSubmissionTagsResponse,\n BulkUpdateFormSubmissionTagsResult,\n BulletedListData,\n ButtonData,\n ButtonDataType,\n ButtonStyles,\n CaptionData,\n CardData,\n CardDataBackground,\n CardDataBackgroundType,\n CardStyles,\n CardStylesAlignment,\n CardStylesType,\n CellStyle,\n ChangeableProperty,\n Checkbox,\n CheckboxGroup,\n Checkout,\n CodeBlockData,\n CollapsibleListData,\n ColorData,\n Colors,\n ComponentType,\n ComponentsTags,\n Condition,\n ConditionNode,\n ConditionNodeNodeOneOf,\n ConfirmSubmissionRequest,\n ConfirmSubmissionResponse,\n ConfirmationLevel,\n ContactAutofill,\n ContactField,\n CorrectAnswersList,\n CountDeletedSubmissionsOptions,\n CountDeletedSubmissionsRequest,\n CountDeletedSubmissionsResponse,\n CountSubmissionsByFilterOptions,\n CountSubmissionsByFilterRequest,\n CountSubmissionsByFilterResponse,\n CountSubmissionsOptions,\n CountSubmissionsRequest,\n CountSubmissionsResponse,\n CreateCheckoutFromSubmissionRequest,\n CreateCheckoutFromSubmissionRequestFormSchemaIdentifierOneOf,\n CreateCheckoutFromSubmissionResponse,\n CreateSubmissionBySubmitterRequest,\n CreateSubmissionBySubmitterResponse,\n CreateSubmissionOptions,\n CreateSubmissionRequest,\n CreateSubmissionResponse,\n Crop,\n CursorPaging,\n CursorPagingMetadata,\n CursorQuery,\n CursorQueryPagingMethodOneOf,\n CursorSearch,\n CursorSearchPagingMethodOneOf,\n Cursors,\n CustomFieldInfo,\n CustomOption,\n DataExtensionsDetails,\n DateInput,\n DatePicker,\n DateRange,\n DateTimeAdvancedConstraints,\n DateTimeConstraints,\n DateTimeInput,\n DayOfWeek,\n Decoration,\n DecorationDataOneOf,\n DecorationType,\n DefaultCountryConfig,\n DefaultCountryConfigOptionsOneOf,\n DeleteSubmissionOptions,\n DeleteSubmissionRequest,\n DeleteSubmissionResponse,\n Design,\n DesignTarget,\n Dimensions,\n Direction,\n DisplayField,\n DisplayFieldDisplayFieldTypeOptionsOneOf,\n DisplayFieldType,\n DividerData,\n DividerDataAlignment,\n DocumentReady,\n DocumentStyle,\n DomainEvent,\n DomainEventBodyOneOf,\n DonationInput,\n DonationInputOption,\n DownloadSubmissionRequest,\n Dropdown,\n DropdownOption,\n DynamicPriceOptions,\n EmailInfo,\n EmailInfoTag,\n EmbedData,\n Empty,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n ErrorType,\n EventData,\n EventMetadata,\n ExtendedFields,\n Field,\n FieldFieldTypeOptionsOneOf,\n FieldGroup,\n FieldOverride,\n FieldOverridePropertyTypeOptionsOneOf,\n FieldOverrides,\n FieldType,\n FieldViolation,\n FieldViolationErrorDataOneOf,\n FieldsOverrides,\n FieldsSettings,\n FileData,\n FileSource,\n FileSourceDataOneOf,\n FileType,\n FileUpload,\n FirstDayOfWeek,\n FixedPayment,\n FixedPriceOptions,\n FontFamilyData,\n FontSizeData,\n FontType,\n Form,\n FormDeletedSubmissionsCount,\n FormField,\n FormFieldArrayType,\n FormFieldBooleanType,\n FormFieldContactInfo,\n FormFieldContactInfoAdditionalInfoOneOf,\n FormFieldContactInfoAddressInfo,\n FormFieldContactInfoContactField,\n FormFieldContactInfoCustomFieldInfo,\n FormFieldContactInfoEmailInfo,\n FormFieldContactInfoEmailInfoTag,\n FormFieldContactInfoPhoneInfo,\n FormFieldContactInfoPhoneInfoTag,\n FormFieldContactInfoSubscriptionInfo,\n FormFieldNumberType,\n FormFieldObjectType,\n FormFieldStringType,\n FormFieldStringTypeFormatOptionsOneOf,\n FormLayout,\n FormOverride,\n FormProperties,\n FormRule,\n FormSubmission,\n FormSubmissionQuerySpec,\n FormSubmissionSearchSpec,\n FormSubmissionStatusUpdatedEvent,\n FormSubmissionsCount,\n Format,\n FormatEnumFormat,\n FormattedFormSubmission,\n FormattedSubmission,\n GIF,\n GIFData,\n GIFType,\n GalleryData,\n GalleryOptions,\n GalleryOptionsLayout,\n GetDeletedSubmissionRequest,\n GetDeletedSubmissionResponse,\n GetFormattedSubmissionRequest,\n GetFormattedSubmissionResponse,\n GetMediaUploadURLRequest,\n GetMediaUploadURLResponse,\n GetSubmissionByCheckoutIdRequest,\n GetSubmissionByCheckoutIdResponse,\n GetSubmissionDownloadUrlRequest,\n GetSubmissionDownloadUrlResponse,\n GetSubmissionRequest,\n GetSubmissionResponse,\n Gradient,\n GradientType,\n Group,\n HTMLData,\n HTMLDataDataOneOf,\n HeadersEntry,\n HeadingData,\n Height,\n HiddenOptions,\n IdentificationData,\n IdentificationDataIdOneOf,\n IdentityType,\n Image,\n ImageData,\n ImageDataStyles,\n ImageFit,\n ImagePosition,\n ImagePositionPosition,\n ImageScalingScaling,\n ImageStyles,\n InPersonOptions,\n Indentation,\n InitialExpandedItems,\n InputField,\n InputFieldInputTypeOptionsOneOf,\n InputType,\n IntegerType,\n IsFormSubmittableRequest,\n IsFormSubmittableResponse,\n Item,\n ItemDataOneOf,\n ItemLayout,\n ItemLayoutItemOneOf,\n ItemMetadata,\n ItemStyle,\n ItemType,\n Kind,\n Layout,\n LayoutCellData,\n LayoutData,\n LayoutDataBackground,\n LayoutDataBackgroundImage,\n LayoutDataBackgroundType,\n LayoutDataImagePosition,\n LayoutType,\n LimitationRule,\n LineStyle,\n Link,\n LinkData,\n LinkDataOneOf,\n LinkPreviewData,\n LinkPreviewDataStyles,\n LinkTarget,\n ListDeletedSubmissionsOptions,\n ListDeletedSubmissionsRequest,\n ListDeletedSubmissionsResponse,\n ListFormattedSubmissionsRequest,\n ListFormattedSubmissionsResponse,\n ListStyle,\n ListValue,\n Location,\n LocationLocationInfoOneOf,\n MapData,\n MapSettings,\n MapType,\n Margin,\n MarketingSubscriptionDetails,\n Media,\n MediaItem,\n MediaItemMediaOneOf,\n MediaSettings,\n MeetingType,\n MentionData,\n MessageEnvelope,\n Metadata,\n Mode,\n MultilineAddress,\n MultilineAddressValidation,\n NestedForm,\n NestedFormFieldOverrides,\n NestedFormOverrides,\n Node,\n NodeDataOneOf,\n NodeStyle,\n NodeType,\n NullValue,\n NumberComponentType,\n NumberCorrectAnswersList,\n NumberErrorMessages,\n NumberInput,\n NumberOfColumns,\n NumberQuizFieldSettings,\n NumberType,\n ObjectArray,\n ObjectArrayComponentType,\n ObjectArrayComponentTypeOptionsOneOf,\n ObjectArrayType,\n ObjectErrorMessages,\n ObjectType,\n ObjectTypePropertiesType,\n ObjectTypePropertiesTypePropertiesTypeOneOf,\n Oembed,\n Operator,\n OptInLevel,\n Option,\n OptionDesign,\n OptionLayout,\n OrCondition,\n OrderDetails,\n OrderedListData,\n Orientation,\n Origin,\n OverrideEntityType,\n OverrideEntityTypeEnumOverrideEntityType,\n PDFSettings,\n PageNavigationOptions,\n ParagraphData,\n PassFailMessages,\n Password,\n Payment,\n PaymentComponentType,\n PaymentComponentTypeOptionsOneOf,\n PaymentInput,\n PaymentType,\n Permissions,\n PhoneConstraints,\n PhoneInfo,\n PhoneInfoTag,\n PhoneInput,\n PhoneOptions,\n Placement,\n PlaybackOptions,\n PluginContainerData,\n PluginContainerDataAlignment,\n PluginContainerDataWidth,\n PluginContainerDataWidthDataOneOf,\n Poll,\n PollData,\n PollDataLayout,\n PollDesign,\n PollDesignBackground,\n PollDesignBackgroundBackgroundOneOf,\n PollDesignBackgroundType,\n PollLayout,\n PollLayoutDirection,\n PollLayoutType,\n PollOption,\n PopupOptions,\n Position,\n PostSubmissionTriggers,\n PredefinedValidation,\n PredefinedValidationFormatOptionsOneOf,\n PriceType,\n PricingData,\n Product,\n ProductCheckboxGroup,\n ProductCheckboxGroupOption,\n ProductPriceOptionsOneOf,\n ProductType,\n PropertiesType,\n PropertiesTypeEnum,\n PropertiesTypePropertiesTypeOptionsOneOf,\n PublicTags,\n QuantityLimit,\n QuerySubmissionOptions,\n QuerySubmissionRequest,\n QuerySubmissionResponse,\n QuerySubmissionsByNamespaceForExportRequest,\n QuerySubmissionsByNamespaceForExportResponse,\n QuerySubmissionsByNamespaceOptions,\n QuerySubmissionsByNamespaceRequest,\n QuerySubmissionsByNamespaceResponse,\n QuizFieldSettings,\n QuizSettings,\n QuizSettingsPassingCriteriaOneOf,\n QuizSettingsResultsDisplayOptionsOneOf,\n RadioGroup,\n RadioGroupOption,\n RatingInput,\n RawHttpResponse,\n RedirectOptions,\n Rel,\n RemoveSubmissionFromTrashBinRequest,\n RemoveSubmissionFromTrashBinResponse,\n RemovedSubmissionFromTrash,\n Repeater,\n RequiredIndicator,\n RequiredIndicatorPlacement,\n RequiredIndicatorProperties,\n RequiredOptions,\n Resizing,\n ResponsivenessBehaviour,\n RestoreInfo,\n RestoreSubmissionFromTrashBinRequest,\n RestoreSubmissionFromTrashBinResponse,\n ResultsDisplay,\n RibbonStyles,\n RichContent,\n RichContentOptions,\n Rule,\n RuleFormOverride,\n RuleFormOverrideEntityTypeOptionsOneOf,\n Scaling,\n Scheduling,\n SchedulingComponentType,\n SchedulingComponentTypeOptionsOneOf,\n SearchDetails,\n SearchSubmissionsByNamespaceForExportRequest,\n SearchSubmissionsByNamespaceForExportResponse,\n SearchSubmissionsByNamespaceRequest,\n SearchSubmissionsByNamespaceResponse,\n Section,\n ServiceOption,\n ServicesCheckboxGroup,\n ServicesDropdown,\n Settings,\n ShapeData,\n ShapeDataStyles,\n Signature,\n SortOrder,\n Sorting,\n Source,\n SpamFilterProtectionLevel,\n Spoiler,\n SpoilerData,\n StaffStrategySelection,\n Status,\n Step,\n Stop,\n StringComponentType,\n StringCorrectAnswersList,\n StringErrorMessages,\n StringQuizFieldSettings,\n StringType,\n StringTypeDateTimeConstraints,\n StringTypeFormatEnumFormat,\n StringTypeFormatOptionsOneOf,\n StringTypePhoneConstraints,\n StringTypeValidationMessages,\n Styles,\n StylesBorder,\n StylesPosition,\n SubmissionAccess,\n SubmissionContactMapped,\n SubmissionContactMappedEnvelope,\n SubmissionContactMappingSkipped,\n SubmissionContactMappingSkippedEnvelope,\n SubmissionCreatedEnvelope,\n SubmissionDeletedEnvelope,\n SubmissionDocument,\n SubmissionDocumentDocumentOneOf,\n SubmissionErrorType,\n SubmissionRemovedSubmissionFromTrashEnvelope,\n SubmissionStatus,\n SubmissionStatusUpdatedEnvelope,\n SubmissionUpdatedEnvelope,\n SubmissionValidationError,\n SubmissionValidationErrorErrorMessageOneOf,\n SubmissionValidationErrors,\n SubmissionValidationErrorsDetails,\n SubmissionsQueryBuilder,\n SubmissionsQueryResult,\n SubmitContactResponse,\n SubmitSettings,\n SubmitSettingsSubmitSuccessActionOptionsOneOf,\n SubmitSuccessAction,\n Submitter,\n SubmitterSubmitterOneOf,\n SubscriptionChannel,\n SubscriptionInfo,\n SubscriptionInfoOptInLevel,\n TableCellData,\n TableData,\n Tag,\n TagList,\n Tags,\n TagsOption,\n TagsTagList,\n Target,\n TextAlignment,\n TextData,\n TextInput,\n TextNodeStyle,\n TextStyle,\n ThankYouMessageOptions,\n Thumbnails,\n ThumbnailsAlignment,\n TimeInput,\n TocData,\n Type,\n UpdateExtendedFieldsOptions,\n UpdateExtendedFieldsRequest,\n UpdateExtendedFieldsResponse,\n UpdateSubmission,\n UpdateSubmissionRequest,\n UpdateSubmissionResponse,\n UploadFileFormat,\n UpsertContact,\n UpsertContactFromSubmissionOptions,\n UpsertContactFromSubmissionRequest,\n UpsertContactFromSubmissionResponse,\n V4FormFieldContactInfo,\n V4FormFieldContactInfoAdditionalInfoOneOf,\n ValidateFormSubmissionOptions,\n ValidateFormSubmissionRequest,\n ValidateFormSubmissionResponse,\n Validation,\n ValidationError,\n ValidationFormat,\n ValidationMessages,\n ValidationValidationOneOf,\n VerticalAlignment,\n VerticalAlignmentAlignment,\n Video,\n VideoConferenceOptions,\n VideoData,\n ViewMode,\n ViewRole,\n VoteRole,\n WebhookIdentityType,\n Width,\n WidthType,\n WixFile,\n WixFileComponentType,\n WixFileComponentTypeOptionsOneOf,\n _Array,\n _ArrayComponentTypeOptionsOneOf,\n _Boolean,\n _BooleanComponentTypeOptionsOneOf,\n _Number,\n _NumberComponentTypeOptionsOneOf,\n _Object,\n _String,\n _StringComponentTypeOptionsOneOf,\n utils,\n} from './forms-v4-submission-submissions.universal.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport { queryBuilder } from '@wix/sdk-runtime/query-builder';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport {\n HttpClient,\n HttpResponse,\n Search as SearchSdkType,\n NonNullablePaths,\n SearchSpec,\n QuerySpec,\n Query as QuerySdkType,\n} from '@wix/sdk-types';\nimport * as ambassadorWixFormsV4Submission from './forms-v4-submission-submissions.http.js';\n// @ts-ignore\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { createSearchUtils } from '@wix/sdk-runtime/search-builder-utils';\nimport { createQueryUtils } from '@wix/sdk-runtime/query-builder-utils';\n\n/** Form submission that was created or retrieved. */\nexport interface FormSubmission {\n /**\n * Submission ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * ID of the form which the submission belongs to.\n * @format GUID\n * @immutable\n */\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 * @minLength 10\n * @maxLength 50\n * @readonly\n */\n namespace?: string;\n /** Status of the submission. */\n status?: SubmissionStatusWithLiterals;\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 * @immutable\n */\n _createdDate?: Date | null;\n /**\n * Date and time the form submission was updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Revision number, which increments by 1 each time the form submission is updated. To prevent conflicting changes, the existing revision must be used when updating a form submission.\n * @readonly\n */\n revision?: string | null;\n /**\n * ID of the visitor that submitted the form.\n * @readonly\n */\n submitter?: Submitter;\n /** Whether a site owner marked a submission as \"seen\". */\n seen?: boolean;\n /** Data extension object that holds users' and apps' fields. */\n extendedFields?: ExtendedFields;\n /**\n * Order details. <br>\n * <b>Note</b>: This object is only applicable when submitting a form in the Wix Payments app.\n */\n orderDetails?: OrderDetails;\n /**\n * Contact ID of a site visitor who created the submission.\n * @format GUID\n * @immutable\n */\n contactId?: string | null;\n /**\n * Authorized viewer ID.\n * @format GUID\n * @immutable\n */\n accessRestriction?: string | null;\n /** Tag IDs collections associated with the current entity. */\n tags?: PublicTags;\n /**\n * Appointment details.\n * This object is only applicable when submitting a form that creates a booking appointment.\n */\n appointmentDetails?: AppointmentDetails;\n}\n\nexport enum SubmissionStatus {\n /** A submission is created, but has not yet been recorded in the Wix Forms collection. */\n PENDING = 'PENDING',\n /** A submission is recorded in the Wix Forms collection. */\n CONFIRMED = 'CONFIRMED',\n /** A form submission requiring payment is created. */\n PAYMENT_WAITING = 'PAYMENT_WAITING',\n /** An order of a form submission is canceled. */\n PAYMENT_CANCELED = 'PAYMENT_CANCELED',\n}\n\n/** @enumType */\nexport type SubmissionStatusWithLiterals =\n | SubmissionStatus\n | 'PENDING'\n | 'CONFIRMED'\n | 'PAYMENT_WAITING'\n | 'PAYMENT_CANCELED';\n\nexport interface Submitter extends SubmitterSubmitterOneOf {\n /**\n * Member ID.\n * @format GUID\n */\n memberId?: string | null;\n /**\n * Visitor ID.\n * @format GUID\n */\n visitorId?: string | null;\n /**\n * Application ID.\n * @maxLength 36\n */\n applicationId?: string | null;\n /**\n * User ID.\n * @format GUID\n */\n userId?: string | null;\n}\n\n/** @oneof */\nexport interface SubmitterSubmitterOneOf {\n /**\n * Member ID.\n * @format GUID\n */\n memberId?: string | null;\n /**\n * Visitor ID.\n * @format GUID\n */\n visitorId?: string | null;\n /**\n * Application ID.\n * @maxLength 36\n */\n applicationId?: string | null;\n /**\n * User ID.\n * @format GUID\n */\n userId?: string | null;\n}\n\nexport 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\nexport interface OrderDetails {\n /**\n * ID of the order related to submission (only applicable if a form has payments).\n * @format GUID\n * @readonly\n */\n orderId?: string | null;\n /**\n * Order number.\n * @readonly\n */\n number?: string | null;\n /**\n * Currency.\n * @format CURRENCY\n * @readonly\n */\n currency?: string | null;\n /**\n * Item subtotal.\n * @decimalValue options { gte:0.00, maxScale:2 }\n * @readonly\n */\n itemSubtotal?: string;\n /**\n * ID of the checkout related to submission (only applicable if a form has payments).\n * @format GUID\n * @readonly\n */\n checkoutId?: string;\n}\n\nexport interface PublicTags {\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\nexport interface TagList {\n /**\n * List of tag IDs\n * @maxSize 100\n * @maxLength 5\n */\n tagIds?: string[];\n}\n\nexport interface AppointmentDetails {\n /**\n * ID of the staff member assigned to the appointment.\n * @format GUID\n */\n staffMemberId?: string | null;\n /**\n * Name of the staff member assigned to the appointment.\n * @minLength 1\n * @maxLength 40\n */\n staffMemberName?: string | null;\n}\n\nexport interface FormSubmissionStatusUpdatedEvent {\n /** Updated submission. */\n submission?: FormSubmission;\n /** Previous status of the submission. */\n previousStatus?: SubmissionStatusWithLiterals;\n}\n\nexport interface RemovedSubmissionFromTrash {\n /** Removed submission. */\n submission?: FormSubmission;\n}\n\nexport interface SubmissionContactMapped {\n /**\n * Mapped upserted contact ID.\n * @format GUID\n * @readonly\n */\n contactId?: string;\n /**\n * Identifies the namespace that the submission's form belongs to.\n * @minLength 10\n * @maxLength 50\n * @immutable\n */\n namespace?: string;\n /** Marketing subscription details */\n marketingSubscriptionDetails?: MarketingSubscriptionDetails;\n}\n\nexport interface MarketingSubscriptionDetails {\n /**\n * Form id which was submitted\n * @format GUID\n */\n formId?: string;\n /**\n * Mapped contact emails.\n * @format EMAIL\n * @maxSize 100\n */\n emails?: string[];\n /**\n * Date and time the form submission was created.\n * @readonly\n */\n submittedDate?: Date | null;\n /**\n * Email subscription consent opt in level, either single or double confirmation.\n * Default: SINGLE_CONFIRMATION\n */\n optInLevel?: OptInLevelWithLiterals;\n /**\n * Mapped valid contact phones.\n * @format PHONE\n * @maxSize 100\n */\n phones?: string[];\n /**\n * Phone subscription consent opt in level, either single or double confirmation.\n * Default: SINGLE_CONFIRMATION\n */\n phoneOptInLevel?: OptInLevelWithLiterals;\n}\n\nexport enum OptInLevel {\n /** Single confirmation. */\n SINGLE_CONFIRMATION = 'SINGLE_CONFIRMATION',\n /** Double confirmation. */\n DOUBLE_CONFIRMATION = 'DOUBLE_CONFIRMATION',\n}\n\n/** @enumType */\nexport type OptInLevelWithLiterals =\n | OptInLevel\n | 'SINGLE_CONFIRMATION'\n | 'DOUBLE_CONFIRMATION';\n\nexport interface SubmissionContactMappingSkipped {\n /**\n * Form Id.\n * @format GUID\n */\n formId?: string;\n /**\n * Identifies the namespace that the submission's form belongs to.\n * @minLength 10\n * @maxLength 50\n * @immutable\n */\n namespace?: string;\n /**\n * Contact ID resolved from the submission context.\n * @format GUID\n * @readonly\n */\n contactId?: string | null;\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [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 that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport 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 currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface AccountInfo {\n /**\n * ID of the Wix account associated with the event.\n * @format GUID\n */\n accountId?: string | null;\n /**\n * ID of the parent Wix account. Only included when accountId belongs to a child account.\n * @format GUID\n */\n parentAccountId?: string | null;\n /**\n * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n * @format GUID\n */\n siteId?: string | null;\n}\n\nexport interface CreateCheckoutFromSubmissionRequest\n extends CreateCheckoutFromSubmissionRequestFormSchemaIdentifierOneOf {\n /** Submission's form. */\n form?: Form;\n /** Submission to create checkout from. */\n submission?: FormSubmission;\n}\n\n/** @oneof */\nexport interface CreateCheckoutFromSubmissionRequestFormSchemaIdentifierOneOf {\n /** Submission's form. */\n form?: Form;\n}\n\nexport interface Form {\n /**\n * Form schema ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Form fields that define the input elements and their validation rules.\n * @maxSize 500\n */\n formFields?: Field[];\n /**\n * Layout configuration that defines how form fields are organized across multiple steps.\n * Each step represents a page of the form.\n * @maxSize 100\n */\n steps?: Step[];\n /**\n * Form rules, can be applied to layout and items properties.\n * @maxSize 100\n * @deprecated Form rules, can be applied to layout and items properties.\n * @replacedBy wix.forms.v4.Form.form_rules\n * @targetRemovalDate 2026-04-01\n */\n rules?: FormRule[];\n /**\n * Revision number, which increments by 1 each time the form schema is updated.\n * To prevent conflicting changes, the current revision must be passed when updating the form schema.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time when the form schema was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time when the form schema was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Fields which were soft deleted.\n * @maxSize 150\n * @readonly\n */\n deletedFields?: FormField[];\n /**\n * Form fields that were soft deleted.\n * @maxSize 150\n * @readonly\n */\n deletedFormFields?: Field[];\n /** Data extensions for storing additional custom properties. */\n extendedFields?: ExtendedFields;\n /**\n * Unique identifier for the app that owns this form schema.\n * For example, `wix.form_app.form` for Wix Forms.\n *\n * See a list of namespaces for [apps made by Wix](https://dev.wix.com/docs/api-reference/crm/forms/form-schemas/introduction#namespaces-of-apps-made-by-wix) section.\n * @minLength 10\n * @maxLength 50\n * @immutable\n */\n namespace?: string;\n /**\n * Media folder ID for storing uploaded files from form submissions.\n * @maxLength 100\n * @readonly\n */\n mediaFolderId?: string | null;\n /** Submission limits that can automatically disable the form when reached. */\n limitationRule?: LimitationRule;\n /**\n * Level of spam protection applied to form submissions.\n *\n * Default: `ADVANCED`\n */\n spamFilterProtectionLevel?: SpamFilterProtectionLevelWithLiterals;\n /** Configuration for how required field indicators are displayed to the submitter. */\n requiredIndicatorProperties?: RequiredIndicatorProperties;\n /** Configuration for actions taken after a form is successfully submitted. */\n submitSettings?: SubmitSettings;\n /**\n * Message displayed to visitors when the form is disabled.\n * This allows you to inform submitters why the form isn't available.\n */\n disabledFormMessage?: RichContent;\n /**\n * Whether the form is effectively active — `true` only when the user has not disabled the form\n * **and** no system service has placed an `activation_block` on it.\n *\n * Writing `enabled: true` records the user's intent to activate the form, but the value read\n * back may still be `false` if `activation_block` is present (e.g. a plan restriction is in\n * effect). Once the block is lifted the form becomes active automatically without any additional\n * write.\n *\n * Default: `true`\n */\n enabled?: boolean | null;\n /**\n * Display name of the form schema.\n * @maxLength 200\n */\n name?: string | null;\n /**\n * Business logic rules that can modify form behavior based on user input or other conditions.\n * These rules can show/hide fields, change validation, or trigger actions.\n * @maxSize 100\n */\n formRules?: Rule[];\n /** Tag IDs collections associated with the current entity. */\n tags?: Tags;\n /** Source used for contact autofill when filling form fields. Default: FORM_INPUT. */\n autoFillContact?: ContactAutofillWithLiterals;\n /**\n * Controls who can read submissions of this form beyond the standard permission.\n *\n * Default: `OWNER_AND_COLLABORATORS`\n */\n submissionAccess?: SubmissionAccessWithLiterals;\n}\n\nexport interface FormField {\n /**\n * Item ID.\n * @format GUID\n * @immutable\n */\n _id?: string;\n /**\n * Definition of a target where the value of field belongs.\n * @maxLength 200\n * @immutable\n */\n target?: string | null;\n /** Validation of field output value. */\n validation?: Validation;\n /** Mark the field as containing personal information. This will encrypt user data when storing it. */\n pii?: boolean;\n /** Whether the field is hidden. */\n hidden?: boolean;\n /** Field view properties. */\n view?: Record<string, any> | null;\n /** Details identifying field, which is extension of other entity */\n dataExtensionsDetails?: DataExtensionsDetails;\n /**\n * Whether the field is read only.\n * Default: false\n */\n readOnly?: boolean;\n}\n\nexport interface FormFieldStringType\n extends FormFieldStringTypeFormatOptionsOneOf {\n /** DATE format options */\n dateOptions?: DateTimeAdvancedConstraints;\n /** DATE_TIME format options */\n dateTimeOptions?: StringTypeDateTimeConstraints;\n /** TIME format options */\n timeOptions?: StringTypeDateTimeConstraints;\n /** DATE_OPTIONAL_TIME format options */\n dateOptionalTimeOptions?: StringTypeDateTimeConstraints;\n /** PHONE format options */\n phoneOptions?: StringTypePhoneConstraints;\n /**\n * Minimum length.\n * @max 20000\n */\n minLength?: number | null;\n /**\n * Maximum length.\n * @max 20000\n */\n maxLength?: number | null;\n /**\n * Pattern for a regular expression match.\n * @maxLength 500\n */\n pattern?: string | null;\n /** Format of a string. */\n format?: StringTypeFormatEnumFormatWithLiterals;\n /** Custom error messages when validation fails. */\n errorMessages?: StringErrorMessages;\n /**\n * List of allowed values.\n * @maxSize 500\n * @maxLength 20000\n */\n enum?: string[] | null;\n /** User defined error messages when particular validation constraint fails */\n validationMessages?: StringTypeValidationMessages;\n}\n\n/** @oneof */\nexport interface FormFieldStringTypeFormatOptionsOneOf {\n /** DATE format options */\n dateOptions?: DateTimeAdvancedConstraints;\n /** DATE_TIME format options */\n dateTimeOptions?: StringTypeDateTimeConstraints;\n /** TIME format options */\n timeOptions?: StringTypeDateTimeConstraints;\n /** DATE_OPTIONAL_TIME format options */\n dateOptionalTimeOptions?: StringTypeDateTimeConstraints;\n /** PHONE format options */\n phoneOptions?: StringTypePhoneConstraints;\n}\n\nexport enum StringTypeFormatEnumFormat {\n UNDEFINED = 'UNDEFINED',\n DATE = 'DATE',\n TIME = 'TIME',\n DATE_TIME = 'DATE_TIME',\n EMAIL = 'EMAIL',\n URL = 'URL',\n UUID = 'UUID',\n PHONE = 'PHONE',\n URI = 'URI',\n HOSTNAME = 'HOSTNAME',\n COLOR_HEX = 'COLOR_HEX',\n CURRENCY = 'CURRENCY',\n LANGUAGE = 'LANGUAGE',\n DATE_OPTIONAL_TIME = 'DATE_OPTIONAL_TIME',\n}\n\n/** @enumType */\nexport type StringTypeFormatEnumFormatWithLiterals =\n | StringTypeFormatEnumFormat\n | 'UNDEFINED'\n | 'DATE'\n | 'TIME'\n | 'DATE_TIME'\n | 'EMAIL'\n | 'URL'\n | 'UUID'\n | 'PHONE'\n | 'URI'\n | 'HOSTNAME'\n | 'COLOR_HEX'\n | 'CURRENCY'\n | 'LANGUAGE'\n | 'DATE_OPTIONAL_TIME';\n\nexport interface StringErrorMessages {\n /**\n * Default error message on invalid validation.\n * @maxLength 200\n */\n default?: string | null;\n}\n\nexport interface DateTimeAdvancedConstraints {\n /**\n * Allows to specify available and unavailable dates and days of the week.\n * If unset, all dates from minimum to maximum are available.\n */\n availability?: Availability;\n /**\n * Support static constrains defined as ISO date/time format, as well as\n * dynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\n * The dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\n * The regex pattern for dynamic calculations is: \\$now([+-]\\d{1,2})([yMdmh])\n * @maxLength 50\n */\n minimum?: string | null;\n /**\n * Support static constrains defined as ISO date/time format, as well as\n * dynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\n * The dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\n * The regex pattern for dynamic calculations is: \\$now([+-]\\d{1,2})([yMdmh])\n * @maxLength 50\n */\n maximum?: string | null;\n}\n\nexport interface Availability {\n /**\n * Available date ranges.\n * If empty, all dates are available; if non-empty, only dates within these ranges are available.\n * `unavailable_dates` takes priority in case of overlap — for example, an empty `available_dates`\n * with a non-empty `unavailable_dates` means all dates are available except the excluded ranges.\n * @maxSize 5\n */\n availableDates?: DateRange[];\n /**\n * Unavailable date ranges. They take priority over `available_dates` in case of overlap.\n * @maxSize 5\n */\n unavailableDates?: DateRange[];\n /**\n * During available_dates, only these days of the week are available.\n * @maxSize 7\n */\n availableDays?: DayOfWeekWithLiterals[];\n}\n\nexport interface DateRange {\n /**\n * The beginning of the date range (inclusive). ISO 8601 date format (YYYY-MM-DD).\n * @format LOCAL_DATE\n */\n start?: string;\n /**\n * The end of the date range (exclusive). ISO 8601 date format (YYYY-MM-DD).\n * @format LOCAL_DATE\n */\n end?: string;\n}\n\nexport 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\n/** @enumType */\nexport type DayOfWeekWithLiterals =\n | DayOfWeek\n | 'MONDAY'\n | 'TUESDAY'\n | 'WEDNESDAY'\n | 'THURSDAY'\n | 'FRIDAY'\n | 'SATURDAY'\n | 'SUNDAY';\n\nexport interface StringTypeDateTimeConstraints {\n /**\n * Support static constrains defined as ISO date/time format, as well as\n * dynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\n * The dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\n * The regex pattern for dynamic calculations is: \\$now([+-]\\d{1,2})([yMdmh])\n * @maxLength 50\n */\n minimum?: string | null;\n /**\n * Support static constrains defined as ISO date/time format, as well as\n * dynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\n * The dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\n * The regex pattern for dynamic calculations is: \\$now([+-]\\d{1,2})([yMdmh])\n * @maxLength 50\n */\n maximum?: string | null;\n}\n\nexport interface StringTypePhoneConstraints {\n /**\n * Country codes for phone number that are allowed\n * @maxSize 250\n * @maxLength 2\n */\n allowedCountryCodes?: string[];\n}\n\nexport interface StringTypeValidationMessages {\n /**\n * Error message shown when validation of patter fails\n * @maxLength 200\n */\n pattern?: string | null;\n}\n\nexport interface FormFieldNumberType {\n /** Inclusive maximum value. */\n maximum?: number | null;\n /** Inclusive minimum value. */\n minimum?: number | null;\n /** Multiple of value. */\n multipleOf?: number | null;\n /** Custom error message when validation fails. */\n errorMessages?: NumberErrorMessages;\n /**\n * List of allowed values.\n * @maxSize 500\n */\n enum?: number[] | null;\n}\n\nexport interface NumberErrorMessages {\n /**\n * Default error message on invalid validation.\n * @maxLength 200\n */\n default?: string | null;\n}\n\nexport interface IntegerType {\n /** Minimum value. */\n maximum?: number | null;\n /** Maximum value. */\n minimum?: number | null;\n /** Multiple of value. */\n multipleOf?: number | null;\n /** Custom error message when validation fails. */\n errorMessages?: NumberErrorMessages;\n /**\n * List of allowed values.\n * @maxSize 500\n */\n enum?: number[] | null;\n}\n\nexport interface FormFieldBooleanType {\n /** Custom error message when validation fails. */\n errorMessages?: BooleanErrorMessages;\n /**\n * List of allowed values.\n * @maxSize 2\n */\n enum?: boolean[];\n}\n\nexport interface BooleanErrorMessages {\n /**\n * Default error message on invalid validation.\n * @maxLength 200\n */\n default?: string | null;\n}\n\nexport interface FormFieldArrayType {\n /**\n * Maximum amount of array elements.\n * @max 1000\n */\n maxItems?: number | null;\n /**\n * Minimum amount of array elements.\n * @max 1000\n */\n minItems?: number | null;\n /** Type of items allowed in array. */\n items?: ArrayTypeArrayItems;\n /** Custom error message when validation fails. */\n errorMessages?: ArrayErrorMessages;\n}\n\nexport interface FormFieldObjectType {\n /** Description of object properties. */\n properties?: Record<string, ObjectTypePropertiesType>;\n /** Custom error message when validation fails. */\n errorMessages?: ObjectErrorMessages;\n}\n\nexport interface ObjectTypePropertiesType\n extends ObjectTypePropertiesTypePropertiesTypeOneOf {\n /** String type validation for property. */\n string?: FormFieldStringType;\n /** Number type validation for property. */\n number?: FormFieldNumberType;\n /** Boolean type validation for property. */\n boolean?: FormFieldBooleanType;\n /** Integer type validation for property. */\n integer?: IntegerType;\n /** Array type validation for property. */\n array?: FormFieldArrayType;\n /** Whether the property is required. */\n required?: boolean;\n}\n\n/** @oneof */\nexport interface ObjectTypePropertiesTypePropertiesTypeOneOf {\n /** String type validation for property. */\n string?: FormFieldStringType;\n /** Number type validation for property. */\n number?: FormFieldNumberType;\n /** Boolean type validation for property. */\n boolean?: FormFieldBooleanType;\n /** Integer type validation for property. */\n integer?: IntegerType;\n /** Array type validation for property. */\n array?: FormFieldArrayType;\n}\n\nexport interface ObjectErrorMessages {\n /**\n * Default error message on invalid validation.\n * @maxLength 200\n */\n default?: string | null;\n}\n\nexport interface ArrayTypeArrayItems extends ArrayTypeArrayItemsItemsOneOf {\n /** String type validation for items. */\n string?: FormFieldStringType;\n /** Number type validation for items. */\n number?: FormFieldNumberType;\n /** Boolean type validation for items. */\n boolean?: FormFieldBooleanType;\n /** Integer type validation for items. */\n integer?: IntegerType;\n /** Object type validation for items */\n object?: FormFieldObjectType;\n}\n\n/** @oneof */\nexport interface ArrayTypeArrayItemsItemsOneOf {\n /** String type validation for items. */\n string?: FormFieldStringType;\n /** Number type validation for items. */\n number?: FormFieldNumberType;\n /** Boolean type validation for items. */\n boolean?: FormFieldBooleanType;\n /** Integer type validation for items. */\n integer?: IntegerType;\n /** Object type validation for items */\n object?: FormFieldObjectType;\n}\n\nexport interface ArrayErrorMessages {\n /**\n * Default error message on invalid validation.\n * @maxLength 200\n */\n default?: string | null;\n}\n\nexport interface PredefinedValidation\n extends PredefinedValidationFormatOptionsOneOf {\n /** Payment input field. */\n paymentOptions?: PaymentType;\n /** Multiline address validation. */\n multilineAddressOptions?: MultilineAddressValidation;\n /** Validation configuration for the object array input. */\n objectArrayOptions?: ObjectArrayType;\n /** Format of predefined validation. */\n format?: ValidationFormatWithLiterals;\n}\n\n/** @oneof */\nexport interface PredefinedValidationFormatOptionsOneOf {\n /** Payment input field. */\n paymentOptions?: PaymentType;\n /** Multiline address validation. */\n multilineAddressOptions?: MultilineAddressValidation;\n /** Validation configuration for the object array input. */\n objectArrayOptions?: ObjectArrayType;\n}\n\nexport enum ValidationFormat {\n UNDEFINED = 'UNDEFINED',\n /** File upload validation. */\n WIX_FILE = 'WIX_FILE',\n /** Payment validation. */\n PAYMENT = 'PAYMENT',\n /** Multiline address. */\n MULTILINE_ADDRESS = 'MULTILINE_ADDRESS',\n /** Scheduling validation. */\n SCHEDULING = 'SCHEDULING',\n /** Object array validation. */\n OBJECT_ARRAY = 'OBJECT_ARRAY',\n}\n\n/** @enumType */\nexport type ValidationFormatWithLiterals =\n | ValidationFormat\n | 'UNDEFINED'\n | 'WIX_FILE'\n | 'PAYMENT'\n | 'MULTILINE_ADDRESS'\n | 'SCHEDULING'\n | 'OBJECT_ARRAY';\n\nexport interface PaymentType {\n /**\n * Products the submitter can select to make a payment for.\n * @minSize 1\n * @maxSize 100\n */\n products?: Product[];\n /**\n * Minimum number of different products that must be selected.\n * @max 100\n */\n minItems?: number | null;\n /**\n * Maximum number of different products that can be selected.\n * @max 100\n */\n maxItems?: number | null;\n}\n\nexport enum ProductType {\n /** Physical product that can be shipped. */\n SHIPPABLE = 'SHIPPABLE',\n /** Digital product. */\n DIGITAL = 'DIGITAL',\n}\n\n/** @enumType */\nexport type ProductTypeWithLiterals = ProductType | 'SHIPPABLE' | 'DIGITAL';\n\nexport enum PriceType {\n /** Product has a single, unchanging price. */\n FIXED_PRICE = 'FIXED_PRICE',\n /** Product price can vary within a specified range. */\n DYNAMIC_PRICE = 'DYNAMIC_PRICE',\n}\n\n/** @enumType */\nexport type PriceTypeWithLiterals = PriceType | 'FIXED_PRICE' | 'DYNAMIC_PRICE';\n\nexport interface QuantityLimit {\n /**\n * Minimum quantity that must be selected for this product.\n * @min 1\n * @max 100000\n */\n minimum?: number | null;\n /**\n * Maximum quantity that can be selected for this product.\n * @min 1\n * @max 100000\n */\n maximum?: number | null;\n}\n\nexport interface FixedPriceOptions {\n /**\n * Fixed price of the product.\n *\n * Specified as a decimal string with period as decimal separator. For example, `\"3.99\"`.\n * @decimalValue options { gte:0.00, maxScale:2 }\n */\n price?: string;\n}\n\nexport interface DynamicPriceOptions {\n /**\n * Minimum price of the product.\n *\n * Specified as a decimal string with period as decimal separator. For example, `\"1.00\"`.\n * @decimalValue options { gte:0.00, maxScale:2 }\n */\n minPrice?: string;\n /**\n * Maximum monetary price of the product.\n *\n * Specified as a decimal string with period as decimal separator. For example, `\"10.00\"`.\n *\n * If not specified, there is no upper limit on the price.\n * @decimalValue options { gte:0.00, maxScale:2 }\n */\n maxPrice?: string | null;\n}\n\nexport interface Product extends ProductPriceOptionsOneOf {\n /** Configuration for products with fixed pricing. */\n fixedPriceOptions?: FixedPriceOptions;\n /** Configuration for products with variable pricing within a range. */\n dynamicPriceOptions?: DynamicPriceOptions;\n /**\n * Product ID.\n * @format GUID\n * @readonly\n */\n _id?: string;\n /** Product type. */\n productType?: ProductTypeWithLiterals;\n /** Price type. */\n priceType?: PriceTypeWithLiterals;\n /** Limits on how many units of this product can be selected. */\n quantityLimit?: QuantityLimit;\n}\n\n/** @oneof */\nexport interface ProductPriceOptionsOneOf {\n /** Configuration for products with fixed pricing. */\n fixedPriceOptions?: FixedPriceOptions;\n /** Configuration for products with variable pricing within a range. */\n dynamicPriceOptions?: DynamicPriceOptions;\n}\n\nexport interface MultilineAddressValidation {\n /**\n * Countries from which addresses are accepted.\n * If empty, addresses from all countries are allowed.\n * @format COUNTRY\n * @maxSize 200\n */\n allowedCountries?: string[];\n /** Customization configuration for individual address field components. */\n fields?: FieldsOverrides;\n}\n\nexport interface FieldOverrides {\n /** Whether the field is required. */\n required?: boolean;\n}\n\nexport interface FieldsOverrides {\n /** Subdivision settings. */\n subdivision?: FieldOverrides;\n /** City settings. */\n city?: FieldOverrides;\n /** Postal code settings. */\n postalCode?: FieldOverrides;\n /** Street name settings. */\n streetName?: FieldOverrides;\n /** Street number settings. */\n streetNumber?: FieldOverrides;\n /** Address line settings. */\n addressLine?: FieldOverrides;\n /** Address line 2 settings. */\n addressLine2?: FieldOverrides;\n /** Country settings. */\n country?: FieldOverrides;\n}\n\nexport interface ObjectArrayType {\n /**\n * Maximum number of elements allowed in the array.\n * @max 1000\n */\n maxItems?: number | null;\n /**\n * Minimum number of elements required in the array.\n * @max 1000\n */\n minItems?: number | null;\n}\n\nexport interface NestedFormFieldOverrides {\n /** Whether the field is required. Leave blank for no override. */\n required?: boolean | null;\n /** Whether the field is hidden. Leave blank for no override. */\n hidden?: boolean | null;\n}\n\nexport interface Validation extends ValidationValidationOneOf {\n /** Validation of string type. */\n string?: FormFieldStringType;\n /** Validation of number type. */\n number?: FormFieldNumberType;\n /** Validation of integer type. */\n integer?: IntegerType;\n /** Validation of boolean type. */\n boolean?: FormFieldBooleanType;\n /** Validation of array type. */\n array?: FormFieldArrayType;\n /** Validation of object type. */\n object?: FormFieldObjectType;\n /** Predefined validation of specific format */\n predefined?: PredefinedValidation;\n /** Whether the field is required. */\n required?: boolean;\n}\n\n/** @oneof */\nexport interface ValidationValidationOneOf {\n /** Validation of string type. */\n string?: FormFieldStringType;\n /** Validation of number type. */\n number?: FormFieldNumberType;\n /** Validation of integer type. */\n integer?: IntegerType;\n /** Validation of boolean type. */\n boolean?: FormFieldBooleanType;\n /** Validation of array type. */\n array?: FormFieldArrayType;\n /** Validation of object type. */\n object?: FormFieldObjectType;\n /** Predefined validation of specific format */\n predefined?: PredefinedValidation;\n}\n\nexport interface DataExtensionsDetails {\n /**\n * FQDNS which can be extended with this field\n * @maxSize 10\n * @maxLength 100\n * @immutable\n */\n fqdns?: string[];\n}\n\nexport interface NestedFormOverrides {\n /** Field overrides by field ID */\n fieldOverrides?: Record<string, NestedFormFieldOverrides>;\n}\n\nexport interface Field extends FieldFieldTypeOptionsOneOf {\n /** Configuration for input fields that collect user data. */\n inputOptions?: InputField;\n /** Configuration for display fields that show information without collecting input. */\n displayOptions?: DisplayField;\n /**\n * Field ID.\n * @format GUID\n * @immutable\n */\n _id?: string;\n /**\n * Whether the field is hidden from submitters.\n *\n * Default: `false`\n */\n hidden?: boolean;\n /**\n * Custom identification for the field. This is intended as a way for you to identify certain fields that you want to apply special behavior to in your own logic.\n * @maxLength 50\n */\n identifier?: string | null;\n /**\n * Field type.\n * @readonly\n */\n fieldType?: FieldTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface FieldFieldTypeOptionsOneOf {\n /** Configuration for input fields that collect user data. */\n inputOptions?: InputField;\n /** Configuration for display fields that show information without collecting input. */\n displayOptions?: DisplayField;\n}\n\nexport enum FieldType {\n /** Unknown field type. */\n UNKNOWN_FIELD_TYPE = 'UNKNOWN_FIELD_TYPE',\n /** Input field that collects data from users. */\n INPUT = 'INPUT',\n /** Display field that shows information without collecting input. */\n DISPLAY = 'DISPLAY',\n}\n\n/** @enumType */\nexport type FieldTypeWithLiterals =\n | FieldType\n | 'UNKNOWN_FIELD_TYPE'\n | 'INPUT'\n | 'DISPLAY';\n\nexport interface InputField extends InputFieldInputTypeOptionsOneOf {\n /** String input field settings. */\n stringOptions?: _String;\n /** Number input field settings. */\n numberOptions?: _Number;\n /** Boolean input field settings. */\n booleanOptions?: _Boolean;\n /** Array input field settings. */\n arrayOptions?: _Array;\n /** Object input field settings. */\n objectOptions?: _Object;\n /** File input field settings. Files are uploaded to the [Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager). */\n wixFileOptions?: WixFile;\n /** Payment input field settings. */\n paymentOptions?: Payment;\n /** Scheduling input field settings. */\n schedulingOptions?: Scheduling;\n /** Address input field settings. */\n addressOptions?: Address;\n /**\n * Human readable identifier used to reference a field. For example, `\"address\"`.\n *\n * Can be set once.\n * @minLength 1\n * @maxLength 200\n * @immutable\n */\n target?: string;\n /**\n * Whether this field contains Personally Identifiable Information (PII).\n *\n * PII fields are automatically encrypted when stored.\n *\n * Default: `false`\n */\n pii?: boolean;\n /**\n * Whether the field is required for form submission.\n *\n * Default: `false`\n */\n required?: boolean;\n /**\n * Type of the input field that determines what kind of data it collects.\n * @readonly\n */\n inputType?: InputTypeWithLiterals;\n /**\n * Mapping configuration for automatically saving field values to contact properties.\n *\n * When specified, form submissions automatically create or update contacts with the field data.\n */\n contactMapping?: FormFieldContactInfo;\n /**\n * Whether the field is read-only.\n *\n * Default: `false`\n */\n readOnly?: boolean;\n}\n\n/** @oneof */\nexport interface InputFieldInputTypeOptionsOneOf {\n /** String input field settings. */\n stringOptions?: _String;\n /** Number input field settings. */\n numberOptions?: _Number;\n /** Boolean input field settings. */\n booleanOptions?: _Boolean;\n /** Array input field settings. */\n arrayOptions?: _Array;\n /** Object input field settings. */\n objectOptions?: _Object;\n /** File input field settings. Files are uploaded to the [Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager). */\n wixFileOptions?: WixFile;\n /** Payment input field settings. */\n paymentOptions?: Payment;\n /** Scheduling input field settings. */\n schedulingOptions?: Scheduling;\n /** Address input field settings. */\n addressOptions?: Address;\n}\n\nexport interface StringCorrectAnswersList {\n /**\n * @minLength 1\n * @maxLength 150\n * @maxSize 50\n */\n correctAnswers?: string[];\n}\n\nexport interface StringType extends StringTypeFormatOptionsOneOf {\n /** Validation rules for strings with date format. */\n dateOptions?: DateTimeAdvancedConstraints;\n /** Validation rules for strings with date and time format. */\n dateTimeOptions?: DateTimeConstraints;\n /** Validation rules for strings with time format. */\n timeOptions?: DateTimeConstraints;\n /** Validation rules for string with date and time format, where time is optional. */\n dateOptionalTimeOptions?: DateTimeConstraints;\n /** Validation rules for strings with phone number format. */\n phoneOptions?: PhoneConstraints;\n /**\n * Minimum required length for the string value.\n * @max 20000\n */\n minLength?: number | null;\n /**\n * Maximum allowed length for the string value.\n * @max 20000\n */\n maxLength?: number | null;\n /**\n * Regular expression pattern that the string value must match.\n * @maxLength 500\n */\n pattern?: string | null;\n /** Expected format of the string value. */\n format?: FormatEnumFormatWithLiterals;\n /**\n * List of specific values that are allowed for this field.\n * When specified, the input must match one of these predefined values.\n * @maxSize 500\n * @maxLength 20000\n */\n enum?: string[] | null;\n /** Custom error messages displayed when validation fails. */\n validationMessages?: ValidationMessages;\n}\n\n/** @oneof */\nexport interface StringTypeFormatOptionsOneOf {\n /** Validation rules for strings with date format. */\n dateOptions?: DateTimeAdvancedConstraints;\n /** Validation rules for strings with date and time format. */\n dateTimeOptions?: DateTimeConstraints;\n /** Validation rules for strings with time format. */\n timeOptions?: DateTimeConstraints;\n /** Validation rules for string with date and time format, where time is optional. */\n dateOptionalTimeOptions?: DateTimeConstraints;\n /** Validation rules for strings with phone number format. */\n phoneOptions?: PhoneConstraints;\n}\n\nexport enum FormatEnumFormat {\n /** Unknown format. */\n UNKNOWN_FORMAT = 'UNKNOWN_FORMAT',\n /** Date format. */\n DATE = 'DATE',\n /** Time format. */\n TIME = 'TIME',\n /** Date and time format. */\n DATE_TIME = 'DATE_TIME',\n /** Email format. */\n EMAIL = 'EMAIL',\n /** URL format. */\n URL = 'URL',\n /** UUID format. */\n UUID = 'UUID',\n /** Phone number format. */\n PHONE = 'PHONE',\n /** URI format. */\n URI = 'URI',\n /** Hostname format. */\n HOSTNAME = 'HOSTNAME',\n /** Hexadecimal color code format. */\n COLOR_HEX = 'COLOR_HEX',\n /** Currency format. */\n CURRENCY = 'CURRENCY',\n /** Language code format. */\n LANGUAGE = 'LANGUAGE',\n /** Date with optional time format. */\n DATE_OPTIONAL_TIME = 'DATE_OPTIONAL_TIME',\n}\n\n/** @enumType */\nexport type FormatEnumFormatWithLiterals =\n | FormatEnumFormat\n | 'UNKNOWN_FORMAT'\n | 'DATE'\n | 'TIME'\n | 'DATE_TIME'\n | 'EMAIL'\n | 'URL'\n | 'UUID'\n | 'PHONE'\n | 'URI'\n | 'HOSTNAME'\n | 'COLOR_HEX'\n | 'CURRENCY'\n | 'LANGUAGE'\n | 'DATE_OPTIONAL_TIME';\n\nexport interface DateTimeConstraints {\n /**\n * Minimum allowed datetime value.\n *\n * Supports ISO datetime format or dynamic calculations using \"$now\" keyword.\n * The dynamic calculation supports times in the future and past.\n * The pattern for dynamic calculations: $now([+-]\\d{1,2})([yMdmh]).\n *\n * Examples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).\n * @maxLength 50\n */\n minimum?: string | null;\n /**\n * Maximum allowed datetime value.\n *\n * Supports ISO datetime format or dynamic calculations using \"$now\" keyword.\n * The dynamic calculation supports times in the future and past.\n * The pattern for dynamic calculations: $now([+-]\\d{1,2})([yMdmh]).\n *\n * Examples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).\n * @maxLength 50\n */\n maximum?: string | null;\n}\n\nexport interface PhoneConstraints {\n /**\n * Country codes that are allowed for phone number validation.\n *\n * Use ISO 3166-1 alpha-2 country codes. For example, `\"US\"`, `\"GB\"`, `\"CA\"`.\n * @maxSize 250\n * @maxLength 2\n */\n allowedCountryCodes?: string[];\n}\n\nexport interface ValidationMessages {\n /**\n * Error message shown when the pattern validation fails.\n *\n * This message is displayed to users when their input doesn't match the specified regex pattern.\n * @maxLength 200\n */\n pattern?: string | null;\n}\n\nexport enum StringComponentType {\n /** Unknown component type. */\n UNKNOWN_COMPONENT_TYPE = 'UNKNOWN_COMPONENT_TYPE',\n /** Text input component. */\n TEXT_INPUT = 'TEXT_INPUT',\n /** Radio group component. */\n RADIO_GROUP = 'RADIO_GROUP',\n /** Dropdown component. */\n DROPDOWN = 'DROPDOWN',\n /** Date and time component. */\n DATE_TIME = 'DATE_TIME',\n /** Phone number component. */\n PHONE_INPUT = 'PHONE_INPUT',\n /** Date selection component. */\n DATE_INPUT = 'DATE_INPUT',\n /** Time selection component. */\n TIME_INPUT = 'TIME_INPUT',\n /** Calendar-style date picker component. */\n DATE_PICKER = 'DATE_PICKER',\n /** Dropdown component for selecting available services. */\n SERVICES_DROPDOWN = 'SERVICES_DROPDOWN',\n /** Component which obscures input characters. */\n PASSWORD = 'PASSWORD',\n}\n\n/** @enumType */\nexport type StringComponentTypeWithLiterals =\n | StringComponentType\n | 'UNKNOWN_COMPONENT_TYPE'\n | 'TEXT_INPUT'\n | 'RADIO_GROUP'\n | 'DROPDOWN'\n | 'DATE_TIME'\n | 'PHONE_INPUT'\n | 'DATE_INPUT'\n | 'TIME_INPUT'\n | 'DATE_PICKER'\n | 'SERVICES_DROPDOWN'\n | 'PASSWORD';\n\nexport interface StringQuizFieldSettings {\n /** Points awarded for correctly answering this quiz question. */\n score?: number;\n /** Correct answers for this quiz question. */\n correctAnswersList?: StringCorrectAnswersList;\n}\n\nexport interface TextInput {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * Placeholder text shown inside the field when it's empty.\n * Useful for providing a hint about the expected format or content.\n * @maxLength 100\n */\n placeholder?: string | null;\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /**\n * Default value for the field. This value is pre-populated in the field when the form loads.\n * @maxLength 20000\n */\n default?: string | null;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n}\n\nexport 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\nexport interface Node extends NodeDataOneOf {\n /** Data for a button node. */\n buttonData?: ButtonData;\n /** Data for a code block node. */\n codeBlockData?: CodeBlockData;\n /** Data for a divider node. */\n dividerData?: DividerData;\n /** Data for a file node. */\n fileData?: FileData;\n /** Data for a gallery node. */\n galleryData?: GalleryData;\n /** Data for a GIF node. */\n gifData?: GIFData;\n /** Data for a heading node. */\n headingData?: HeadingData;\n /** Data for an embedded HTML node. */\n htmlData?: HTMLData;\n /** Data for an image node. */\n imageData?: ImageData;\n /** Data for a link preview node. */\n linkPreviewData?: LinkPreviewData;\n /** @deprecated */\n mapData?: MapData;\n /** Data for a paragraph node. */\n paragraphData?: ParagraphData;\n /** Data for a poll node. */\n pollData?: PollData;\n /** Data for a text node. Used to apply decorations to text. */\n textData?: TextData;\n /** Data for an app embed node. */\n appEmbedData?: AppEmbedData;\n /** Data for a video node. */\n videoData?: VideoData;\n /** Data for an oEmbed node. */\n embedData?: EmbedData;\n /** Data for a collapsible list node. */\n collapsibleListData?: CollapsibleListData;\n /** Data for a table node. */\n tableData?: TableData;\n /** Data for a table cell node. */\n tableCellData?: TableCellData;\n /** Data for a custom external node. */\n externalData?: Record<string, any> | null;\n /** Data for an audio node. */\n audioData?: AudioData;\n /** Data for an ordered list node. */\n orderedListData?: OrderedListData;\n /** Data for a bulleted list node. */\n bulletedListData?: BulletedListData;\n /** Data for a block quote node. */\n blockquoteData?: BlockquoteData;\n /** Data for a caption node. */\n captionData?: CaptionData;\n /** Data for a layout node. Reserved for future use. */\n layoutData?: LayoutData;\n /** Data for a cell node. */\n layoutCellData?: LayoutCellData;\n /** Data for a shape node. */\n shapeData?: ShapeData;\n /** Data for a card node. */\n cardData?: CardData;\n /** Data for a table of contents node. */\n tocData?: TocData;\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?: NodeTypeWithLiterals;\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\n/** @oneof */\nexport interface NodeDataOneOf {\n /** Data for a button node. */\n buttonData?: ButtonData;\n /** Data for a code block node. */\n codeBlockData?: CodeBlockData;\n /** Data for a divider node. */\n dividerData?: DividerData;\n /** Data for a file node. */\n fileData?: FileData;\n /** Data for a gallery node. */\n galleryData?: GalleryData;\n /** Data for a GIF node. */\n gifData?: GIFData;\n /** Data for a heading node. */\n headingData?: HeadingData;\n /** Data for an embedded HTML node. */\n htmlData?: HTMLData;\n /** Data for an image node. */\n imageData?: ImageData;\n /** Data for a link preview node. */\n linkPreviewData?: LinkPreviewData;\n /** @deprecated */\n mapData?: MapData;\n /** Data for a paragraph node. */\n paragraphData?: ParagraphData;\n /** Data for a poll node. */\n pollData?: PollData;\n /** Data for a text node. Used to apply decorations to text. */\n textData?: TextData;\n /** Data for an app embed node. */\n appEmbedData?: AppEmbedData;\n /** Data for a video node. */\n videoData?: VideoData;\n /** Data for an oEmbed node. */\n embedData?: EmbedData;\n /** Data for a collapsible list node. */\n collapsibleListData?: CollapsibleListData;\n /** Data for a table node. */\n tableData?: TableData;\n /** Data for a table cell node. */\n tableCellData?: TableCellData;\n /** Data for a custom external node. */\n externalData?: Record<string, any> | null;\n /** Data for an audio node. */\n audioData?: AudioData;\n /** Data for an ordered list node. */\n orderedListData?: OrderedListData;\n /** Data for a bulleted list node. */\n bulletedListData?: BulletedListData;\n /** Data for a block quote node. */\n blockquoteData?: BlockquoteData;\n /** Data for a caption node. */\n captionData?: CaptionData;\n /** Data for a layout node. Reserved for future use. */\n layoutData?: LayoutData;\n /** Data for a cell node. */\n layoutCellData?: LayoutCellData;\n /** Data for a shape node. */\n shapeData?: ShapeData;\n /** Data for a card node. */\n cardData?: CardData;\n /** Data for a table of contents node. */\n tocData?: TocData;\n}\n\nexport enum NodeType {\n PARAGRAPH = 'PARAGRAPH',\n TEXT = 'TEXT',\n HEADING = 'HEADING',\n BULLETED_LIST = 'BULLETED_LIST',\n ORDERED_LIST = 'ORDERED_LIST',\n LIST_ITEM = 'LIST_ITEM',\n BLOCKQUOTE = 'BLOCKQUOTE',\n CODE_BLOCK = 'CODE_BLOCK',\n VIDEO = 'VIDEO',\n DIVIDER = 'DIVIDER',\n FILE = 'FILE',\n GALLERY = 'GALLERY',\n GIF = 'GIF',\n HTML = 'HTML',\n IMAGE = 'IMAGE',\n LINK_PREVIEW = 'LINK_PREVIEW',\n /** @deprecated */\n MAP = 'MAP',\n POLL = 'POLL',\n APP_EMBED = 'APP_EMBED',\n BUTTON = 'BUTTON',\n COLLAPSIBLE_LIST = 'COLLAPSIBLE_LIST',\n TABLE = 'TABLE',\n EMBED = 'EMBED',\n COLLAPSIBLE_ITEM = 'COLLAPSIBLE_ITEM',\n COLLAPSIBLE_ITEM_TITLE = 'COLLAPSIBLE_ITEM_TITLE',\n COLLAPSIBLE_ITEM_BODY = 'COLLAPSIBLE_ITEM_BODY',\n TABLE_CELL = 'TABLE_CELL',\n TABLE_ROW = 'TABLE_ROW',\n EXTERNAL = 'EXTERNAL',\n AUDIO = 'AUDIO',\n CAPTION = 'CAPTION',\n LAYOUT = 'LAYOUT',\n LAYOUT_CELL = 'LAYOUT_CELL',\n SHAPE = 'SHAPE',\n CARD = 'CARD',\n TOC = 'TOC',\n}\n\n/** @enumType */\nexport type NodeTypeWithLiterals =\n | NodeType\n | 'PARAGRAPH'\n | 'TEXT'\n | 'HEADING'\n | 'BULLETED_LIST'\n | 'ORDERED_LIST'\n | 'LIST_ITEM'\n | 'BLOCKQUOTE'\n | 'CODE_BLOCK'\n | 'VIDEO'\n | 'DIVIDER'\n | 'FILE'\n | 'GALLERY'\n | 'GIF'\n | 'HTML'\n | 'IMAGE'\n | 'LINK_PREVIEW'\n | 'MAP'\n | 'POLL'\n | 'APP_EMBED'\n | 'BUTTON'\n | 'COLLAPSIBLE_LIST'\n | 'TABLE'\n | 'EMBED'\n | 'COLLAPSIBLE_ITEM'\n | 'COLLAPSIBLE_ITEM_TITLE'\n | 'COLLAPSIBLE_ITEM_BODY'\n | 'TABLE_CELL'\n | 'TABLE_ROW'\n | 'EXTERNAL'\n | 'AUDIO'\n | 'CAPTION'\n | 'LAYOUT'\n | 'LAYOUT_CELL'\n | 'SHAPE'\n | 'CARD'\n | 'TOC';\n\nexport 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\nexport interface ButtonData {\n /** Styling for the button's container. */\n containerData?: PluginContainerData;\n /** The button type. */\n type?: ButtonDataTypeWithLiterals;\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\n/** Background type */\nexport enum BackgroundType {\n /** Solid color background */\n COLOR = 'COLOR',\n /** Gradient background */\n GRADIENT = 'GRADIENT',\n}\n\n/** @enumType */\nexport type BackgroundTypeWithLiterals = BackgroundType | 'COLOR' | 'GRADIENT';\n\nexport interface Gradient {\n /** Gradient type. */\n type?: GradientTypeWithLiterals;\n /**\n * Color stops for the gradient.\n * @maxSize 1000\n */\n stops?: Stop[];\n /** Angle in degrees for linear gradient (0-360). */\n angle?: number | null;\n /**\n * Horizontal center position for radial gradient (0-100).\n * @max 100\n */\n centerX?: number | null;\n /**\n * Vertical center position for radial gradient (0-100).\n * @max 100\n */\n centerY?: number | null;\n}\n\n/** Gradient type. */\nexport enum GradientType {\n /** Linear gradient. */\n LINEAR = 'LINEAR',\n /** Radial gradient. */\n RADIAL = 'RADIAL',\n}\n\n/** @enumType */\nexport type GradientTypeWithLiterals = GradientType | 'LINEAR' | 'RADIAL';\n\n/** A single color stop in the gradient. */\nexport interface Stop {\n /**\n * Stop color as hex value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** Stop position (0-1). */\n position?: number | null;\n}\n\nexport interface Border {\n /**\n * Deprecated: Use `borderWidth` in `styles` instead.\n * @deprecated\n */\n width?: number | null;\n /**\n * Deprecated: Use `borderRadius` in `styles` instead.\n * @deprecated\n */\n radius?: number | null;\n}\n\nexport interface Colors {\n /**\n * Deprecated: Use `textColor` in `styles` instead.\n * @deprecated\n */\n text?: string | null;\n /**\n * Deprecated: Use `borderColor` in `styles` instead.\n * @deprecated\n */\n border?: string | null;\n /**\n * Deprecated: Use `backgroundColor` in `styles` instead.\n * @deprecated\n */\n background?: string | null;\n}\n\n/** Background styling (color or gradient) */\nexport interface Background {\n /** Background type. */\n type?: BackgroundTypeWithLiterals;\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** Gradient configuration. */\n gradient?: Gradient;\n}\n\nexport 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?: PluginContainerDataAlignmentWithLiterals;\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\nexport 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\n/** @enumType */\nexport type WidthTypeWithLiterals =\n | WidthType\n | 'CONTENT'\n | 'SMALL'\n | 'ORIGINAL'\n | 'FULL_WIDTH';\n\nexport interface PluginContainerDataWidth\n 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?: WidthTypeWithLiterals;\n /** A custom width value in pixels. */\n custom?: string | null;\n}\n\n/** @oneof */\nexport 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?: WidthTypeWithLiterals;\n /** A custom width value in pixels. */\n custom?: string | null;\n}\n\nexport enum PluginContainerDataAlignment {\n /** Center Alignment */\n CENTER = 'CENTER',\n /** Left Alignment */\n LEFT = 'LEFT',\n /** Right Alignment */\n RIGHT = 'RIGHT',\n}\n\n/** @enumType */\nexport type PluginContainerDataAlignmentWithLiterals =\n | PluginContainerDataAlignment\n | 'CENTER'\n | 'LEFT'\n | 'RIGHT';\n\nexport 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\nexport interface Height {\n /** A custom height value in pixels. */\n custom?: string | null;\n}\n\nexport enum ButtonDataType {\n /** Regular link button */\n LINK = 'LINK',\n /** Triggers custom action that is defined in plugin configuration by the consumer */\n ACTION = 'ACTION',\n}\n\n/** @enumType */\nexport type ButtonDataTypeWithLiterals = ButtonDataType | 'LINK' | 'ACTION';\n\nexport interface Styles {\n /**\n * Deprecated: Use `borderWidth` and `borderRadius` instead.\n * @deprecated\n */\n border?: Border;\n /**\n * Deprecated: Use `textColor`, `borderColor` and `backgroundColor` instead.\n * @deprecated\n */\n colors?: Colors;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /**\n * Deprecated: Use `borderWidth` for normal/hover states instead.\n * @deprecated\n */\n borderWidthHover?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /**\n * Border color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n borderColorHover?: string | null;\n /**\n * Text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n /**\n * Text color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n textColorHover?: string | null;\n /**\n * Deprecated: Use `background` instead.\n * @format COLOR_HEX\n * @deprecated\n */\n backgroundColor?: string | null;\n /**\n * Deprecated: Use `backgroundHover` instead.\n * @format COLOR_HEX\n * @deprecated\n */\n backgroundColorHover?: string | null;\n /** Button size option, one of `SMALL`, `MEDIUM` or `LARGE`. Defaults to `MEDIUM`. */\n buttonSize?: string | null;\n /** Background styling (color or gradient). */\n background?: Background;\n /** Background styling for hover state (color or gradient). */\n backgroundHover?: Background;\n}\n\nexport 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?: LinkTargetWithLiterals;\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\n/** @oneof */\nexport 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\nexport enum LinkTarget {\n /** Opens the linked document in the same frame as it was clicked (this is default) */\n SELF = 'SELF',\n /** Opens the linked document in a new window or tab */\n BLANK = 'BLANK',\n /** Opens the linked document in the parent frame */\n PARENT = 'PARENT',\n /** Opens the linked document in the full body of the window */\n TOP = 'TOP',\n}\n\n/** @enumType */\nexport type LinkTargetWithLiterals =\n | LinkTarget\n | 'SELF'\n | 'BLANK'\n | 'PARENT'\n | 'TOP';\n\nexport 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\nexport interface CodeBlockData {\n /** Styling for the code block's text. */\n textStyle?: TextStyle;\n}\n\nexport interface TextStyle {\n /** Text alignment. Defaults to `AUTO`. */\n textAlignment?: TextAlignmentWithLiterals;\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\nexport 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\n/** @enumType */\nexport type TextAlignmentWithLiterals =\n | TextAlignment\n | 'AUTO'\n | 'LEFT'\n | 'RIGHT'\n | 'CENTER'\n | 'JUSTIFY';\n\nexport interface DividerData {\n /** Styling for the divider's container. */\n containerData?: PluginContainerData;\n /** Divider line style. */\n lineStyle?: LineStyleWithLiterals;\n /** Divider width. */\n width?: WidthWithLiterals;\n /** Divider alignment. */\n alignment?: DividerDataAlignmentWithLiterals;\n}\n\nexport 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\n/** @enumType */\nexport type LineStyleWithLiterals =\n | LineStyle\n | 'SINGLE'\n | 'DOUBLE'\n | 'DASHED'\n | 'DOTTED';\n\nexport enum Width {\n /** Large line */\n LARGE = 'LARGE',\n /** Medium line */\n MEDIUM = 'MEDIUM',\n /** Small line */\n SMALL = 'SMALL',\n}\n\n/** @enumType */\nexport type WidthWithLiterals = Width | 'LARGE' | 'MEDIUM' | 'SMALL';\n\nexport enum DividerDataAlignment {\n /** Center alignment */\n CENTER = 'CENTER',\n /** Left alignment */\n LEFT = 'LEFT',\n /** Right alignment */\n RIGHT = 'RIGHT',\n}\n\n/** @enumType */\nexport type DividerDataAlignmentWithLiterals =\n | DividerDataAlignment\n | 'CENTER'\n | 'LEFT'\n | 'RIGHT';\n\nexport interface FileData {\n /** Styling for the file's container. */\n containerData?: PluginContainerData;\n /** The source for the file's data. */\n src?: FileSource;\n /** File name. */\n name?: string | null;\n /** File type. */\n type?: string | null;\n /**\n * Use `sizeInKb` instead.\n * @deprecated\n */\n size?: number | null;\n /** Settings for PDF files. */\n pdfSettings?: PDFSettings;\n /** File MIME type. */\n mimeType?: string | null;\n /** File path. */\n path?: string | null;\n /** File size in KB. */\n sizeInKb?: string | null;\n}\n\nexport 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\n/** @enumType */\nexport type ViewModeWithLiterals = ViewMode | 'NONE' | 'FULL' | 'MINI';\n\nexport 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\n/** @oneof */\nexport 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\nexport 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?: ViewModeWithLiterals;\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\nexport 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\nexport 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\nexport interface Image {\n /** Image file details. */\n media?: Media;\n /** Link details for images that are links. */\n link?: Link;\n}\n\nexport interface Video {\n /** Video file details. */\n media?: Media;\n /** Video thumbnail file details. */\n thumbnail?: Media;\n}\n\nexport 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\n/** @oneof */\nexport interface ItemDataOneOf {\n /** An image item. */\n image?: Image;\n /** A video item. */\n video?: Video;\n}\n\nexport interface GalleryOptions {\n /** Gallery layout. */\n layout?: GalleryOptionsLayout;\n /** Styling for gallery items. */\n item?: ItemStyle;\n /** Styling for gallery thumbnail images. */\n thumbnails?: Thumbnails;\n}\n\nexport 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\n/** @enumType */\nexport type LayoutTypeWithLiterals =\n | LayoutType\n | 'COLLAGE'\n | 'MASONRY'\n | 'GRID'\n | 'THUMBNAIL'\n | 'SLIDER'\n | 'SLIDESHOW'\n | 'PANORAMA'\n | 'COLUMN'\n | 'MAGIC'\n | 'FULLSIZE';\n\nexport enum Orientation {\n /** Rows Orientation */\n ROWS = 'ROWS',\n /** Columns Orientation */\n COLUMNS = 'COLUMNS',\n}\n\n/** @enumType */\nexport type OrientationWithLiterals = Orientation | 'ROWS' | 'COLUMNS';\n\nexport enum Crop {\n /** Crop to fill */\n FILL = 'FILL',\n /** Crop to fit */\n FIT = 'FIT',\n}\n\n/** @enumType */\nexport type CropWithLiterals = Crop | 'FILL' | 'FIT';\n\nexport 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\n/** @enumType */\nexport type ThumbnailsAlignmentWithLiterals =\n | ThumbnailsAlignment\n | 'TOP'\n | 'RIGHT'\n | 'BOTTOM'\n | 'LEFT'\n | 'NONE';\n\nexport interface GalleryOptionsLayout {\n /** Gallery layout type. */\n type?: LayoutTypeWithLiterals;\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?: OrientationWithLiterals;\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\nexport 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?: CropWithLiterals;\n /** The spacing between items in pixels. */\n spacing?: number | null;\n}\n\nexport interface Thumbnails {\n /** Thumbnail alignment. */\n placement?: ThumbnailsAlignmentWithLiterals;\n /** Spacing between thumbnails in pixels. */\n spacing?: number | null;\n}\n\nexport 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 /** Type of GIF (Sticker or NORMAL). Defaults to `NORMAL`. */\n gifType?: GIFTypeWithLiterals;\n}\n\nexport interface GIF {\n /**\n * GIF format URL.\n * @format WEB_URL\n */\n gif?: string | null;\n /**\n * MP4 format URL.\n * @format WEB_URL\n */\n mp4?: string | null;\n /**\n * Thumbnail URL.\n * @format WEB_URL\n */\n still?: string | null;\n}\n\nexport enum GIFType {\n NORMAL = 'NORMAL',\n STICKER = 'STICKER',\n}\n\n/** @enumType */\nexport type GIFTypeWithLiterals = GIFType | 'NORMAL' | 'STICKER';\n\nexport 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\nexport 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 /** The WixelWidget ID for AI_WIDGET source nodes. */\n widgetId?: string;\n /** Styling for the HTML node's container. Height property is irrelevant for HTML embeds when autoHeight is set to `true`. */\n containerData?: PluginContainerData;\n /** The type of HTML code. */\n source?: SourceWithLiterals;\n /** If container height is aligned with its content height. Defaults to `true`. */\n autoHeight?: boolean | null;\n}\n\n/** @oneof */\nexport 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 /** The WixelWidget ID for AI_WIDGET source nodes. */\n widgetId?: string;\n}\n\nexport enum Source {\n HTML = 'HTML',\n ADSENSE = 'ADSENSE',\n AI = 'AI',\n AI_WIDGET = 'AI_WIDGET',\n}\n\n/** @enumType */\nexport type SourceWithLiterals =\n | Source\n | 'HTML'\n | 'ADSENSE'\n | 'AI'\n | 'AI_WIDGET';\n\nexport interface ImageData {\n /** Styling for the image's container. */\n containerData?: PluginContainerData;\n /** Image file details. */\n image?: Media;\n /** Link details for images that are links. */\n link?: Link;\n /** Sets whether the image expands to full screen when clicked. Defaults to `false`. */\n disableExpand?: boolean | null;\n /** Image's alternative text. */\n altText?: string | null;\n /**\n * Deprecated: use Caption node instead.\n * @deprecated\n */\n caption?: string | null;\n /** Sets whether the image's download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n /** Sets whether the image is decorative and does not need an explanation. Defaults to `false`. */\n decorative?: boolean | null;\n /** Styling for the image. */\n styles?: ImageDataStyles;\n}\n\nexport interface StylesBorder {\n /** Border width in pixels. */\n width?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** Border radius in pixels. */\n radius?: number | null;\n}\n\nexport interface ImageDataStyles {\n /** Border attributes. */\n border?: StylesBorder;\n}\n\nexport 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 /** Styling for the link preview. */\n styles?: LinkPreviewDataStyles;\n}\n\nexport enum StylesPosition {\n /** Thumbnail positioned at the start (left in LTR layouts, right in RTL layouts) */\n START = 'START',\n /** Thumbnail positioned at the end (right in LTR layouts, left in RTL layouts) */\n END = 'END',\n /** Thumbnail positioned at the top */\n TOP = 'TOP',\n /** Thumbnail hidden and not displayed */\n HIDDEN = 'HIDDEN',\n}\n\n/** @enumType */\nexport type StylesPositionWithLiterals =\n | StylesPosition\n | 'START'\n | 'END'\n | 'TOP'\n | 'HIDDEN';\n\nexport interface LinkPreviewDataStyles {\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Title color as a hexadecimal value.\n * @format COLOR_HEX\n */\n titleColor?: string | null;\n /**\n * Subtitle color as a hexadecimal value.\n * @format COLOR_HEX\n */\n subtitleColor?: string | null;\n /**\n * Link color as a hexadecimal value.\n * @format COLOR_HEX\n */\n linkColor?: string | null;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Position of thumbnail. Defaults to `START`. */\n thumbnailPosition?: StylesPositionWithLiterals;\n}\n\nexport interface MapData {\n /** Styling for the map's container. */\n containerData?: PluginContainerData;\n /** Map settings. */\n mapSettings?: MapSettings;\n}\n\nexport 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?: MapTypeWithLiterals;\n}\n\nexport 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\n/** @enumType */\nexport type MapTypeWithLiterals =\n | MapType\n | 'ROADMAP'\n | 'SATELITE'\n | 'HYBRID'\n | 'TERRAIN';\n\nexport 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\nexport 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\nexport 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\n/** @enumType */\nexport type ViewRoleWithLiterals = ViewRole | 'CREATOR' | 'VOTERS' | 'EVERYONE';\n\nexport enum VoteRole {\n /** Logged in member */\n SITE_MEMBERS = 'SITE_MEMBERS',\n /** Anyone */\n ALL = 'ALL',\n}\n\n/** @enumType */\nexport type VoteRoleWithLiterals = VoteRole | 'SITE_MEMBERS' | 'ALL';\n\nexport interface Permissions {\n /** Sets who can view the poll results. */\n view?: ViewRoleWithLiterals;\n /** Sets who can vote. */\n vote?: VoteRoleWithLiterals;\n /** Sets whether one voter can vote multiple times. Defaults to `false`. */\n allowMultipleVotes?: boolean | null;\n}\n\nexport interface PollOption {\n /** Option ID. */\n id?: string | null;\n /** Option title. */\n title?: string | null;\n /** The image displayed with the option. */\n image?: Media;\n}\n\nexport 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\nexport enum PollLayoutType {\n /** List */\n LIST = 'LIST',\n /** Grid */\n GRID = 'GRID',\n}\n\n/** @enumType */\nexport type PollLayoutTypeWithLiterals = PollLayoutType | 'LIST' | 'GRID';\n\nexport enum PollLayoutDirection {\n /** Left-to-right */\n LTR = 'LTR',\n /** Right-to-left */\n RTL = 'RTL',\n}\n\n/** @enumType */\nexport type PollLayoutDirectionWithLiterals =\n | PollLayoutDirection\n | 'LTR'\n | 'RTL';\n\nexport interface PollLayout {\n /** The layout for displaying the voting options. */\n type?: PollLayoutTypeWithLiterals;\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?: PollLayoutDirectionWithLiterals;\n /** Sets whether to display the main poll image. Defaults to `false`. */\n enableImage?: boolean | null;\n}\n\nexport interface OptionLayout {\n /** Sets whether to display option images. Defaults to `false`. */\n enableImage?: boolean | null;\n}\n\nexport enum PollDesignBackgroundType {\n /** Color background type */\n COLOR = 'COLOR',\n /** Image background type */\n IMAGE = 'IMAGE',\n /** Gradiant background type */\n GRADIENT = 'GRADIENT',\n}\n\n/** @enumType */\nexport type PollDesignBackgroundTypeWithLiterals =\n | PollDesignBackgroundType\n | 'COLOR'\n | 'IMAGE'\n | 'GRADIENT';\n\nexport interface BackgroundGradient {\n /** The gradient angle in degrees. */\n angle?: number | null;\n /**\n * The start color as a hexademical value.\n * @format COLOR_HEX\n */\n startColor?: string | null;\n /**\n * The end color as a hexademical value.\n * @format COLOR_HEX\n */\n lastColor?: string | null;\n}\n\nexport interface PollDesignBackground\n extends PollDesignBackgroundBackgroundOneOf {\n /**\n * The background color as a hexademical value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** An image to use for the background. */\n image?: Media;\n /** Details for a gradient background. */\n gradient?: BackgroundGradient;\n /** Background type. For each option, include the relevant details. */\n type?: PollDesignBackgroundTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface PollDesignBackgroundBackgroundOneOf {\n /**\n * The background color as a hexademical value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** An image to use for the background. */\n image?: Media;\n /** Details for a gradient background. */\n gradient?: BackgroundGradient;\n}\n\nexport interface PollDesign {\n /** Background styling. */\n background?: PollDesignBackground;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n}\n\nexport interface OptionDesign {\n /** Border radius in pixels. */\n borderRadius?: number | null;\n}\n\nexport interface Poll {\n /** Poll ID. */\n id?: string | null;\n /** Poll title. */\n title?: string | null;\n /** Poll creator ID. */\n creatorId?: string | null;\n /** Main poll image. */\n image?: Media;\n /** Voting options. */\n options?: PollOption[];\n /** The poll's permissions and display settings. */\n settings?: Settings;\n}\n\nexport interface PollDataLayout {\n /** Poll layout settings. */\n poll?: PollLayout;\n /** Voting otpions layout settings. */\n options?: OptionLayout;\n}\n\nexport interface Design {\n /** Styling for the poll. */\n poll?: PollDesign;\n /** Styling for voting options. */\n options?: OptionDesign;\n}\n\nexport interface TextData {\n /** The text to apply decorations to. */\n text?: string;\n /** The decorations to apply. */\n decorations?: Decoration[];\n}\n\n/** Adds appearence changes to text */\nexport 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 /** Data for a strikethrough decoration. Defaults to `true`. */\n strikethroughData?: boolean | null;\n /** Data for a superscript decoration. Defaults to `true`. */\n superscriptData?: boolean | null;\n /** Data for a subscript decoration. Defaults to `true`. */\n subscriptData?: boolean | null;\n /** Data for a font family decoration. */\n fontFamilyData?: FontFamilyData;\n /** The type of decoration to apply. */\n type?: DecorationTypeWithLiterals;\n}\n\n/** @oneof */\nexport 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 /** Data for a strikethrough decoration. Defaults to `true`. */\n strikethroughData?: boolean | null;\n /** Data for a superscript decoration. Defaults to `true`. */\n superscriptData?: boolean | null;\n /** Data for a subscript decoration. Defaults to `true`. */\n subscriptData?: boolean | null;\n /** Data for a font family decoration. */\n fontFamilyData?: FontFamilyData;\n}\n\nexport 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 STRIKETHROUGH = 'STRIKETHROUGH',\n SUPERSCRIPT = 'SUPERSCRIPT',\n SUBSCRIPT = 'SUBSCRIPT',\n FONT_FAMILY = 'FONT_FAMILY',\n}\n\n/** @enumType */\nexport type DecorationTypeWithLiterals =\n | DecorationType\n | 'BOLD'\n | 'ITALIC'\n | 'UNDERLINE'\n | 'SPOILER'\n | 'ANCHOR'\n | 'MENTION'\n | 'LINK'\n | 'COLOR'\n | 'FONT_SIZE'\n | 'EXTERNAL'\n | 'STRIKETHROUGH'\n | 'SUPERSCRIPT'\n | 'SUBSCRIPT'\n | 'FONT_FAMILY';\n\nexport interface AnchorData {\n /** The target node's ID. */\n anchor?: string;\n}\n\nexport 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\nexport interface LinkData {\n /** Link details. */\n link?: Link;\n}\n\nexport 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\nexport interface FontSizeData {\n /** The units used for the font size. */\n unit?: FontTypeWithLiterals;\n /** Font size value. */\n value?: number | null;\n}\n\nexport enum FontType {\n PX = 'PX',\n EM = 'EM',\n}\n\n/** @enumType */\nexport type FontTypeWithLiterals = FontType | 'PX' | 'EM';\n\nexport interface SpoilerData {\n /** Spoiler ID. */\n id?: string | null;\n}\n\nexport interface FontFamilyData {\n /** @maxLength 1000 */\n value?: string | null;\n}\n\nexport 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?: AppTypeWithLiterals;\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 /** Whether to hide the image. */\n hideImage?: boolean | null;\n /** Whether to hide the title. */\n hideTitle?: boolean | null;\n /** Whether to hide the price. */\n hidePrice?: boolean | null;\n /** Whether to hide the description (Event and Booking). */\n hideDescription?: boolean | null;\n /** Whether to hide the date and time (Event). */\n hideDateTime?: boolean | null;\n /** Whether to hide the location (Event). */\n hideLocation?: boolean | null;\n /** Whether to hide the duration (Booking). */\n hideDuration?: boolean | null;\n /** Whether to hide the button. */\n hideButton?: boolean | null;\n /** Whether to hide the ribbon. */\n hideRibbon?: boolean | null;\n /** Button styling options. */\n buttonStyles?: ButtonStyles;\n /** Image styling options. */\n imageStyles?: ImageStyles;\n /** Ribbon styling options. */\n ribbonStyles?: RibbonStyles;\n /** Card styling options. */\n cardStyles?: CardStyles;\n /** Styling for the app embed's container. */\n containerData?: PluginContainerData;\n /** Pricing data for embedded Wix App content. */\n pricingData?: PricingData;\n}\n\n/** @oneof */\nexport interface AppEmbedDataAppDataOneOf {\n /** Data for embedded Wix Bookings content. */\n bookingData?: BookingData;\n /** Data for embedded Wix Events content. */\n eventData?: EventData;\n}\n\nexport enum Position {\n /** Image positioned at the start (left in LTR layouts, right in RTL layouts) */\n START = 'START',\n /** Image positioned at the end (right in LTR layouts, left in RTL layouts) */\n END = 'END',\n /** Image positioned at the top */\n TOP = 'TOP',\n}\n\n/** @enumType */\nexport type PositionWithLiterals = Position | 'START' | 'END' | 'TOP';\n\nexport enum AspectRatio {\n /** 1:1 aspect ratio */\n SQUARE = 'SQUARE',\n /** 16:9 aspect ratio */\n RECTANGLE = 'RECTANGLE',\n}\n\n/** @enumType */\nexport type AspectRatioWithLiterals = AspectRatio | 'SQUARE' | 'RECTANGLE';\n\nexport enum Resizing {\n /** Fill the container, may crop the image */\n FILL = 'FILL',\n /** Fit the image within the container */\n FIT = 'FIT',\n}\n\n/** @enumType */\nexport type ResizingWithLiterals = Resizing | 'FILL' | 'FIT';\n\nexport enum Placement {\n /** Ribbon placed on the image */\n IMAGE = 'IMAGE',\n /** Ribbon placed on the product information */\n PRODUCT_INFO = 'PRODUCT_INFO',\n}\n\n/** @enumType */\nexport type PlacementWithLiterals = Placement | 'IMAGE' | 'PRODUCT_INFO';\n\nexport enum CardStylesType {\n /** Card with visible border and background */\n CONTAINED = 'CONTAINED',\n /** Card without visible border */\n FRAMELESS = 'FRAMELESS',\n}\n\n/** @enumType */\nexport type CardStylesTypeWithLiterals =\n | CardStylesType\n | 'CONTAINED'\n | 'FRAMELESS';\n\nexport enum CardStylesAlignment {\n /** Content aligned to start (left in LTR layouts, right in RTL layouts) */\n START = 'START',\n /** Content centered */\n CENTER = 'CENTER',\n /** Content aligned to end (right in LTR layouts, left in RTL layouts) */\n END = 'END',\n}\n\n/** @enumType */\nexport type CardStylesAlignmentWithLiterals =\n | CardStylesAlignment\n | 'START'\n | 'CENTER'\n | 'END';\n\nexport enum Layout {\n /** Elements stacked vertically */\n STACKED = 'STACKED',\n /** Elements arranged horizontally */\n SIDE_BY_SIDE = 'SIDE_BY_SIDE',\n}\n\n/** @enumType */\nexport type LayoutWithLiterals = Layout | 'STACKED' | 'SIDE_BY_SIDE';\n\nexport enum AppType {\n PRODUCT = 'PRODUCT',\n EVENT = 'EVENT',\n BOOKING = 'BOOKING',\n}\n\n/** @enumType */\nexport type AppTypeWithLiterals = AppType | 'PRODUCT' | 'EVENT' | 'BOOKING';\n\nexport interface BookingData {\n /** Booking duration in minutes. */\n durations?: string | null;\n}\n\nexport interface EventData {\n /** Event schedule. */\n scheduling?: string | null;\n /** Event location. */\n location?: string | null;\n}\n\nexport interface ButtonStyles {\n /** Text to display on the button. */\n buttonText?: string | null;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /**\n * Text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Border color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n borderColorHover?: string | null;\n /**\n * Text color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n textColorHover?: string | null;\n /**\n * Background color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n backgroundColorHover?: string | null;\n /** Button size option, one of `SMALL`, `MEDIUM` or `LARGE`. Defaults to `MEDIUM`. */\n buttonSize?: string | null;\n}\n\nexport interface ImageStyles {\n /** Whether to hide the image. */\n hideImage?: boolean | null;\n /** Position of image. Defaults to `START`. */\n imagePosition?: PositionWithLiterals;\n /** Aspect ratio for the image. Defaults to `SQUARE`. */\n aspectRatio?: AspectRatioWithLiterals;\n /** How the image should be resized. Defaults to `FILL`. */\n resizing?: ResizingWithLiterals;\n /**\n * Image border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Image border width in pixels. */\n borderWidth?: number | null;\n /** Image border radius in pixels. */\n borderRadius?: number | null;\n}\n\nexport interface RibbonStyles {\n /** Text to display on the ribbon. */\n ribbonText?: string | null;\n /**\n * Ribbon background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Ribbon text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n /**\n * Ribbon border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Ribbon border width in pixels. */\n borderWidth?: number | null;\n /** Ribbon border radius in pixels. */\n borderRadius?: number | null;\n /** Placement of the ribbon. Defaults to `IMAGE`. */\n ribbonPlacement?: PlacementWithLiterals;\n}\n\nexport interface CardStyles {\n /**\n * Card background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Card border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Card border width in pixels. */\n borderWidth?: number | null;\n /** Card border radius in pixels. */\n borderRadius?: number | null;\n /** Card type. Defaults to `CONTAINED`. */\n type?: CardStylesTypeWithLiterals;\n /** Content alignment. Defaults to `START`. */\n alignment?: CardStylesAlignmentWithLiterals;\n /** Layout for title and price. Defaults to `STACKED`. */\n titlePriceLayout?: LayoutWithLiterals;\n /**\n * Title text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n titleColor?: string | null;\n /**\n * Text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n}\n\nexport interface PricingData {\n /**\n * Minimum numeric price value as string (e.g., \"10.99\").\n * @decimalValue options { maxScale:2 }\n */\n valueFrom?: string | null;\n /**\n * Maximum numeric price value as string (e.g., \"19.99\").\n * @decimalValue options { maxScale:2 }\n */\n valueTo?: string | null;\n /**\n * Numeric price value as string after discount application (e.g., \"15.99\").\n * @decimalValue options { maxScale:2 }\n */\n discountedValue?: string | null;\n /**\n * Currency of the value in ISO 4217 format (e.g., \"USD\", \"EUR\").\n * @format CURRENCY\n */\n currency?: string | null;\n /**\n * Pricing plan ID.\n * @format GUID\n */\n pricingPlanId?: string | null;\n}\n\nexport 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\nexport 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\nexport 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\nexport 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\nexport 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?: InitialExpandedItemsWithLiterals;\n /** The direction of the text in the list. Either left-to-right or right-to-left. */\n direction?: DirectionWithLiterals;\n /** If `true`, The collapsible item will appear in search results as an FAQ. */\n isQapageData?: boolean | null;\n}\n\nexport 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\n/** @enumType */\nexport type InitialExpandedItemsWithLiterals =\n | InitialExpandedItems\n | 'FIRST'\n | 'ALL'\n | 'NONE';\n\nexport enum Direction {\n /** Left-to-right */\n LTR = 'LTR',\n /** Right-to-left */\n RTL = 'RTL',\n}\n\n/** @enumType */\nexport type DirectionWithLiterals = Direction | 'LTR' | 'RTL';\n\nexport 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 /** The spacing between cells in pixels. Defaults to `0`. */\n cellSpacing?: number | null;\n /**\n * Padding in pixels for cells. Follows CSS order: top, right, bottom, left.\n * @maxSize 4\n */\n cellPadding?: number[];\n}\n\nexport 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\nexport 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 /** Defines how many columns the cell spans. Default: 1. */\n colspan?: number | null;\n /** Defines how many rows the cell spans. Default: 1. */\n rowspan?: number | null;\n /** The cell's border widths. */\n borderWidths?: BorderWidths;\n}\n\nexport enum VerticalAlignment {\n /** Top alignment */\n TOP = 'TOP',\n /** Middle alignment */\n MIDDLE = 'MIDDLE',\n /** Bottom alignment */\n BOTTOM = 'BOTTOM',\n}\n\n/** @enumType */\nexport type VerticalAlignmentWithLiterals =\n | VerticalAlignment\n | 'TOP'\n | 'MIDDLE'\n | 'BOTTOM';\n\nexport interface CellStyle {\n /** Vertical alignment for the cell's text. */\n verticalAlignment?: VerticalAlignmentWithLiterals;\n /**\n * Cell background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n}\n\nexport interface BorderColors {\n /**\n * Left border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n left?: string | null;\n /**\n * Right border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n right?: string | null;\n /**\n * Top border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n top?: string | null;\n /**\n * Bottom border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n bottom?: string | null;\n}\n\nexport interface BorderWidths {\n /** Left border width in pixels. */\n left?: number | null;\n /** Right border width in pixels. */\n right?: number | null;\n /** Top border width in pixels. */\n top?: number | null;\n /** Bottom border width in pixels. */\n bottom?: number | null;\n}\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 */\nexport enum NullValue {\n /** Null value. */\n NULL_VALUE = 'NULL_VALUE',\n}\n\n/** @enumType */\nexport type NullValueWithLiterals = NullValue | '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 */\nexport interface ListValue {\n /** Repeated field of dynamically typed values. */\n values?: any[];\n}\n\nexport 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\nexport interface OrderedListData {\n /** Indentation level from 0-4. */\n indentation?: number;\n /** Offset level from 0-4. */\n offset?: number | null;\n /** List start number. */\n start?: number | null;\n}\n\nexport interface BulletedListData {\n /** Indentation level from 0-4. */\n indentation?: number;\n /** Offset level from 0-4. */\n offset?: number | null;\n}\n\nexport interface BlockquoteData {\n /** Indentation level from 1-4. */\n indentation?: number;\n}\n\nexport interface CaptionData {\n textStyle?: TextStyle;\n}\n\nexport interface LayoutData {\n /**\n * Deprecated: Use `background` instead.\n * @format COLOR_HEX\n * @deprecated\n */\n backgroundColor?: string | null;\n /** Background image. */\n backgroundImage?: LayoutDataBackgroundImage;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /**\n * Deprecated: Use `backdrop` instead.\n * @format COLOR_HEX\n * @deprecated\n */\n backdropColor?: string | null;\n /** Backdrop image. */\n backdropImage?: LayoutDataBackgroundImage;\n /** Backdrop top padding. */\n backdropPaddingTop?: number | null;\n /** Backdrop bottom padding */\n backdropPaddingBottom?: number | null;\n /** Horizontal and vertical gap between columns */\n gap?: number | null;\n /**\n * Padding in pixels for cells. Follows CSS order: top, right, bottom, left\n * @maxSize 4\n */\n cellPadding?: number[];\n /** Vertical alignment for the cell's items. */\n cellVerticalAlignment?: VerticalAlignmentAlignmentWithLiterals;\n /** Responsiveness behaviour of columns when responsiveness applies. Either stacks or wrappers. */\n responsivenessBehaviour?: ResponsivenessBehaviourWithLiterals;\n /** Size in pixels when responsiveness_behaviour applies */\n responsivenessBreakpoint?: number | null;\n /** Styling for the layout's container. */\n containerData?: PluginContainerData;\n /** Defines where selected design propertied applies to */\n designTarget?: DesignTargetWithLiterals;\n /** Banner configuration. When present, this layout is displayed as a banner. */\n banner?: Banner;\n /** Background styling (color or gradient). */\n background?: LayoutDataBackground;\n /** Backdrop styling (color or gradient). */\n backdrop?: Backdrop;\n}\n\nexport enum ImageScalingScaling {\n /** Auto image scaling */\n AUTO = 'AUTO',\n /** Contain image scaling */\n CONTAIN = 'CONTAIN',\n /** Cover image scaling */\n COVER = 'COVER',\n}\n\n/** @enumType */\nexport type ImageScalingScalingWithLiterals =\n | ImageScalingScaling\n | 'AUTO'\n | 'CONTAIN'\n | 'COVER';\n\nexport enum LayoutDataImagePosition {\n /** Image positioned at the center */\n CENTER = 'CENTER',\n /** Image positioned on the left */\n CENTER_LEFT = 'CENTER_LEFT',\n /** Image positioned on the right */\n CENTER_RIGHT = 'CENTER_RIGHT',\n /** Image positioned at the center top */\n TOP = 'TOP',\n /** Image positioned at the top left */\n TOP_LEFT = 'TOP_LEFT',\n /** Image positioned at the top right */\n TOP_RIGHT = 'TOP_RIGHT',\n /** Image positioned at the center bottom */\n BOTTOM = 'BOTTOM',\n /** Image positioned at the bottom left */\n BOTTOM_LEFT = 'BOTTOM_LEFT',\n /** Image positioned at the bottom right */\n BOTTOM_RIGHT = 'BOTTOM_RIGHT',\n}\n\n/** @enumType */\nexport type LayoutDataImagePositionWithLiterals =\n | LayoutDataImagePosition\n | 'CENTER'\n | 'CENTER_LEFT'\n | 'CENTER_RIGHT'\n | 'TOP'\n | 'TOP_LEFT'\n | 'TOP_RIGHT'\n | 'BOTTOM'\n | 'BOTTOM_LEFT'\n | 'BOTTOM_RIGHT';\n\nexport enum Origin {\n /** Banner originated from an image */\n IMAGE = 'IMAGE',\n /** Banner originated from a layout */\n LAYOUT = 'LAYOUT',\n}\n\n/** @enumType */\nexport type OriginWithLiterals = Origin | 'IMAGE' | 'LAYOUT';\n\n/** Background type */\nexport enum LayoutDataBackgroundType {\n /** Solid color background */\n COLOR = 'COLOR',\n /** Gradient background */\n GRADIENT = 'GRADIENT',\n}\n\n/** @enumType */\nexport type LayoutDataBackgroundTypeWithLiterals =\n | LayoutDataBackgroundType\n | 'COLOR'\n | 'GRADIENT';\n\n/** Backdrop type */\nexport enum BackdropType {\n /** Solid color backdrop */\n COLOR = 'COLOR',\n /** Gradient backdrop */\n GRADIENT = 'GRADIENT',\n}\n\n/** @enumType */\nexport type BackdropTypeWithLiterals = BackdropType | 'COLOR' | 'GRADIENT';\n\nexport interface LayoutDataBackgroundImage {\n /** Background image. */\n media?: Media;\n /** Background image opacity. */\n opacity?: number | null;\n /** Background image scaling. */\n scaling?: ImageScalingScalingWithLiterals;\n /** Position of background. Defaults to `CENTER`. */\n position?: LayoutDataImagePositionWithLiterals;\n}\n\nexport enum VerticalAlignmentAlignment {\n /** Top alignment */\n TOP = 'TOP',\n /** Middle alignment */\n MIDDLE = 'MIDDLE',\n /** Bottom alignment */\n BOTTOM = 'BOTTOM',\n}\n\n/** @enumType */\nexport type VerticalAlignmentAlignmentWithLiterals =\n | VerticalAlignmentAlignment\n | 'TOP'\n | 'MIDDLE'\n | 'BOTTOM';\n\nexport enum ResponsivenessBehaviour {\n /** Stacking of columns */\n STACK = 'STACK',\n /** Wrapping of columns */\n WRAP = 'WRAP',\n}\n\n/** @enumType */\nexport type ResponsivenessBehaviourWithLiterals =\n | ResponsivenessBehaviour\n | 'STACK'\n | 'WRAP';\n\nexport enum DesignTarget {\n /** Design applied to layout */\n LAYOUT = 'LAYOUT',\n /** Design applied to cells */\n CELL = 'CELL',\n}\n\n/** @enumType */\nexport type DesignTargetWithLiterals = DesignTarget | 'LAYOUT' | 'CELL';\n\nexport interface Banner {\n /** Origin of the banner */\n origin?: OriginWithLiterals;\n}\n\n/** Background styling (color or gradient) */\nexport interface LayoutDataBackground {\n /** Background type. */\n type?: LayoutDataBackgroundTypeWithLiterals;\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** Gradient configuration. */\n gradient?: Gradient;\n}\n\n/** Backdrop styling (color or gradient) */\nexport interface Backdrop {\n /** Backdrop type. */\n type?: BackdropTypeWithLiterals;\n /**\n * Backdrop color as a hexadecimal value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** Gradient configuration. */\n gradient?: Gradient;\n}\n\nexport interface LayoutCellData {\n /** Size of the cell in 12 columns grid. */\n colSpan?: number | null;\n}\n\nexport interface ShapeData {\n /** Styling for the shape's container. */\n containerData?: PluginContainerData;\n /** Shape file details. */\n shape?: Media;\n /** Styling for the shape. */\n styles?: ShapeDataStyles;\n}\n\nexport interface ShapeDataStyles {\n /**\n * Shape fill color as a hexadecimal value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** Map of original color keys to their new color values. */\n colors?: Record<string, string>;\n}\n\nexport interface CardData {\n /** Background styling (color or gradient). */\n background?: CardDataBackground;\n /** Background image. */\n backgroundImage?: BackgroundImage;\n}\n\nexport enum Scaling {\n /** Auto image scaling */\n AUTO = 'AUTO',\n /** Contain image scaling */\n CONTAIN = 'CONTAIN',\n /** Cover image scaling */\n COVER = 'COVER',\n}\n\n/** @enumType */\nexport type ScalingWithLiterals = Scaling | 'AUTO' | 'CONTAIN' | 'COVER';\n\nexport enum ImagePositionPosition {\n /** Image positioned at the center */\n CENTER = 'CENTER',\n /** Image positioned on the left */\n CENTER_LEFT = 'CENTER_LEFT',\n /** Image positioned on the right */\n CENTER_RIGHT = 'CENTER_RIGHT',\n /** Image positioned at the center top */\n TOP = 'TOP',\n /** Image positioned at the top left */\n TOP_LEFT = 'TOP_LEFT',\n /** Image positioned at the top right */\n TOP_RIGHT = 'TOP_RIGHT',\n /** Image positioned at the center bottom */\n BOTTOM = 'BOTTOM',\n /** Image positioned at the bottom left */\n BOTTOM_LEFT = 'BOTTOM_LEFT',\n /** Image positioned at the bottom right */\n BOTTOM_RIGHT = 'BOTTOM_RIGHT',\n}\n\n/** @enumType */\nexport type ImagePositionPositionWithLiterals =\n | ImagePositionPosition\n | 'CENTER'\n | 'CENTER_LEFT'\n | 'CENTER_RIGHT'\n | 'TOP'\n | 'TOP_LEFT'\n | 'TOP_RIGHT'\n | 'BOTTOM'\n | 'BOTTOM_LEFT'\n | 'BOTTOM_RIGHT';\n\n/** Background type */\nexport enum CardDataBackgroundType {\n /** Solid color background */\n COLOR = 'COLOR',\n /** Gradient background */\n GRADIENT = 'GRADIENT',\n}\n\n/** @enumType */\nexport type CardDataBackgroundTypeWithLiterals =\n | CardDataBackgroundType\n | 'COLOR'\n | 'GRADIENT';\n\n/** Background styling (color or gradient) */\nexport interface CardDataBackground {\n /** Background type. */\n type?: CardDataBackgroundTypeWithLiterals;\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** Gradient configuration. */\n gradient?: Gradient;\n}\n\nexport interface BackgroundImage {\n /** Background image. */\n media?: Media;\n /** Background image opacity. */\n opacity?: number | null;\n /** Background image scaling. */\n scaling?: ScalingWithLiterals;\n /** Position of background. Defaults to `CENTER`. */\n position?: ImagePositionPositionWithLiterals;\n}\n\nexport interface TocData {\n /** Heading levels included in the table of contents. Default: [1, 2, 3, 4, 5, 6]. */\n includedHeadings?: number[];\n /** List style. Default: PLAIN. */\n listStyle?: ListStyleWithLiterals;\n /** Optional override for the font size in pixels. */\n fontSize?: number | null;\n /** Optional override for the vertical spacing between items in pixels. */\n itemSpacing?: number | null;\n /**\n * Optional override for the text color.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** Indentation style. Default: NESTED. */\n indentation?: IndentationWithLiterals;\n}\n\n/** List style. */\nexport enum ListStyle {\n /** No markers (default) */\n PLAIN = 'PLAIN',\n /** Numbered list */\n NUMBERED = 'NUMBERED',\n /** Alphabetic letters */\n LETTERS = 'LETTERS',\n /** Roman numerals */\n ROMAN = 'ROMAN',\n /** Bulleted list */\n BULLETED = 'BULLETED',\n /** Alphabetical index */\n ALPHABETICAL_INDEX = 'ALPHABETICAL_INDEX',\n /** Alphabetical index (compact top-row only) */\n ALPHABETICAL_INDEX_COMPACT = 'ALPHABETICAL_INDEX_COMPACT',\n}\n\n/** @enumType */\nexport type ListStyleWithLiterals =\n | ListStyle\n | 'PLAIN'\n | 'NUMBERED'\n | 'LETTERS'\n | 'ROMAN'\n | 'BULLETED'\n | 'ALPHABETICAL_INDEX'\n | 'ALPHABETICAL_INDEX_COMPACT';\n\n/** Indentation style. */\nexport enum Indentation {\n /** Sub-headings indented under parents (default) */\n NESTED = 'NESTED',\n /** All items at the same level */\n FLAT = 'FLAT',\n}\n\n/** @enumType */\nexport type IndentationWithLiterals = Indentation | 'NESTED' | 'FLAT';\n\nexport interface Metadata {\n /** Schema version. */\n version?: number;\n /**\n * When the object was created.\n * @readonly\n * @deprecated\n */\n createdTimestamp?: Date | null;\n /**\n * When the object was most recently updated.\n * @deprecated\n */\n updatedTimestamp?: Date | null;\n /** Object ID. */\n _id?: string | null;\n}\n\nexport 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\nexport 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\nexport interface MediaItem extends MediaItemMediaOneOf {\n /** WixMedia image. */\n image?: string;\n}\n\n/** @oneof */\nexport interface MediaItemMediaOneOf {\n /** WixMedia image. */\n image?: string;\n}\n\nexport interface MediaSettings {\n /**\n * Specifies where the image should be displayed relative to the field's label.\n * Default: `BELOW`\n */\n imagePosition?: ImagePositionWithLiterals;\n /**\n * Specifies the image alignment.\n * Default: `CENTER`\n */\n imageAlignment?: AlignmentWithLiterals;\n /**\n * Specifies how an image should be resized to fit.\n * Default: `COVER`\n */\n imageFit?: ImageFitWithLiterals;\n}\n\nexport enum ImagePosition {\n /** Above the field's label. */\n ABOVE = 'ABOVE',\n /** Below the field's label. */\n BELOW = 'BELOW',\n}\n\n/** @enumType */\nexport type ImagePositionWithLiterals = ImagePosition | 'ABOVE' | 'BELOW';\n\nexport enum Alignment {\n /** Align left. */\n LEFT = 'LEFT',\n /** Align center. */\n CENTER = 'CENTER',\n /** Align right. */\n RIGHT = 'RIGHT',\n}\n\n/** @enumType */\nexport type AlignmentWithLiterals = Alignment | 'LEFT' | 'CENTER' | 'RIGHT';\n\nexport enum ImageFit {\n /** Scale the image to maintain its aspect ratio while filling the element's entire content box. Portions of the image may be clipped if the aspect ratios don't match. */\n COVER = 'COVER',\n /** Resize the image to fill the element's content box. The image's original sspect ratio may not be preserved. */\n CONTAIN = 'CONTAIN',\n}\n\n/** @enumType */\nexport type ImageFitWithLiterals = ImageFit | 'COVER' | 'CONTAIN';\n\nexport interface RadioGroup {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * List of options the submitter can select from.\n * @maxSize 400\n */\n options?: RadioGroupOption[];\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /** Custom option which can be specified by the submitter. */\n customOption?: CustomOption;\n /**\n * Specifies the number of columns used to display the selections within the component.\n *\n * Default: `ONE`\n */\n numberOfColumns?: NumberOfColumnsWithLiterals;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n}\n\nexport interface RadioGroupOption {\n /**\n * Selectable option label.\n * @maxLength 400\n */\n label?: string | null;\n /**\n * Value stored on submission when this option is selected.\n * @maxLength 20000\n */\n value?: string | null;\n /** Whether this option is selected by default. */\n default?: boolean;\n /**\n * Option ID. Can be used to connect this option with [Wix Multilingual](https://dev.wix.com/docs/api-reference/business-management/multilingual/translation/introduction) for translation.\n * @format GUID\n * @immutable\n */\n _id?: string;\n}\n\nexport interface CustomOption {\n /**\n * Custom option label.\n * @maxLength 350\n */\n label?: string | null;\n /**\n * Custom option placeholder text.\n * @maxLength 100\n */\n placeholder?: string | null;\n}\n\nexport enum NumberOfColumns {\n /** Zero columns. */\n ZERO = 'ZERO',\n /** One column. */\n ONE = 'ONE',\n /** Two columns. */\n TWO = 'TWO',\n /** Three columns. */\n THREE = 'THREE',\n}\n\n/** @enumType */\nexport type NumberOfColumnsWithLiterals =\n | NumberOfColumns\n | 'ZERO'\n | 'ONE'\n | 'TWO'\n | 'THREE';\n\nexport interface Dropdown {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * List of options the submitter can select from.\n * @maxSize 400\n */\n options?: DropdownOption[];\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /** Custom option which can be specified by the submitter. */\n customOption?: CustomOption;\n /**\n * Placeholder text shown when no option is selected.\n * @maxLength 100\n */\n placeholder?: string | null;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n}\n\nexport interface DropdownOption {\n /**\n * Selectable option label.\n * @maxLength 400\n */\n label?: string | null;\n /**\n * Value stored on submission when this option is selected.\n * @maxLength 20000\n */\n value?: string | null;\n /** Whether this option is selected by default. */\n default?: boolean;\n /**\n * Option ID. Can be used to connect this option with [Wix Multilingual](https://dev.wix.com/docs/api-reference/business-management/multilingual/translation/introduction) for translation.\n * @format GUID\n * @immutable\n */\n _id?: string;\n}\n\nexport interface DateTimeInput {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /**\n * Whether to display placeholder text in the field when it's empty.\n *\n * Default: `true`\n */\n showPlaceholder?: boolean | null;\n /**\n * Whether to use 24-hour time format.\n *\n * Default: `false`\n */\n use24HourFormat?: boolean;\n /**\n * Default value for the field. This value is pre-populated in the field when the form loads.\n * Supports static constrains defined as ISO date-time format, as well as dynamic calculations using special keywords\n * such as \"$now\" to represent the current date and time.\n * The dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\n * The regex pattern for dynamic calculations is: \\$now([+-]\\d{1,2})([yMdmh])\n * @maxLength 50\n */\n default?: string | null;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n /**\n * Flag identifying whether to show or hide the date labels.\n * Default: true\n */\n showDateLabels?: boolean | null;\n}\n\nexport interface PhoneInput {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * Placeholder text shown inside the field when it's empty.\n * @maxLength 100\n */\n placeholder?: string | null;\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /**\n * Default country code for the phone number input. Two-letter country code in ISO-3166 alpha-2 format.\n * @minLength 1\n * @maxLength 5\n */\n defaultCountryCode?: string | null;\n /**\n * Whether to display the country flag next to the country code.\n *\n * Default: `false`\n */\n showCountryFlag?: boolean;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n}\n\nexport interface DateInput {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /**\n * Whether to display placeholder text in the field when it's empty.\n *\n * Default: `true`\n */\n showPlaceholder?: boolean | null;\n /**\n * Default value for the field. This value is pre-populated in the field when the form loads.\n * Supports static constrains defined as ISO date format, as well as dynamic calculations using special keywords\n * such as \"$now\" to represent the current date and time.\n * The dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\n * The regex pattern for dynamic calculations is: \\$now([+-]\\d{1,2})([yMdmh])\n * @maxLength 50\n */\n default?: string | null;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n /**\n * Flag identifying whether to show or hide the date labels.\n * Default: true\n */\n showDateLabels?: boolean | null;\n}\n\nexport interface TimeInput {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Field description. */\n description?: RichContent;\n /**\n * Whether to display the label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /**\n * Whether to display placeholder text in the field when it's empty.\n *\n * Default: `true`\n */\n showPlaceholder?: boolean | null;\n /**\n * Whether to use 24-hour time format.\n *\n * Default: `false`\n */\n use24HourFormat?: boolean;\n /**\n * Default value for the field. This value is pre-populated in the field when the form loads.\n * Supports static constrains defined as ISO time format, as well as dynamic calculations using special keywords\n * such as \"$now\" to represent the current date and time.\n * The dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\n * The regex pattern for dynamic calculations is: \\$now([+-]\\d{1,2})([yMdmh])\n * @maxLength 50\n */\n default?: string | null;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n}\n\nexport interface DatePicker {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /**\n * Placeholder text shown when no date is selected.\n * @maxLength 100\n */\n placeholder?: string | null;\n /** First day of the week displayed on the date picker. */\n firstDayOfWeek?: FirstDayOfWeekWithLiterals;\n /**\n * Default value for the field. This value is pre-populated in the field when the form loads.\n * Supports static constrains defined as ISO date format, as well as dynamic calculations using special keywords\n * such as \"$now\" to represent the current date and time.\n * The dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\n * The regex pattern for dynamic calculations is: \\$now([+-]\\d{1,2})([yMdmh])\n * @maxLength 50\n */\n default?: string | null;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n}\n\nexport enum FirstDayOfWeek {\n /** First day of the week is Monday. */\n MONDAY = 'MONDAY',\n /** First day of the week is Sunday. */\n SUNDAY = 'SUNDAY',\n}\n\n/** @enumType */\nexport type FirstDayOfWeekWithLiterals = FirstDayOfWeek | 'MONDAY' | 'SUNDAY';\n\nexport interface ServicesDropdown {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /**\n * Placeholder text shown when no service is selected.\n * @maxLength 100\n */\n placeholder?: string | null;\n /**\n * List of service options the submitter can select from.\n * @maxSize 400\n */\n options?: ServiceOption[];\n /** Custom option which can be specified by the submitter. */\n customOption?: CustomOption;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n}\n\nexport interface ServiceOption {\n /**\n * Service name/label\n * @maxLength 400\n */\n label?: string | null;\n /**\n * Option id. Used as binding for translations. Corresponds to the Service ID.\n * @format GUID\n * @immutable\n */\n _id?: string;\n /**\n * Selectable option value, which is saved to DB. Corresponds to the Service ID.\n * @format GUID\n * @immutable\n */\n value?: string | null;\n}\n\nexport interface Password {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * Placeholder text shown inside the field when it's empty.\n * Useful for providing a hint about the expected format or content.\n * @maxLength 100\n */\n placeholder?: string | null;\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /**\n * Default value for the field. This value is pre-populated in the field when the form loads.\n * @maxLength 20000\n */\n default?: string | null;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n}\n\nexport interface NumberCorrectAnswersList {\n /** @maxSize 50 */\n correctAnswers?: number[];\n}\n\nexport interface NumberType {\n /** The maximum value of the number. Inclusive. */\n maximum?: number | null;\n /** The minimum value of the number. Inclusive. */\n minimum?: number | null;\n /** A number that the value must be a multiple of. */\n multipleOf?: number | null;\n /**\n * List of allowed values.\n * @maxSize 500\n */\n enum?: number[] | null;\n}\n\nexport enum NumberComponentType {\n /** Unknown component type. */\n UNKNOWN_COMPONENT_TYPE = 'UNKNOWN_COMPONENT_TYPE',\n /** Numeric input component. */\n NUMBER_INPUT = 'NUMBER_INPUT',\n /** Rating input component. */\n RATING_INPUT = 'RATING_INPUT',\n}\n\n/** @enumType */\nexport type NumberComponentTypeWithLiterals =\n | NumberComponentType\n | 'UNKNOWN_COMPONENT_TYPE'\n | 'NUMBER_INPUT'\n | 'RATING_INPUT';\n\nexport interface NumberQuizFieldSettings {\n /** Points awarded for correctly answering this quiz question. */\n score?: number;\n /** Correct answers for this quiz question. */\n correctAnswersList?: NumberCorrectAnswersList;\n}\n\nexport interface NumberInput {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * Placeholder text shown inside the field when it's empty.\n * @maxLength 100\n */\n placeholder?: string | null;\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /** Default value for the field. This value is pre-populated in the field when the form loads. */\n default?: number | null;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n}\n\nexport interface RatingInput {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /**\n * Default rating value for the field.\n * @min 1\n * @max 5\n */\n defaultValue?: number | null;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n}\n\nexport interface BooleanType {\n /**\n * List of allowed values.\n * @maxSize 2\n */\n enum?: boolean[];\n}\n\nexport enum BooleanComponentType {\n /** Unknown component type. */\n UNKNOWN_COMPONENT_TYPE = 'UNKNOWN_COMPONENT_TYPE',\n /** Checkbox component. */\n CHECKBOX = 'CHECKBOX',\n}\n\n/** @enumType */\nexport type BooleanComponentTypeWithLiterals =\n | BooleanComponentType\n | 'UNKNOWN_COMPONENT_TYPE'\n | 'CHECKBOX';\n\nexport interface Checkbox {\n /** Field label. */\n label?: RichContent;\n /**\n * Whether the checkbox is selected by default when the form loads.\n *\n * Default: `false`\n */\n checked?: boolean;\n}\n\nexport interface CorrectAnswersList {\n /** @maxSize 50 */\n correctAnswers?: any[];\n}\n\nexport interface ArrayType {\n /**\n * Maximum number of elements allowed in the array.\n * @max 1000\n */\n maxItems?: number | null;\n /**\n * Minimum number of elements required in the array.\n * @max 1000\n */\n minItems?: number | null;\n /** Type of items allowed in the array. */\n items?: ArrayItems;\n}\n\nexport enum ItemType {\n /** Array can contain string values. */\n STRING = 'STRING',\n /** Array can contain numeric values. */\n NUMBER = 'NUMBER',\n /** Array can contain boolean values. */\n BOOLEAN = 'BOOLEAN',\n}\n\n/** @enumType */\nexport type ItemTypeWithLiterals = ItemType | 'STRING' | 'NUMBER' | 'BOOLEAN';\n\nexport interface ObjectType {\n /** Definition of object properties and their validation rules. */\n properties?: Record<string, PropertiesType>;\n}\n\nexport enum PropertiesTypeEnum {\n /** Property must contain a string value. */\n STRING = 'STRING',\n /** Property must contain a numeric value. */\n NUMBER = 'NUMBER',\n /** Property must contain a boolean value. */\n BOOLEAN = 'BOOLEAN',\n /** Property must contain an array. */\n ARRAY = 'ARRAY',\n}\n\n/** @enumType */\nexport type PropertiesTypeEnumWithLiterals =\n | PropertiesTypeEnum\n | 'STRING'\n | 'NUMBER'\n | 'BOOLEAN'\n | 'ARRAY';\n\nexport interface PropertiesType\n extends PropertiesTypePropertiesTypeOptionsOneOf {\n /** Validation rules for string properties. */\n stringOptions?: StringType;\n /** Validation rules for numeric properties. */\n numberOptions?: NumberType;\n /** Validation rules for boolean properties. */\n booleanOptions?: BooleanType;\n /** Validation rules for array properties. */\n arrayOptions?: ArrayType;\n /**\n * Data type of the object property.\n * @readonly\n */\n propertiesType?: PropertiesTypeEnumWithLiterals;\n /** Whether the object property is required for validation. */\n required?: boolean;\n}\n\n/** @oneof */\nexport interface PropertiesTypePropertiesTypeOptionsOneOf {\n /** Validation rules for string properties. */\n stringOptions?: StringType;\n /** Validation rules for numeric properties. */\n numberOptions?: NumberType;\n /** Validation rules for boolean properties. */\n booleanOptions?: BooleanType;\n /** Validation rules for array properties. */\n arrayOptions?: ArrayType;\n}\n\nexport interface ArrayItems extends ArrayItemsItemTypeOptionsOneOf {\n /** Validation rules for string array elements. */\n stringOptions?: StringType;\n /** Validation rules for numeric array elements. */\n numberOptions?: NumberType;\n /** Validation rules for boolean array elements. */\n booleanOptions?: BooleanType;\n /**\n * Allowed item type.\n * @readonly\n */\n itemType?: ItemTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface ArrayItemsItemTypeOptionsOneOf {\n /** Validation rules for string array elements. */\n stringOptions?: StringType;\n /** Validation rules for numeric array elements. */\n numberOptions?: NumberType;\n /** Validation rules for boolean array elements. */\n booleanOptions?: BooleanType;\n}\n\nexport enum ArrayComponentType {\n /** Unknown component type. */\n UNKNOWN_COMPONENT_TYPE = 'UNKNOWN_COMPONENT_TYPE',\n /** Checkbox group component. */\n CHECKBOX_GROUP = 'CHECKBOX_GROUP',\n /** Tags component. */\n TAGS = 'TAGS',\n SERVICES_CHECKBOX_GROUP = 'SERVICES_CHECKBOX_GROUP',\n}\n\n/** @enumType */\nexport type ArrayComponentTypeWithLiterals =\n | ArrayComponentType\n | 'UNKNOWN_COMPONENT_TYPE'\n | 'CHECKBOX_GROUP'\n | 'TAGS'\n | 'SERVICES_CHECKBOX_GROUP';\n\nexport interface QuizFieldSettings {\n /** Points awarded for correctly answering this quiz question. */\n score?: number;\n /** Correct answers for this quiz question. */\n correctAnswersList?: CorrectAnswersList;\n}\n\nexport interface CheckboxGroup {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * List of options the submitter can select from.\n * @maxSize 400\n */\n options?: Option[];\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /** Custom option which can be specified by the submitter. */\n customOption?: CustomOption;\n /**\n * Specifies the number of columns used to display the selections within the component.\n *\n * Default: `ONE`\n */\n numberOfColumns?: NumberOfColumnsWithLiterals;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n}\n\nexport interface Option {\n /**\n * Selectable option label.\n * @maxLength 400\n */\n label?: string | null;\n /** Value stored on submission when this option is selected. */\n value?: any;\n /** Whether this option is selected by default. */\n default?: boolean;\n /**\n * Option ID. Can be used to connect this option with [Wix Multilingual](https://dev.wix.com/docs/api-reference/business-management/multilingual/translation/introduction) for translation.\n * @format GUID\n * @immutable\n */\n _id?: string;\n /** Media content associated with this option. */\n media?: MediaItem;\n}\n\nexport interface ComponentsTags {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * List of options the submitter can select from.\n * @maxSize 400\n */\n options?: TagsOption[];\n /**\n * Whether to display the label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /** Custom option which can be specified by the submitter. */\n customOption?: CustomOption;\n /**\n * Specifies the number of columns used to display the selections within the component.\n *\n * Default: `ONE`\n */\n numberOfColumns?: NumberOfColumnsWithLiterals;\n /** Media item. Media, associated with field, like image. */\n media?: MediaItem;\n /** Configuration for the media item. */\n mediaSettings?: MediaSettings;\n}\n\nexport interface TagsOption {\n /**\n * Selectable option label.\n * @maxLength 400\n */\n label?: string | null;\n /** Value stored on submission when this option is selected. */\n value?: any;\n /** Flag identifying that option should be selected by default. */\n default?: boolean;\n /**\n * Option id. Used as binding for translations\n * @format GUID\n * @immutable\n */\n _id?: string;\n /** Media content associated with the option, such as an image. */\n media?: MediaItem;\n}\n\nexport interface ServicesCheckboxGroup {\n /**\n * Label of the field\n * @maxLength 350\n */\n label?: string | null;\n /** Description of the field */\n description?: RichContent;\n /**\n * List of options to select from\n * @maxSize 100\n */\n options?: ServiceOption[];\n /**\n * Flag identifying to hide or not label\n * Default: true\n */\n showLabel?: boolean | null;\n /** Option which can be specified by UoU, enabled when this object is specified. */\n customOption?: CustomOption;\n /**\n * Specifies the number of columns used to display the selections within the component.\n * Default: ONE\n */\n numberOfColumns?: NumberOfColumnsWithLiterals;\n}\n\nexport enum WixFileComponentType {\n /** Unknown component type. */\n UNKNOWN_COMPONENT_TYPE = 'UNKNOWN_COMPONENT_TYPE',\n /** File upload component. */\n FILE_UPLOAD = 'FILE_UPLOAD',\n /** Signature component. */\n SIGNATURE = 'SIGNATURE',\n}\n\n/** @enumType */\nexport type WixFileComponentTypeWithLiterals =\n | WixFileComponentType\n | 'UNKNOWN_COMPONENT_TYPE'\n | 'FILE_UPLOAD'\n | 'SIGNATURE';\n\nexport interface FileType {\n /**\n * Maximum number of files that can be uploaded.\n * @min 1\n * @max 30\n */\n fileLimit?: number;\n /**\n * Supported file formats for uploaded files.\n * @maxSize 6\n */\n uploadFileFormats?: UploadFileFormatWithLiterals[];\n}\n\nexport enum UploadFileFormat {\n /** Video files. */\n VIDEO = 'VIDEO',\n /** Image files. */\n IMAGE = 'IMAGE',\n /** Audio files. */\n AUDIO = 'AUDIO',\n /** Document files. */\n DOCUMENT = 'DOCUMENT',\n /** Archive files. */\n ARCHIVE = 'ARCHIVE',\n /** 3D model files. */\n MODEL_3D = 'MODEL_3D',\n}\n\n/** @enumType */\nexport type UploadFileFormatWithLiterals =\n | UploadFileFormat\n | 'VIDEO'\n | 'IMAGE'\n | 'AUDIO'\n | 'DOCUMENT'\n | 'ARCHIVE'\n | 'MODEL_3D';\n\nexport interface FileUpload {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /**\n * Text displayed on the upload button.\n * @maxLength 500\n */\n buttonText?: string | null;\n /**\n * Custom text displayed when a file is uploaded. If not specified, the file name is shown.\n * @maxLength 255\n */\n explanationText?: string | null;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n}\n\nexport interface Signature {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /** Whether image upload is enabled for the signature field. */\n imageUploadEnabled?: boolean;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media item. */\n mediaSettings?: MediaSettings;\n}\n\nexport enum PaymentComponentType {\n /** Unknown component type. */\n UNKNOWN_COMPONENT_TYPE = 'UNKNOWN_COMPONENT_TYPE',\n /** Checkbox group component. */\n CHECKBOX_GROUP = 'CHECKBOX_GROUP',\n /** Donation input component. */\n DONATION_INPUT = 'DONATION_INPUT',\n /** Payment input component. */\n PAYMENT_INPUT = 'PAYMENT_INPUT',\n /** Fixed payment component. */\n FIXED_PAYMENT = 'FIXED_PAYMENT',\n}\n\n/** @enumType */\nexport type PaymentComponentTypeWithLiterals =\n | PaymentComponentType\n | 'UNKNOWN_COMPONENT_TYPE'\n | 'CHECKBOX_GROUP'\n | 'DONATION_INPUT'\n | 'PAYMENT_INPUT'\n | 'FIXED_PAYMENT';\n\nexport interface ProductCheckboxGroup {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * List of product options the submitter can select from.\n * @maxSize 400\n */\n options?: ProductCheckboxGroupOption[];\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /**\n * How an image should be resized to fit within its option container.\n *\n * Default: `COVER`\n */\n imageFit?: ImageFitWithLiterals;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n}\n\nexport interface ProductCheckboxGroupOption {\n /**\n * Selectable option label.\n * @maxLength 400\n */\n label?: string | null;\n /** Value stored on submission when this option is selected. Must match a product ID found in the field's products list. */\n value?: any;\n /**\n * Option ID. Can be used to connect this option with [Wix Multilingual](https://dev.wix.com/docs/api-reference/business-management/multilingual/translation/introduction) for translation.\n * @format GUID\n * @immutable\n */\n _id?: string;\n /** Media content associated with this option, such as an image. */\n media?: MediaItem;\n /** Whether this option is selected by default. */\n default?: boolean;\n}\n\nexport interface DonationInput {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * List of donation amount options the submitter can select from.\n * @maxSize 400\n */\n options?: DonationInputOption[];\n /** Custom option which can be specified by the submitter. */\n customOption?: CustomOption;\n /**\n * Specifies the number of columns used to display the selections within the component.\n *\n * Default: `ONE`\n */\n numberOfColumns?: NumberOfColumnsWithLiterals;\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n}\n\nexport interface DonationInputOption {\n /**\n * Value stored on submission when this option is selected. Must match a product ID found in the field's products list.\n * @format GUID\n */\n value?: string;\n /** Whether this option is selected by default. */\n default?: boolean;\n}\n\nexport interface PaymentInput {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /**\n * Placeholder text shown inside the field when it's empty.\n * @maxLength 100\n */\n placeholder?: string | null;\n /** Default value for the field. This value is pre-populated in the field when the form loads. */\n default?: number | null;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n}\n\nexport interface FixedPayment {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /** Media content associated with the field, such as an image. */\n media?: MediaItem;\n /** Configuration for the media content. */\n mediaSettings?: MediaSettings;\n}\n\nexport enum ComponentType {\n /** Unknown component type. */\n UNKNOWN_COMPONENT_TYPE = 'UNKNOWN_COMPONENT_TYPE',\n /** Multiline address component. */\n MULTILINE_ADDRESS = 'MULTILINE_ADDRESS',\n}\n\n/** @enumType */\nexport type ComponentTypeWithLiterals =\n | ComponentType\n | 'UNKNOWN_COMPONENT_TYPE'\n | 'MULTILINE_ADDRESS';\n\nexport interface MultilineAddress {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /** Whether to display country flags in the country selection. */\n showCountryFlags?: boolean;\n /** Default country configuration for the address field. */\n defaultCountryConfig?: DefaultCountryConfig;\n /** Fields settings. */\n fieldSettings?: FieldsSettings;\n /** Whether autocomplete is enabled for the address line field. */\n autocompleteEnabled?: boolean;\n /**\n * Flag identifying whether to show or hide the address labels.\n * Default: true\n */\n showAddressLabels?: boolean | null;\n /**\n * Flag identifying whether to show or hide the label.\n * Default: true\n */\n showLabel?: boolean | null;\n}\n\nexport enum Type {\n /** Unknown default country configuration type. */\n UNKNOWN_DEFAULT_COUNTRY = 'UNKNOWN_DEFAULT_COUNTRY',\n /** Country is determined by the submitter's IP address. */\n BY_IP = 'BY_IP',\n /** Pre-selected default country. */\n COUNTRY = 'COUNTRY',\n}\n\n/** @enumType */\nexport type TypeWithLiterals =\n | Type\n | 'UNKNOWN_DEFAULT_COUNTRY'\n | 'BY_IP'\n | 'COUNTRY';\n\nexport interface AddressLine2 {\n /** Whether to display the address line 2 field. */\n show?: boolean;\n}\n\nexport interface DefaultCountryConfig extends DefaultCountryConfigOptionsOneOf {\n /**\n * Country code for the pre-selected default country. Two-letter country code in ISO-3166 alpha-2 format.\n * @format COUNTRY\n */\n countryOptions?: string;\n /** Default country type. */\n type?: TypeWithLiterals;\n}\n\n/** @oneof */\nexport interface DefaultCountryConfigOptionsOneOf {\n /**\n * Country code for the pre-selected default country. Two-letter country code in ISO-3166 alpha-2 format.\n * @format COUNTRY\n */\n countryOptions?: string;\n}\n\nexport interface FieldsSettings {\n /** Configuration for the address line 2 field. */\n addressLine2?: AddressLine2;\n}\n\nexport enum ObjectArrayComponentType {\n /** Unknown component type. */\n UNKNOWN_COMPONENT_TYPE = 'UNKNOWN_COMPONENT_TYPE',\n /** Repeater component. */\n REPEATER = 'REPEATER',\n}\n\n/** @enumType */\nexport type ObjectArrayComponentTypeWithLiterals =\n | ObjectArrayComponentType\n | 'UNKNOWN_COMPONENT_TYPE'\n | 'REPEATER';\n\nexport interface Repeater {\n /**\n * Field label.\n * @maxLength 350\n */\n label?: string | null;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * Whether to display the label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n /**\n * Form fields that define the input elements inside repeater.\n * @maxSize 10\n */\n fields?: Field[];\n /** Layout configuration that defines how form fields are arranged within this repeater. */\n layout?: FormLayout;\n}\n\nexport interface FormLayout {\n /** Layout configuration for large screen breakpoints (desktop). */\n large?: BreakPoint;\n /** Layout configuration for medium screen breakpoints (tablet). */\n medium?: BreakPoint;\n /** Layout configuration for small screen breakpoints (mobile). */\n small?: BreakPoint;\n}\n\nexport interface BreakPoint {\n /**\n * Configuration for the layout of items in the breakpoint.\n * @maxSize 500\n */\n items?: ItemLayout[];\n /** Number of columns in the layout grid. */\n columns?: number | null;\n /** Height of each row in the layout grid, measured in pixels. */\n rowHeight?: number | null;\n /** Margin spacing configuration for the form elements. */\n margin?: Margin;\n /** Padding spacing inside form elements in pixels. */\n padding?: Margin;\n}\n\nexport interface ItemLayout extends ItemLayoutItemOneOf {\n /**\n * ID of the form field to be positioned in the layout.\n * @format GUID\n */\n fieldId?: string;\n /** Group configuration for positioning multiple fields as a single layout unit. */\n group?: Group;\n /** Row position in the grid where this item is placed. */\n row?: number | null;\n /** Column position in the grid where this item is placed. */\n column?: number | null;\n /** Width of the item in grid units. */\n width?: number | null;\n /** Height of the item in grid units. */\n height?: number | null;\n}\n\n/** @oneof */\nexport interface ItemLayoutItemOneOf {\n /**\n * ID of the form field to be positioned in the layout.\n * @format GUID\n */\n fieldId?: string;\n /** Group configuration for positioning multiple fields as a single layout unit. */\n group?: Group;\n}\n\nexport interface Group {\n /**\n * ID of the field group.\n * @format GUID\n */\n groupId?: string;\n /**\n * Layout configuration for individual items within this group.\n * @minSize 1\n * @maxSize 500\n */\n items?: ItemLayout[];\n}\n\nexport interface Margin {\n /** Horizontal spacing in pixels. */\n horizontal?: number | null;\n /** Vertical spacing in pixels. */\n vertical?: number | null;\n}\n\nexport interface Section {\n /**\n * Section ID.\n * @format GUID\n * @minLength 1\n */\n _id?: string;\n /** Row position where this section is placed in the grid. */\n row?: number | null;\n /**\n * A list of field IDs that can be placed within the section.\n * The section only accepts fields with IDs specified in this list.\n * If the `$new` key is contained in this list, the section allows the inclusion of fields not explicitly listed, enabling dynamic addition of new fields.\n * @maxSize 100\n * @maxLength 100\n */\n allowedFieldIds?: string[];\n}\n\nexport enum SchedulingComponentType {\n /** Unknown component type. */\n UNKNOWN_COMPONENT_TYPE = 'UNKNOWN_COMPONENT_TYPE',\n /** Appointment component. */\n APPOINTMENT = 'APPOINTMENT',\n}\n\n/** @enumType */\nexport type SchedulingComponentTypeWithLiterals =\n | SchedulingComponentType\n | 'UNKNOWN_COMPONENT_TYPE'\n | 'APPOINTMENT';\n\nexport interface Appointment extends AppointmentFormatInfoOneOf {\n /** Configuration for in-person appointments. */\n inPersonOptions?: InPersonOptions;\n /** Configuration for video conference appointments. */\n videoConferenceOptions?: VideoConferenceOptions;\n /** Configuration for phone appointments. */\n phoneOptions?: PhoneOptions;\n /**\n * Field label.\n * @maxLength 255\n */\n label?: string | null;\n /**\n * Appointment name.\n * @minLength 1\n * @maxLength 400\n */\n name?: string | null;\n /**\n * Duration of the appointment in minutes.\n * @min 1\n * @max 44639\n */\n durationInMinutes?: number | null;\n /** Whether appointments require manual approval before confirmation. */\n manualApprovalRequired?: boolean | null;\n /**\n * IDs of staff members who provide this service.\n * @maxSize 220\n * @format GUID\n */\n staffIds?: string[] | null;\n /** Appointment format. */\n format?: FormatWithLiterals;\n /** Additional description or instructions for the field. */\n description?: RichContent;\n /**\n * Whether to display the field label.\n *\n * Default: `true`\n */\n showLabel?: boolean | null;\n}\n\n/** @oneof */\nexport interface AppointmentFormatInfoOneOf {\n /** Configuration for in-person appointments. */\n inPersonOptions?: InPersonOptions;\n /** Configuration for video conference appointments. */\n videoConferenceOptions?: VideoConferenceOptions;\n /** Configuration for phone appointments. */\n phoneOptions?: PhoneOptions;\n}\n\nexport interface Location extends LocationLocationInfoOneOf {\n /**\n * Custom address specified as a text string.\n * @maxLength 512\n */\n customAddress?: string | null;\n /**\n * ID of a predefined business [location](https://dev.wix.com/docs/rest/crm/members-contacts/locations/locations/introduction).\n * @format GUID\n */\n businessLocationId?: string | null;\n}\n\n/** @oneof */\nexport interface LocationLocationInfoOneOf {\n /**\n * Custom address specified as a text string.\n * @maxLength 512\n */\n customAddress?: string | null;\n /**\n * ID of a predefined business [location](https://dev.wix.com/docs/rest/crm/members-contacts/locations/locations/introduction).\n * @format GUID\n */\n businessLocationId?: string | null;\n}\n\nexport enum Format {\n /** Face-to-face meeting at a physical location. */\n IN_PERSON = 'IN_PERSON',\n /** Online meeting via video conference. */\n VIDEO_CONFERENCE = 'VIDEO_CONFERENCE',\n /** Appointment conducted over the phone. */\n PHONE = 'PHONE',\n}\n\n/** @enumType */\nexport type FormatWithLiterals =\n | Format\n | 'IN_PERSON'\n | 'VIDEO_CONFERENCE'\n | 'PHONE';\n\nexport enum MeetingType {\n /** Single staff member provides the service. */\n SINGLE_STAFF = 'SINGLE_STAFF',\n /** Multiple staff members rotate via round robin scheduling. */\n ROUND_ROBIN = 'ROUND_ROBIN',\n}\n\n/** @enumType */\nexport type MeetingTypeWithLiterals =\n | MeetingType\n | 'SINGLE_STAFF'\n | 'ROUND_ROBIN';\n\nexport enum StaffStrategySelection {\n /** Staff selected randomly. */\n AUTOMATIC = 'AUTOMATIC',\n /** Staff sorted by priority, highest first. */\n HIGH_TO_LOW_PRIORITY = 'HIGH_TO_LOW_PRIORITY',\n /** Staff sorted by priority, lowest first. */\n LOW_TO_HIGH_PRIORITY = 'LOW_TO_HIGH_PRIORITY',\n}\n\n/** @enumType */\nexport type StaffStrategySelectionWithLiterals =\n | StaffStrategySelection\n | 'AUTOMATIC'\n | 'HIGH_TO_LOW_PRIORITY'\n | 'LOW_TO_HIGH_PRIORITY';\n\nexport interface InPersonOptions {\n /**\n * Physical locations where the appointment can take place.\n * @minSize 1\n * @maxSize 1\n */\n locations?: Location[];\n}\n\nexport interface VideoConferenceOptions {\n /**\n * Description or instructions for video conference appointments.\n * @maxLength 512\n */\n description?: string | null;\n}\n\nexport interface PhoneOptions {\n /**\n * Description or instructions for phone appointments.\n * @maxLength 512\n */\n description?: string | null;\n}\n\nexport enum InputType {\n /** Unknown input type. */\n UNKNOWN_INPUT_TYPE = 'UNKNOWN_INPUT_TYPE',\n /** String input. */\n STRING = 'STRING',\n /** Numeric input. */\n NUMBER = 'NUMBER',\n /** Boolean input. */\n BOOLEAN = 'BOOLEAN',\n /** Array input. */\n ARRAY = 'ARRAY',\n /** Object input. */\n OBJECT = 'OBJECT',\n /** File upload input. */\n WIX_FILE = 'WIX_FILE',\n /** Payment input. */\n PAYMENT = 'PAYMENT',\n /** Scheduling input. */\n SCHEDULING = 'SCHEDULING',\n /** Address input. */\n ADDRESS = 'ADDRESS',\n}\n\n/** @enumType */\nexport type InputTypeWithLiterals =\n | InputType\n | 'UNKNOWN_INPUT_TYPE'\n | 'STRING'\n | 'NUMBER'\n | 'BOOLEAN'\n | 'ARRAY'\n | 'OBJECT'\n | 'WIX_FILE'\n | 'PAYMENT'\n | 'SCHEDULING'\n | 'ADDRESS';\n\nexport interface FormFieldContactInfo\n extends FormFieldContactInfoAdditionalInfoOneOf {\n /** Configuration for email contact fields. */\n emailInfo?: EmailInfo;\n /** Configuration for phone contact fields. */\n phoneInfo?: PhoneInfo;\n /** Configuration for address contact fields. */\n addressInfo?: AddressInfo;\n /** Configuration for custom contact fields. */\n customFieldInfo?: CustomFieldInfo;\n /** Configuration for subscription contact fields. */\n subscriptionInfo?: SubscriptionInfo;\n /** The [Contact](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/contacts/introduction) field that this form field maps to. */\n contactField?: ContactFieldWithLiterals;\n}\n\n/** @oneof */\nexport interface FormFieldContactInfoAdditionalInfoOneOf {\n /** Configuration for email contact fields. */\n emailInfo?: EmailInfo;\n /** Configuration for phone contact fields. */\n phoneInfo?: PhoneInfo;\n /** Configuration for address contact fields. */\n addressInfo?: AddressInfo;\n /** Configuration for custom contact fields. */\n customFieldInfo?: CustomFieldInfo;\n /** Configuration for subscription contact fields. */\n subscriptionInfo?: SubscriptionInfo;\n}\n\nexport enum EmailInfoTag {\n /** Untagged email address. */\n UNTAGGED = 'UNTAGGED',\n /** Primary email address for the contact. */\n MAIN = 'MAIN',\n}\n\n/** @enumType */\nexport type EmailInfoTagWithLiterals = EmailInfoTag | 'UNTAGGED' | 'MAIN';\n\nexport enum PhoneInfoTag {\n /** Untagged phone number. */\n UNTAGGED = 'UNTAGGED',\n /** Primary phone number for the contact. */\n MAIN = 'MAIN',\n}\n\n/** @enumType */\nexport type PhoneInfoTagWithLiterals = PhoneInfoTag | 'UNTAGGED' | 'MAIN';\n\nexport enum Tag {\n /** Untagged address. */\n UNTAGGED = 'UNTAGGED',\n /** Home address. */\n HOME = 'HOME',\n}\n\n/** @enumType */\nexport type TagWithLiterals = Tag | 'UNTAGGED' | 'HOME';\n\nexport enum ConfirmationLevel {\n /** Unknown confirmation level. */\n UNKNOWN_CONFIRMATION_LEVEL = 'UNKNOWN_CONFIRMATION_LEVEL',\n /** Single confirmation level. */\n SINGLE_CONFIRMATION = 'SINGLE_CONFIRMATION',\n /** Double confirmation level. */\n DOUBLE_CONFIRMATION = 'DOUBLE_CONFIRMATION',\n}\n\n/** @enumType */\nexport type ConfirmationLevelWithLiterals =\n | ConfirmationLevel\n | 'UNKNOWN_CONFIRMATION_LEVEL'\n | 'SINGLE_CONFIRMATION'\n | 'DOUBLE_CONFIRMATION';\n\nexport enum SubscriptionChannel {\n /** Email subscription channel. */\n EMAIL = 'EMAIL',\n /** SMS subscription channel. */\n SMS = 'SMS',\n}\n\n/** @enumType */\nexport type SubscriptionChannelWithLiterals =\n | SubscriptionChannel\n | 'EMAIL'\n | 'SMS';\n\nexport enum ContactField {\n /** Contact's first name. */\n FIRST_NAME = 'FIRST_NAME',\n /** Contact's last name. */\n LAST_NAME = 'LAST_NAME',\n /** Contact's company or organization. */\n COMPANY = 'COMPANY',\n /** Contact's job title or position. */\n POSITION = 'POSITION',\n /** Contact's email address. */\n EMAIL = 'EMAIL',\n /** Contact's phone number. */\n PHONE = 'PHONE',\n /** Contact's physical address. */\n ADDRESS = 'ADDRESS',\n /** Contact's birth date. */\n BIRTHDATE = 'BIRTHDATE',\n /** Custom contact field defined by the site owner. */\n CUSTOM_FIELD = 'CUSTOM_FIELD',\n /** Contact's subscription preferences. */\n SUBSCRIPTION = 'SUBSCRIPTION',\n /** Contact's VAT identification number. */\n VAT_ID = 'VAT_ID',\n}\n\n/** @enumType */\nexport type ContactFieldWithLiterals =\n | ContactField\n | 'FIRST_NAME'\n | 'LAST_NAME'\n | 'COMPANY'\n | 'POSITION'\n | 'EMAIL'\n | 'PHONE'\n | 'ADDRESS'\n | 'BIRTHDATE'\n | 'CUSTOM_FIELD'\n | 'SUBSCRIPTION'\n | 'VAT_ID';\n\nexport interface EmailInfo {\n /** Email categorization tag. */\n tag?: EmailInfoTagWithLiterals;\n}\n\nexport interface PhoneInfo {\n /** Phone number categorization tag. */\n tag?: PhoneInfoTagWithLiterals;\n}\n\nexport interface AddressInfo {\n /** Address categorization tag. */\n tag?: TagWithLiterals;\n}\n\nexport interface CustomFieldInfo {\n /**\n * Custom field key.\n * @minLength 1\n * @maxLength 500\n */\n key?: string;\n}\n\nexport interface SubscriptionInfo {\n /**\n * Subscription consent opt-in level, either single or double confirmation.\n * Default: `SINGLE_CONFIRMATION`\n */\n confirmationLevel?: ConfirmationLevelWithLiterals;\n /**\n * Subscription channels.\n * When not specified, defaults to `EMAIL`.\n * @maxSize 2\n */\n subscriptionChannels?: SubscriptionChannelWithLiterals[];\n}\n\nexport interface _String extends _StringComponentTypeOptionsOneOf {\n /** Text input component settings. */\n textInputOptions?: TextInput;\n /** Radio group component settings. */\n radioGroupOptions?: RadioGroup;\n /** Dropdown component settings. */\n dropdownOptions?: Dropdown;\n /** Date and time input component settings. */\n dateTimeOptions?: DateTimeInput;\n /** Phone input component settings. */\n phoneInputOptions?: PhoneInput;\n /** Date input component settings. */\n dateInputOptions?: DateInput;\n /** Time input component settings. */\n timeInputOptions?: TimeInput;\n /** Date picker component settings. */\n datePickerOptions?: DatePicker;\n /** Services dropdown component settings. */\n servicesDropdownOptions?: ServicesDropdown;\n /** Password component settings. */\n passwordOptions?: Password;\n /** Validation configuration for the string input. */\n validation?: StringType;\n /**\n * Component type of the string input field.\n * @readonly\n */\n componentType?: StringComponentTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface _StringComponentTypeOptionsOneOf {\n /** Text input component settings. */\n textInputOptions?: TextInput;\n /** Radio group component settings. */\n radioGroupOptions?: RadioGroup;\n /** Dropdown component settings. */\n dropdownOptions?: Dropdown;\n /** Date and time input component settings. */\n dateTimeOptions?: DateTimeInput;\n /** Phone input component settings. */\n phoneInputOptions?: PhoneInput;\n /** Date input component settings. */\n dateInputOptions?: DateInput;\n /** Time input component settings. */\n timeInputOptions?: TimeInput;\n /** Date picker component settings. */\n datePickerOptions?: DatePicker;\n /** Services dropdown component settings. */\n servicesDropdownOptions?: ServicesDropdown;\n /** Password component settings. */\n passwordOptions?: Password;\n}\n\nexport interface _Number extends _NumberComponentTypeOptionsOneOf {\n /** Number input settings. */\n numberInputOptions?: NumberInput;\n /** Rating input settings. */\n ratingInputOptions?: RatingInput;\n /** Validation configuration for the number input. */\n validation?: NumberType;\n /**\n * Component type of the number input field.\n * @readonly\n */\n componentType?: NumberComponentTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface _NumberComponentTypeOptionsOneOf {\n /** Number input settings. */\n numberInputOptions?: NumberInput;\n /** Rating input settings. */\n ratingInputOptions?: RatingInput;\n}\n\nexport interface _Boolean extends _BooleanComponentTypeOptionsOneOf {\n /** Checkbox component settings. */\n checkboxOptions?: Checkbox;\n /** Validation configuration for the boolean input. */\n validation?: BooleanType;\n /**\n * Component type of the boolean input field.\n * @readonly\n */\n componentType?: BooleanComponentTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface _BooleanComponentTypeOptionsOneOf {\n /** Checkbox component settings. */\n checkboxOptions?: Checkbox;\n}\n\nexport interface _Array extends _ArrayComponentTypeOptionsOneOf {\n /** Checkbox group component settings. */\n checkboxGroupOptions?: CheckboxGroup;\n /** Tags component settings. */\n tagsOptions?: ComponentsTags;\n /** Services checkbox group input field */\n servicesCheckboxGroupOptions?: ServicesCheckboxGroup;\n /** Validation configuration for the array input. */\n validation?: ArrayType;\n /**\n * Component type of the array input field.\n * @readonly\n */\n componentType?: ArrayComponentTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface _ArrayComponentTypeOptionsOneOf {\n /** Checkbox group component settings. */\n checkboxGroupOptions?: CheckboxGroup;\n /** Tags component settings. */\n tagsOptions?: ComponentsTags;\n /** Services checkbox group input field */\n servicesCheckboxGroupOptions?: ServicesCheckboxGroup;\n}\n\nexport interface _Object {\n /** Validation configuration for the object input. */\n validation?: ObjectType;\n}\n\nexport interface WixFile extends WixFileComponentTypeOptionsOneOf {\n /** File upload component settings. */\n fileUploadOptions?: FileUpload;\n /** Signature component settings. */\n signatureOptions?: Signature;\n /**\n * Component type of the file input field.\n * @readonly\n */\n componentType?: WixFileComponentTypeWithLiterals;\n /** Validation configuration for the file input. */\n validation?: FileType;\n}\n\n/** @oneof */\nexport interface WixFileComponentTypeOptionsOneOf {\n /** File upload component settings. */\n fileUploadOptions?: FileUpload;\n /** Signature component settings. */\n signatureOptions?: Signature;\n}\n\nexport interface Payment extends PaymentComponentTypeOptionsOneOf {\n /** Checkbox group component settings. */\n checkboxGroupOptions?: ProductCheckboxGroup;\n /** Donation input component settings. */\n donationInputOptions?: DonationInput;\n /** Payment input component settings. */\n paymentInputOptions?: PaymentInput;\n /** Fixed payment component settings. */\n fixedPaymentOptions?: FixedPayment;\n /**\n * Component type of the payment input field.\n * @readonly\n */\n componentType?: PaymentComponentTypeWithLiterals;\n /** Validation configuration for the payment input. */\n validation?: PaymentType;\n}\n\n/** @oneof */\nexport interface PaymentComponentTypeOptionsOneOf {\n /** Checkbox group component settings. */\n checkboxGroupOptions?: ProductCheckboxGroup;\n /** Donation input component settings. */\n donationInputOptions?: DonationInput;\n /** Payment input component settings. */\n paymentInputOptions?: PaymentInput;\n /** Fixed payment component settings. */\n fixedPaymentOptions?: FixedPayment;\n}\n\nexport interface Scheduling extends SchedulingComponentTypeOptionsOneOf {\n /** Appointment component settings. */\n appointmentOptions?: Appointment;\n /**\n * Component type of the scheduling field.\n * @readonly\n */\n componentType?: SchedulingComponentTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface SchedulingComponentTypeOptionsOneOf {\n /** Appointment component settings. */\n appointmentOptions?: Appointment;\n}\n\nexport interface Address extends AddressComponentTypeOptionsOneOf {\n /** Multiline address component settings. */\n multilineAddressOptions?: MultilineAddress;\n /**\n * Component type of the multiline address field.\n * @readonly\n */\n componentType?: ComponentTypeWithLiterals;\n /** Validation configuration for the multiline address input. */\n validation?: MultilineAddressValidation;\n}\n\n/** @oneof */\nexport interface AddressComponentTypeOptionsOneOf {\n /** Multiline address component settings. */\n multilineAddressOptions?: MultilineAddress;\n}\n\nexport interface ObjectArray extends ObjectArrayComponentTypeOptionsOneOf {\n /** Repeater component settings. */\n repeaterOptions?: Repeater;\n /**\n * Component type of the object array input.\n * @readonly\n */\n componentType?: ObjectArrayComponentTypeWithLiterals;\n /** Validation configuration for the object array input. */\n validation?: ObjectArrayType;\n}\n\n/** @oneof */\nexport interface ObjectArrayComponentTypeOptionsOneOf {\n /** Repeater component settings. */\n repeaterOptions?: Repeater;\n}\n\nexport interface DisplayField extends DisplayFieldDisplayFieldTypeOptionsOneOf {\n /** Configuration for rich content display fields. */\n richContentOptions?: RichContentOptions;\n /** Configuration for page navigation display fields such as navigation or submit buttons. */\n pageNavigationOptions?: PageNavigationOptions;\n /** Type of display field that determines its appearance and behavior. */\n displayFieldType?: DisplayFieldTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface DisplayFieldDisplayFieldTypeOptionsOneOf {\n /** Configuration for rich content display fields. */\n richContentOptions?: RichContentOptions;\n /** Configuration for page navigation display fields such as navigation or submit buttons. */\n pageNavigationOptions?: PageNavigationOptions;\n}\n\nexport enum DisplayFieldType {\n /** Unknown field type. */\n UNKNOWN_FIELD_TYPE = 'UNKNOWN_FIELD_TYPE',\n /** Rich content display field. */\n RICH_CONTENT = 'RICH_CONTENT',\n /** Page navigation display field. */\n PAGE_NAVIGATION = 'PAGE_NAVIGATION',\n /** Login bar display field. */\n LOGIN_BAR = 'LOGIN_BAR',\n}\n\n/** @enumType */\nexport type DisplayFieldTypeWithLiterals =\n | DisplayFieldType\n | 'UNKNOWN_FIELD_TYPE'\n | 'RICH_CONTENT'\n | 'PAGE_NAVIGATION'\n | 'LOGIN_BAR';\n\nexport interface RichContentOptions {\n /** Rich content to display in the field. */\n richContent?: RichContent;\n /**\n * Maximum number of paragraphs to show initially.\n * Additional content is hidden behind an expandable section. If not specified, all content is visible.\n */\n maxShownParagraphs?: number | null;\n}\n\nexport interface PageNavigationOptions {\n /**\n * Text displayed on the button when it navigates to the next page.\n * Only applicable when the button is not on the final form page.\n * @maxLength 65\n */\n nextPageText?: string | null;\n /**\n * Text displayed on the button when it navigates to the previous page.\n * Only applicable when the button is not on the first form page.\n * @maxLength 65\n */\n previousPageText?: string | null;\n /**\n * Text displayed on the button when it submits the form.\n * Only applicable when the button is on the final form page.\n * @maxLength 65\n */\n submitText?: string | null;\n}\n\nexport interface Step {\n /**\n * Step ID.\n * @format GUID\n * @immutable\n */\n _id?: string;\n /**\n * Name of the step.\n * @maxLength 200\n */\n name?: string | null;\n /** Whether the step is hidden. */\n hidden?: boolean;\n /** Layout configuration that defines how form fields are arranged within this step. */\n layout?: FormLayout;\n}\n\nexport interface FormRule {\n /**\n * Rule ID.\n * @format GUID\n * @immutable\n */\n _id?: string;\n /** Condition that determines when this rule's overrides should be applied. */\n condition?: Record<string, any> | null;\n /**\n * Changes to apply to form elements when the condition evaluates to true.\n * @maxSize 500\n */\n overrides?: FormOverride[];\n /**\n * Name for the rule.\n * @maxLength 200\n */\n name?: string | null;\n /**\n * Namespace rules are part of business logic of app owning namespace, have limited editing possibilities\n * @immutable\n */\n namespaceRule?: boolean | null;\n}\n\nexport enum OverrideEntityType {\n /** Unknown override entity type. */\n UNKNOWN = 'UNKNOWN',\n /** Override applies to a form field. */\n FIELD = 'FIELD',\n}\n\n/** @enumType */\nexport type OverrideEntityTypeWithLiterals =\n | OverrideEntityType\n | 'UNKNOWN'\n | 'FIELD';\n\nexport interface FormOverride {\n /**\n * Type of form element that this override targets.\n * @immutable\n */\n entityType?: OverrideEntityTypeWithLiterals;\n /**\n * ID of the form element to modify.\n * For nested form fields, use the format: \"{fieldIdWithNestedForm}/{nestedFormFieldId}\".\n * @immutable\n * @maxLength 73\n */\n entityId?: string | null;\n /**\n * Property changes to apply to the form element when the rule condition is met.\n * Each key represents a property path, and the value is the new value to set.\n */\n valueChanges?: Record<string, any>;\n}\n\nexport interface FormProperties {\n /**\n * Form name.\n * @maxLength 200\n * @deprecated\n * @replacedBy wix.forms.v4.Form.name\n * @targetRemovalDate 2026-01-06\n */\n name?: string | null;\n /**\n * Identifies if the form is disabled.\n * @deprecated Identifies if the form is disabled.\n * @replacedBy wix.forms.v4.Form.enabled\n * @targetRemovalDate 2026-01-06\n */\n disabled?: boolean;\n}\n\nexport enum Kind {\n /** Return forms specific to tenant, excluding template based forms. */\n REGULAR = 'REGULAR',\n /** Return forms based on common templates, with applied user overrides if they exist. */\n EXTENSION = 'EXTENSION',\n}\n\n/** @enumType */\nexport type KindWithLiterals = Kind | 'REGULAR' | 'EXTENSION';\n\nexport interface PostSubmissionTriggers {\n /** Upserts a [contact](https://support.wix.com/en/article/about-your-contact-list) to the Wix site from the form submission data. */\n upsertContact?: UpsertContact;\n}\n\nexport interface UpsertContact {\n /**\n * Fields mapping between the form fields and the contact fields.\n *\n * This is the target form field mapped to the corresponding contact field.\n *\n * The key is the form field ID, and the value is the contact field.\n * @maxSize 250\n */\n fieldsMapping?: Record<string, V4FormFieldContactInfo>;\n /**\n * List of [labels](https://support.wix.com/en/article/creating-contact-labels) to add to the contact to help categorize it.\n * @minLength 1\n * @maxLength 100\n * @maxSize 20\n */\n labels?: string[];\n}\n\nexport interface V4FormFieldContactInfo\n extends V4FormFieldContactInfoAdditionalInfoOneOf {\n /** Email info. */\n emailInfo?: FormFieldContactInfoEmailInfo;\n /** Phone info. */\n phoneInfo?: FormFieldContactInfoPhoneInfo;\n /** Address info. */\n addressInfo?: FormFieldContactInfoAddressInfo;\n /** Custom field info. */\n customFieldInfo?: FormFieldContactInfoCustomFieldInfo;\n /** Subscription info. */\n subscriptionInfo?: FormFieldContactInfoSubscriptionInfo;\n /** The contact field that the form field maps to. */\n contactField?: FormFieldContactInfoContactFieldWithLiterals;\n}\n\n/** @oneof */\nexport interface V4FormFieldContactInfoAdditionalInfoOneOf {\n /** Email info. */\n emailInfo?: FormFieldContactInfoEmailInfo;\n /** Phone info. */\n phoneInfo?: FormFieldContactInfoPhoneInfo;\n /** Address info. */\n addressInfo?: FormFieldContactInfoAddressInfo;\n /** Custom field info. */\n customFieldInfo?: FormFieldContactInfoCustomFieldInfo;\n /** Subscription info. */\n subscriptionInfo?: FormFieldContactInfoSubscriptionInfo;\n}\n\nexport enum FormFieldContactInfoEmailInfoTag {\n /** Email without a specific tag. */\n UNTAGGED = 'UNTAGGED',\n /** Primary email address for the contact. */\n MAIN = 'MAIN',\n}\n\n/** @enumType */\nexport type FormFieldContactInfoEmailInfoTagWithLiterals =\n | FormFieldContactInfoEmailInfoTag\n | 'UNTAGGED'\n | 'MAIN';\n\nexport enum FormFieldContactInfoPhoneInfoTag {\n /** Phone number without a specific tag. */\n UNTAGGED = 'UNTAGGED',\n /** Primary phone number for the contact. */\n MAIN = 'MAIN',\n}\n\n/** @enumType */\nexport type FormFieldContactInfoPhoneInfoTagWithLiterals =\n | FormFieldContactInfoPhoneInfoTag\n | 'UNTAGGED'\n | 'MAIN';\n\nexport enum AddressInfoTag {\n /** Address without a specific tag. */\n UNTAGGED = 'UNTAGGED',\n /** Home address for the contact. */\n HOME = 'HOME',\n}\n\n/** @enumType */\nexport type AddressInfoTagWithLiterals = AddressInfoTag | 'UNTAGGED' | 'HOME';\n\nexport enum SubscriptionInfoOptInLevel {\n /** Unknown opt-in level. */\n UNKNOWN = 'UNKNOWN',\n /** Single confirmation opt-in. The contact is subscribed immediately. */\n SINGLE_CONFIRMATION = 'SINGLE_CONFIRMATION',\n /** Double confirmation opt-in. The contact must confirm their subscription via email. */\n DOUBLE_CONFIRMATION = 'DOUBLE_CONFIRMATION',\n}\n\n/** @enumType */\nexport type SubscriptionInfoOptInLevelWithLiterals =\n | SubscriptionInfoOptInLevel\n | 'UNKNOWN'\n | 'SINGLE_CONFIRMATION'\n | 'DOUBLE_CONFIRMATION';\n\nexport enum FormFieldContactInfoContactField {\n /** First name. */\n FIRST_NAME = 'FIRST_NAME',\n /** CLast name. */\n LAST_NAME = 'LAST_NAME',\n /** Company name. */\n COMPANY = 'COMPANY',\n /** Job position or title. */\n POSITION = 'POSITION',\n /** Email address. */\n EMAIL = 'EMAIL',\n /** Phone number. */\n PHONE = 'PHONE',\n /** Physical address. */\n ADDRESS = 'ADDRESS',\n /** Birth date. */\n BIRTHDATE = 'BIRTHDATE',\n /** Custom field. */\n CUSTOM_FIELD = 'CUSTOM_FIELD',\n /** Subscription status. */\n SUBSCRIPTION = 'SUBSCRIPTION',\n /** VAT identification number. */\n VAT_ID = 'VAT_ID',\n}\n\n/** @enumType */\nexport type FormFieldContactInfoContactFieldWithLiterals =\n | FormFieldContactInfoContactField\n | 'FIRST_NAME'\n | 'LAST_NAME'\n | 'COMPANY'\n | 'POSITION'\n | 'EMAIL'\n | 'PHONE'\n | 'ADDRESS'\n | 'BIRTHDATE'\n | 'CUSTOM_FIELD'\n | 'SUBSCRIPTION'\n | 'VAT_ID';\n\nexport interface FormFieldContactInfoEmailInfo {\n /** Email tag. */\n tag?: FormFieldContactInfoEmailInfoTagWithLiterals;\n}\n\nexport interface FormFieldContactInfoPhoneInfo {\n /** Phone tag. */\n tag?: FormFieldContactInfoPhoneInfoTagWithLiterals;\n}\n\nexport interface FormFieldContactInfoAddressInfo {\n /** Address tag. */\n tag?: AddressInfoTagWithLiterals;\n}\n\nexport interface FormFieldContactInfoCustomFieldInfo {\n /**\n * Custom field key.\n * @minLength 1\n * @maxLength 500\n */\n key?: string;\n}\n\nexport interface FormFieldContactInfoSubscriptionInfo {\n /**\n * Subscription consent opt-in level.\n * Default: `SINGLE_CONFIRMATION`\n */\n optInLevel?: SubscriptionInfoOptInLevelWithLiterals;\n /**\n * Subscription channels.\n * When not specified, defaults to `EMAIL`.\n * @maxSize 2\n */\n subscriptionChannels?: SubscriptionChannelWithLiterals[];\n}\n\nexport interface NestedForm {\n /**\n * Targets which have this form.\n * @maxSize 10\n * @maxLength 200\n */\n targets?: string[];\n /** Nested form. */\n form?: Form;\n}\n\nexport interface LimitationRule {\n /** Limitation by submission count, disables form when a set amount of submissions is reached. */\n maxAllowedSubmissions?: number | null;\n /** Limitation by submission date, disables form when a set date and time is reached. */\n dateTimeDeadline?: Date | null;\n /**\n * Limitation per user submission count, disables form when a set amount of submissions per user is reached.\n * @min 1\n */\n submissionLimitPerUser?: number | null;\n}\n\nexport enum SpamFilterProtectionLevel {\n /** Unknown spam filter protection level. */\n UNKNOWN = 'UNKNOWN',\n /** No spam filtering. All submissions are accepted without screening. */\n NONE = 'NONE',\n /** Basic spam filtering. Provides minimal protection against obvious spam and the form is open to a high risk of spam submissions. */\n BASIC = 'BASIC',\n /** Advanced spam filtering. Provides comprehensive protection with intelligent screening and the form is open to a low risk of spam submissions. */\n ADVANCED = 'ADVANCED',\n}\n\n/** @enumType */\nexport type SpamFilterProtectionLevelWithLiterals =\n | SpamFilterProtectionLevel\n | 'UNKNOWN'\n | 'NONE'\n | 'BASIC'\n | 'ADVANCED';\n\nexport interface RequiredIndicatorProperties {\n /** Type of visual indicator used to mark required fields. */\n requiredIndicator?: RequiredIndicatorWithLiterals;\n /** Position where the required indicator appears relative to the field title. */\n requiredIndicatorPlacement?: RequiredIndicatorPlacementWithLiterals;\n}\n\nexport enum RequiredIndicator {\n /** Display an asterisk (*) symbol to indicate required fields. */\n ASTERISK = 'ASTERISK',\n /** Display the text \"Required\" to indicate required fields. */\n TEXT = 'TEXT',\n /** No visual indicator is shown for required fields. */\n NONE = 'NONE',\n}\n\n/** @enumType */\nexport type RequiredIndicatorWithLiterals =\n | RequiredIndicator\n | 'ASTERISK'\n | 'TEXT'\n | 'NONE';\n\nexport enum RequiredIndicatorPlacement {\n /** Place the required indicator after the field title. */\n AFTER_FIELD_TITLE = 'AFTER_FIELD_TITLE',\n /** Place the required indicator before the field title. */\n BEFORE_FIELD_TITLE = 'BEFORE_FIELD_TITLE',\n}\n\n/** @enumType */\nexport type RequiredIndicatorPlacementWithLiterals =\n | RequiredIndicatorPlacement\n | 'AFTER_FIELD_TITLE'\n | 'BEFORE_FIELD_TITLE';\n\nexport interface SubmitSettings\n extends SubmitSettingsSubmitSuccessActionOptionsOneOf {\n /** Configuration for displaying a thank you message after submission. */\n thankYouMessageOptions?: ThankYouMessageOptions;\n /** Configuration for redirecting submitters to a URL after submission. */\n redirectOptions?: RedirectOptions;\n /** Configuration for displaying a popup after submission. */\n popupOptions?: PopupOptions;\n /** Action that's triggered after a form is successfully submitted. */\n submitSuccessAction?: SubmitSuccessActionWithLiterals;\n}\n\n/** @oneof */\nexport interface SubmitSettingsSubmitSuccessActionOptionsOneOf {\n /** Configuration for displaying a thank you message after submission. */\n thankYouMessageOptions?: ThankYouMessageOptions;\n /** Configuration for redirecting submitters to a URL after submission. */\n redirectOptions?: RedirectOptions;\n /** Configuration for displaying a popup after submission. */\n popupOptions?: PopupOptions;\n}\n\nexport enum Target {\n /** Unknown target behavior. */\n UNKNOWN_TARGET = 'UNKNOWN_TARGET',\n /** Open the URL in the same browser tab, replacing the current page. */\n SELF = 'SELF',\n /** Open the URL in a new browser tab. */\n BLANK = 'BLANK',\n}\n\n/** @enumType */\nexport type TargetWithLiterals = Target | 'UNKNOWN_TARGET' | 'SELF' | 'BLANK';\n\nexport enum SubmitSuccessAction {\n /** No action is taken after form submission. */\n NO_ACTION = 'NO_ACTION',\n /** Display a thank you message after form submission. */\n THANK_YOU_MESSAGE = 'THANK_YOU_MESSAGE',\n /** Redirect the user to a specified URL after form submission. */\n REDIRECT = 'REDIRECT',\n /** Display a popup after form submission. */\n POPUP = 'POPUP',\n}\n\n/** @enumType */\nexport type SubmitSuccessActionWithLiterals =\n | SubmitSuccessAction\n | 'NO_ACTION'\n | 'THANK_YOU_MESSAGE'\n | 'REDIRECT'\n | 'POPUP';\n\nexport interface ThankYouMessageOptions {\n /**\n * Duration in seconds before the thank you message automatically disappears.\n * If set to 0, the message remains visible until manually dismissed.\n */\n durationInSeconds?: number | null;\n /** Rich content message displayed to users after successful form submission. */\n richContent?: RichContent;\n}\n\nexport interface RedirectOptions {\n /**\n * URL to which the user should be redirected after successfully submitting the form.\n * @maxLength 2000\n */\n redirectUrl?: string | null;\n /** How the redirect URL should be opened in the browser. */\n target?: TargetWithLiterals;\n}\n\nexport interface PopupOptions {\n /**\n * ID of the site popup to open after successful form submission.\n * @minLength 1\n * @maxLength 100\n */\n popupId?: string;\n}\n\nexport interface FieldGroup {\n /**\n * Id of group, on layout\n * @format GUID\n */\n _id?: string;\n /**\n * Label of group\n * @maxLength 350\n */\n label?: string | null;\n}\n\nexport interface Rule {\n /**\n * Rule ID.\n * @format GUID\n * @immutable\n */\n _id?: string;\n /**\n * Conditional expression that determines when this rule should be applied.\n * The overrides defined in this rule are applied when this expression evaluates to true.\n */\n expression?: ConditionNode;\n /**\n * Form modifications that are applied when the rule expression evaluates to true.\n * Each override specifies how a form element should be changed.\n * @maxSize 500\n */\n overrides?: RuleFormOverride[];\n /**\n * Human-readable name for the rule.\n * @maxLength 200\n */\n name?: string | null;\n /**\n * Namespace rules are part of business logic of app owning namespace, have limited editing possibilities\n * @immutable\n */\n namespaceRule?: boolean | null;\n}\n\n/** Enum for different types of field properties that can be modified by rules. */\nexport enum ChangeableProperty {\n /** Required property type. */\n REQUIRED = 'REQUIRED',\n /** Hidden property type. */\n HIDDEN = 'HIDDEN',\n /** Allowed values property type. */\n ALLOWED_VALUES = 'ALLOWED_VALUES',\n}\n\n/** @enumType */\nexport type ChangeablePropertyWithLiterals =\n | ChangeableProperty\n | 'REQUIRED'\n | 'HIDDEN'\n | 'ALLOWED_VALUES';\n\nexport interface RequiredOptions {\n /** Whether the field should be required. */\n required?: boolean;\n}\n\nexport interface HiddenOptions {\n /** Whether the field should be hidden. */\n hidden?: boolean;\n}\n\nexport interface AllowedValuesOptions {\n /**\n * List of values that are allowed for the field when this rule is active.\n * Restricts user input to only these predefined options.\n * @maxSize 300\n */\n allowedValues?: any[];\n}\n\nexport enum OverrideEntityTypeEnumOverrideEntityType {\n /** Override applies to a form field. */\n FIELD = 'FIELD',\n}\n\n/** @enumType */\nexport type OverrideEntityTypeEnumOverrideEntityTypeWithLiterals =\n | OverrideEntityTypeEnumOverrideEntityType\n | 'FIELD';\n\nexport interface FieldOverride extends FieldOverridePropertyTypeOptionsOneOf {\n /** Configuration for changing the required property of a field. */\n requiredOptions?: RequiredOptions;\n /** Configuration for changing the visibility property of a field. */\n hiddenOptions?: HiddenOptions;\n /** Configuration for changing the allowed values of a field. */\n allowedValuesOptions?: AllowedValuesOptions;\n /**\n * ID of the field to be modified by this override.\n * @immutable\n * @format GUID\n */\n fieldId?: string;\n /** The new value for the field property that will be set when the rule conditions are met. */\n propertyType?: ChangeablePropertyWithLiterals;\n}\n\n/** @oneof */\nexport interface FieldOverridePropertyTypeOptionsOneOf {\n /** Configuration for changing the required property of a field. */\n requiredOptions?: RequiredOptions;\n /** Configuration for changing the visibility property of a field. */\n hiddenOptions?: HiddenOptions;\n /** Configuration for changing the allowed values of a field. */\n allowedValuesOptions?: AllowedValuesOptions;\n}\n\nexport interface ConditionNode extends ConditionNodeNodeOneOf {\n /** Logical AND condition with 1 or more child conditions. All child conditions must be true. */\n and?: AndCondition;\n /** Logical OR condition with 1 or more child conditions. At least 1 child condition must be true. */\n or?: OrCondition;\n /** Single condition to evaluate. */\n condition?: Condition;\n}\n\n/** @oneof */\nexport interface ConditionNodeNodeOneOf {\n /** Logical AND condition with 1 or more child conditions. All child conditions must be true. */\n and?: AndCondition;\n /** Logical OR condition with 1 or more child conditions. At least 1 child condition must be true. */\n or?: OrCondition;\n /** Single condition to evaluate. */\n condition?: Condition;\n}\n\nexport interface AndCondition {\n /**\n * List of conditions that must all evaluate to true.\n * @minSize 1\n * @maxSize 400\n */\n conditions?: ConditionNode[];\n}\n\nexport interface OrCondition {\n /**\n * List of conditions where at least 1 must evaluate to true.\n * @minSize 1\n * @maxSize 400\n */\n conditions?: ConditionNode[];\n}\n\nexport interface Condition {\n /**\n * Human readable identifier used to reference a field.\n * Supports dot notation for nested properties. For example, `\"address.city\"`.\n * @maxLength 100\n */\n target?: string;\n /** Comparison operator to use for evaluating the condition. */\n operator?: OperatorWithLiterals;\n /** Value to compare against the value in the target field. */\n value?: any;\n}\n\nexport enum Operator {\n /** Specified value equals the value in the target field. */\n EQUAL = 'EQUAL',\n /** Specified value doesn't equal the value in the target field. */\n NOT_EQUAL = 'NOT_EQUAL',\n /** Target field is empty or has no value. */\n EMPTY = 'EMPTY',\n /** Target field isn't empty and has a value. */\n NOT_EMPTY = 'NOT_EMPTY',\n /** String value in the target field contains the specified substring. */\n CONTAINS = 'CONTAINS',\n /** String value in the target field doesn't contain the specified substring. */\n NOT_CONTAINS = 'NOT_CONTAINS',\n /** Numeric value in the target field is less than the specified value. */\n LESS_THAN = 'LESS_THAN',\n /** Numeric value in the target field is less than or equal to the specified value. */\n LESS_THAN_OR_EQUALS = 'LESS_THAN_OR_EQUALS',\n /** Numeric value in the target field is greater than the specified value. */\n GREATER_THAN = 'GREATER_THAN',\n /** Numeric value in the target field is greater than or equal to the specified value. */\n GREATER_THAN_OR_EQUALS = 'GREATER_THAN_OR_EQUALS',\n /** Date value in the target field is before the specified date. */\n BEFORE = 'BEFORE',\n /** Date value in the target field is before or equal to the specified date. */\n BEFORE_OR_EQUAL = 'BEFORE_OR_EQUAL',\n /** Date value in the target field is after the specified date. */\n AFTER = 'AFTER',\n /** Date value in the target field is after or equal to the specified date. */\n AFTER_OR_EQUAL = 'AFTER_OR_EQUAL',\n /** Value in the target field falls within the specified range. */\n BETWEEN = 'BETWEEN',\n /** Value in the target field matches any of the specified values. */\n ANY = 'ANY',\n /** Array value in the target field exactly equals the specified array. */\n ARRAY_EQUAL = 'ARRAY_EQUAL',\n /** Array value in the target field doesn't equal the specified array. */\n ARRAY_NOT_EQUAL = 'ARRAY_NOT_EQUAL',\n /** Checkbox or boolean field value in the target field is checked. */\n CHECKED = 'CHECKED',\n /** Checkbox or boolean field value in the target field isn't checked. */\n NOT_CHECKED = 'NOT_CHECKED',\n /** Value in the target field is included in the specified list. */\n IN = 'IN',\n /** Value in the target field isn't included in the specified list. */\n NOT_IN = 'NOT_IN',\n /** Date value in the target field is older than the specified time period. */\n IS_DATE_OLDER_THAN = 'IS_DATE_OLDER_THAN',\n /** Date value in the target field is older than or equal to the specified time period. */\n IS_DATE_OLDER_THAN_OR_EQUAL = 'IS_DATE_OLDER_THAN_OR_EQUAL',\n /** Date value in the target field is newer than the specified time period. */\n IS_DATE_NEWER_THAN = 'IS_DATE_NEWER_THAN',\n /** Date value in the target field is newer than or equal to the specified time period. */\n IS_DATE_NEWER_THAN_OR_EQUAL = 'IS_DATE_NEWER_THAN_OR_EQUAL',\n}\n\n/** @enumType */\nexport type OperatorWithLiterals =\n | Operator\n | 'EQUAL'\n | 'NOT_EQUAL'\n | 'EMPTY'\n | 'NOT_EMPTY'\n | 'CONTAINS'\n | 'NOT_CONTAINS'\n | 'LESS_THAN'\n | 'LESS_THAN_OR_EQUALS'\n | 'GREATER_THAN'\n | 'GREATER_THAN_OR_EQUALS'\n | 'BEFORE'\n | 'BEFORE_OR_EQUAL'\n | 'AFTER'\n | 'AFTER_OR_EQUAL'\n | 'BETWEEN'\n | 'ANY'\n | 'ARRAY_EQUAL'\n | 'ARRAY_NOT_EQUAL'\n | 'CHECKED'\n | 'NOT_CHECKED'\n | 'IN'\n | 'NOT_IN'\n | 'IS_DATE_OLDER_THAN'\n | 'IS_DATE_OLDER_THAN_OR_EQUAL'\n | 'IS_DATE_NEWER_THAN'\n | 'IS_DATE_NEWER_THAN_OR_EQUAL';\n\nexport interface RuleFormOverride\n extends RuleFormOverrideEntityTypeOptionsOneOf {\n /** Field override settings. */\n fieldOptions?: FieldOverride;\n /**\n * Type of form element being modified by this override.\n * @immutable\n */\n entityType?: OverrideEntityTypeEnumOverrideEntityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface RuleFormOverrideEntityTypeOptionsOneOf {\n /** Field override settings. */\n fieldOptions?: FieldOverride;\n}\n\n/**\n * Common object for tags.\n * Should be use as in this example:\n * message Foo {\n * option (.wix.api.decomposite_of) = \"wix.common.tags.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 */\nexport interface Tags {\n /** Tags that require an additional permission in order to access them, normally not given to site members or visitors. */\n privateTags?: TagsTagList;\n /** Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors. */\n tags?: TagsTagList;\n}\n\nexport interface TagsTagList {\n /**\n * List of tag IDs\n * @maxSize 100\n * @maxLength 5\n */\n tagIds?: string[];\n}\n\nexport interface QuizSettings\n extends QuizSettingsPassingCriteriaOneOf,\n QuizSettingsResultsDisplayOptionsOneOf {\n /** Score required to pass the quiz (in points). */\n passingScorePoints?: number;\n /**\n * Score required to pass the quiz as a percentage (0-100).\n * @max 100\n */\n passingScorePercentage?: number;\n /** Configuration for displaying only the pass/fail message. */\n passingStatusOptions?: PassFailMessages;\n /** Configuration for displaying both the score and pass/fail message. */\n scoreAndPassingStatusOptions?: PassFailMessages;\n /** Confirmation message text. */\n message?: RichContent;\n /**\n * How to display quiz results in the confirmation page.\n * Default: `DO_NOT_DISPLAY`\n */\n resultsDisplay?: ResultsDisplayWithLiterals;\n}\n\n/** @oneof */\nexport interface QuizSettingsPassingCriteriaOneOf {\n /** Score required to pass the quiz (in points). */\n passingScorePoints?: number;\n /**\n * Score required to pass the quiz as a percentage (0-100).\n * @max 100\n */\n passingScorePercentage?: number;\n}\n\n/** @oneof */\nexport interface QuizSettingsResultsDisplayOptionsOneOf {\n /** Configuration for displaying only the pass/fail message. */\n passingStatusOptions?: PassFailMessages;\n /** Configuration for displaying both the score and pass/fail message. */\n scoreAndPassingStatusOptions?: PassFailMessages;\n}\n\nexport enum ResultsDisplay {\n /** Do not show quiz score and passing status. */\n DO_NOT_DISPLAY = 'DO_NOT_DISPLAY',\n /** Display only the user's score. */\n SCORE = 'SCORE',\n /** Display the pass or fail message based on the user's score. */\n PASSING_STATUS = 'PASSING_STATUS',\n /** Display both the score and pass/fail message. */\n SCORE_AND_PASSING_STATUS = 'SCORE_AND_PASSING_STATUS',\n}\n\n/** @enumType */\nexport type ResultsDisplayWithLiterals =\n | ResultsDisplay\n | 'DO_NOT_DISPLAY'\n | 'SCORE'\n | 'PASSING_STATUS'\n | 'SCORE_AND_PASSING_STATUS';\n\nexport interface PassFailMessages {\n /** Message displayed when the user passes the quiz. */\n passMessage?: RichContent;\n /** Message displayed when the user fails the quiz. */\n failMessage?: RichContent;\n}\n\nexport enum ContactAutofill {\n /** Use site member data to autofill contact fields. */\n MEMBER_DATA = 'MEMBER_DATA',\n /** Use form input data to autofill contact fields. */\n FORM_INPUT = 'FORM_INPUT',\n}\n\n/** @enumType */\nexport type ContactAutofillWithLiterals =\n | ContactAutofill\n | 'MEMBER_DATA'\n | 'FORM_INPUT';\n\n/** Controls who can read submissions of this form. */\nexport enum SubmissionAccess {\n /** Unknown submission access. */\n UNKNOWN_SUBMISSION_ACCESS = 'UNKNOWN_SUBMISSION_ACCESS',\n /** Only users with `WIX_FORM.SUBMISSIONS_READ_ANY` permission. Default behavior. */\n OWNER_AND_COLLABORATORS = 'OWNER_AND_COLLABORATORS',\n /** Logged-in site members can read submissions. */\n MEMBERS = 'MEMBERS',\n /** Any site visitor with a valid Wix session can read submissions. */\n PUBLIC = 'PUBLIC',\n}\n\n/** @enumType */\nexport type SubmissionAccessWithLiterals =\n | SubmissionAccess\n | 'UNKNOWN_SUBMISSION_ACCESS'\n | 'OWNER_AND_COLLABORATORS'\n | 'MEMBERS'\n | 'PUBLIC';\n\nexport interface CreateCheckoutFromSubmissionResponse {\n /**\n * Checkout ID (applicable for form involving payments).\n * @format GUID\n */\n checkoutId?: string | null;\n /** Checkout (applicable for form involving payments). */\n checkout?: Checkout;\n}\n\nexport interface Checkout {\n /**\n * Checkout ID.\n * @format GUID\n */\n _id?: string;\n /**\n * The currency used when submitting the order.\n * @format CURRENCY\n * @readonly\n */\n currency?: string;\n}\n\nexport interface IsFormSubmittableRequest {}\n\nexport interface IsFormSubmittableResponse {}\n\nexport interface Empty {}\n\nexport interface UpsertContactFromSubmissionRequest {\n /**\n * Submission from which contact needs to be upserted.\n * @format GUID\n */\n submissionId: string;\n /**\n * Optional contact id to which submission should be mapped.\n * @format GUID\n */\n contactId?: string | null;\n /** Indicates contact has verified primary email. */\n emailVerified?: boolean;\n}\n\nexport interface UpsertContactFromSubmissionResponse {\n /** Submit contact response. */\n submitContactResponse?: SubmitContactResponse;\n}\n\nexport interface SubmitContactResponse {\n /**\n * ID of the contact that was found or created.\n * @format GUID\n */\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?: IdentityTypeWithLiterals;\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\nexport enum IdentityType {\n UNKNOWN = 'UNKNOWN',\n /** Existing or new contact */\n CONTACT = 'CONTACT',\n /** Member is logged in, matching logic skipped */\n MEMBER = 'MEMBER',\n /** Matching contact is a member, Merge logic won't be applied */\n NOT_AUTHENTICATED_MEMBER = 'NOT_AUTHENTICATED_MEMBER',\n}\n\n/** @enumType */\nexport type IdentityTypeWithLiterals =\n | IdentityType\n | 'UNKNOWN'\n | 'CONTACT'\n | 'MEMBER'\n | 'NOT_AUTHENTICATED_MEMBER';\n\nexport interface CreateSubmissionRequest {\n /** Submission to create. */\n submission: FormSubmission;\n /**\n * Captcha token.\n * @minLength 1\n * @maxLength 3000\n */\n captchaToken?: string | null;\n /** Optional metadata passed to SPI implementer, allowing clients to include additional business-specific data. */\n additionalMetadata?: Record<string, any> | null;\n}\n\nexport interface CreateSubmissionResponse {\n /** The created submission. */\n submission?: FormSubmission;\n}\n\nexport interface SubmissionValidationErrorsDetails {\n /**\n * Submission validation errors details.\n * @maxSize 100\n */\n errors?: ValidationError[];\n}\n\nexport interface ValidationError {\n /**\n * Path indicating the source of the error, such as `submission.submissions.email`\n * @maxLength 1000\n */\n errorPath?: string;\n /** Error type. */\n errorType?: ErrorTypeWithLiterals;\n /**\n * Error message.\n * @maxLength 1000\n */\n errorMessage?: string;\n /** Additional error parameters, to help identify additional info. */\n params?: Record<string, any> | null;\n /**\n * Whether to use a custom error message.\n * If `false`, the API takes the message from the `errorType` field.\n * Default: `false`\n */\n useCustomErrorMessage?: boolean;\n}\n\nexport enum ErrorType {\n /** Error is unknown or not suitable for any of options bellow */\n UNKNOWN_ERROR = 'UNKNOWN_ERROR',\n /** Type of submitted value is incorrect */\n TYPE_ERROR = 'TYPE_ERROR',\n /** Value is required to be provided */\n REQUIRED_VALUE_ERROR = 'REQUIRED_VALUE_ERROR',\n /** Value contains additional properties not expected in schema */\n UNKNOWN_VALUE_ERROR = 'UNKNOWN_VALUE_ERROR',\n /** Text value exceeds max length */\n MAX_LENGTH_ERROR = 'MAX_LENGTH_ERROR',\n /** Text value not reaches min length */\n MIN_LENGTH_ERROR = 'MIN_LENGTH_ERROR',\n /** Text value not applicable for expected pattern */\n PATTERN_ERROR = 'PATTERN_ERROR',\n /** Text value not applicable for expected format */\n FORMAT_ERROR = 'FORMAT_ERROR',\n /** Number value is too big */\n MAX_VALUE_ERROR = 'MAX_VALUE_ERROR',\n /** Number value is too small */\n MIN_VALUE_ERROR = 'MIN_VALUE_ERROR',\n /** Number value is not multiple of expected number */\n MULTIPLE_OF_VALUE_ERROR = 'MULTIPLE_OF_VALUE_ERROR',\n /** Array value has too much items */\n MIN_ITEMS_ERROR = 'MIN_ITEMS_ERROR',\n /** Array value has not enough items */\n MAX_ITEMS_ERROR = 'MAX_ITEMS_ERROR',\n /** Value is not in list of allowed values */\n NOT_ALLOWED_VALUE_ERROR = 'NOT_ALLOWED_VALUE_ERROR',\n /** Form fields are incompatible */\n FIELDS_COMPATIBILITY_ERROR = 'FIELDS_COMPATIBILITY_ERROR',\n /** Submitted form is disabled */\n DISABLED_FORM_ERROR = 'DISABLED_FORM_ERROR',\n /** Too much forms */\n FORMS_COUNT_RESTRICTIONS_ERROR = 'FORMS_COUNT_RESTRICTIONS_ERROR',\n /** Too much fields on form */\n FIELDS_COUNT_RESTRICTIONS_ERROR = 'FIELDS_COUNT_RESTRICTIONS_ERROR',\n /** Too much steps on forms */\n STEPS_COUNT_RESTRICTIONS_ERROR = 'STEPS_COUNT_RESTRICTIONS_ERROR',\n /** Too much rules on forms */\n RULES_COUNT_RESTRICTIONS_ERROR = 'RULES_COUNT_RESTRICTIONS_ERROR',\n /** File upload is not allowed */\n FILE_UPLOAD_RESTRICTIONS_ERROR = 'FILE_UPLOAD_RESTRICTIONS_ERROR',\n /** Country code is not correct or missing from the phone number */\n INVALID_PHONE_COUNTRY_CODE_ERROR = 'INVALID_PHONE_COUNTRY_CODE_ERROR',\n /** Invalid staff member ID on appointment */\n INVALID_STAFF_ID_ERROR = 'INVALID_STAFF_ID_ERROR',\n /** Invalid business location ID on appointment */\n INVALID_LOCATION_ID_ERROR = 'INVALID_LOCATION_ID_ERROR',\n /** Missing service option on service picker field */\n MISSING_SERVICE_OPTION_ERROR = 'MISSING_SERVICE_OPTION_ERROR',\n /** Some of the service options on service picker field are deleted or unavailable */\n INVALID_SERVICE_OPTIONS_ERROR = 'INVALID_SERVICE_OPTIONS_ERROR',\n /** All of the service options on service picker field are deleted or unavailable */\n NO_AVAILABLE_SERVICE_OPTIONS_ERROR = 'NO_AVAILABLE_SERVICE_OPTIONS_ERROR',\n /** Text value does not match the exact required length */\n EXACT_CHARACTER_LENGTH_ERROR = 'EXACT_CHARACTER_LENGTH_ERROR',\n /** Character count is not within the required range */\n CHARACTER_LENGTH_RANGE_ERROR = 'CHARACTER_LENGTH_RANGE_ERROR',\n /** Number is not within the required range */\n VALUE_RANGE_ERROR = 'VALUE_RANGE_ERROR',\n /** Field not have the exact number of options selected */\n EXACT_ITEMS_NUMBER_ERROR = 'EXACT_ITEMS_NUMBER_ERROR',\n /** Number has incorrect number of decimal places */\n DECIMAL_POINT_ERROR = 'DECIMAL_POINT_ERROR',\n /** Date value is incomplete or missing required parts */\n INCOMPLETE_DATE_ERROR = 'INCOMPLETE_DATE_ERROR',\n /** Value does not match the required pattern format */\n INVALID_VALUE_FOR_PATTERN_ERROR = 'INVALID_VALUE_FOR_PATTERN_ERROR',\n /** Default value does not pass form field validation */\n INVALID_DEFAULT_VALUE_ERROR = 'INVALID_DEFAULT_VALUE_ERROR',\n /** Form cannot be re-enabled while it still violates premium enforcement. */\n ENFORCEMENT_RE_ENABLE_BLOCKED_ERROR = 'ENFORCEMENT_RE_ENABLE_BLOCKED_ERROR',\n}\n\n/** @enumType */\nexport type ErrorTypeWithLiterals =\n | ErrorType\n | 'UNKNOWN_ERROR'\n | 'TYPE_ERROR'\n | 'REQUIRED_VALUE_ERROR'\n | 'UNKNOWN_VALUE_ERROR'\n | 'MAX_LENGTH_ERROR'\n | 'MIN_LENGTH_ERROR'\n | 'PATTERN_ERROR'\n | 'FORMAT_ERROR'\n | 'MAX_VALUE_ERROR'\n | 'MIN_VALUE_ERROR'\n | 'MULTIPLE_OF_VALUE_ERROR'\n | 'MIN_ITEMS_ERROR'\n | 'MAX_ITEMS_ERROR'\n | 'NOT_ALLOWED_VALUE_ERROR'\n | 'FIELDS_COMPATIBILITY_ERROR'\n | 'DISABLED_FORM_ERROR'\n | 'FORMS_COUNT_RESTRICTIONS_ERROR'\n | 'FIELDS_COUNT_RESTRICTIONS_ERROR'\n | 'STEPS_COUNT_RESTRICTIONS_ERROR'\n | 'RULES_COUNT_RESTRICTIONS_ERROR'\n | 'FILE_UPLOAD_RESTRICTIONS_ERROR'\n | 'INVALID_PHONE_COUNTRY_CODE_ERROR'\n | 'INVALID_STAFF_ID_ERROR'\n | 'INVALID_LOCATION_ID_ERROR'\n | 'MISSING_SERVICE_OPTION_ERROR'\n | 'INVALID_SERVICE_OPTIONS_ERROR'\n | 'NO_AVAILABLE_SERVICE_OPTIONS_ERROR'\n | 'EXACT_CHARACTER_LENGTH_ERROR'\n | 'CHARACTER_LENGTH_RANGE_ERROR'\n | 'VALUE_RANGE_ERROR'\n | 'EXACT_ITEMS_NUMBER_ERROR'\n | 'DECIMAL_POINT_ERROR'\n | 'INCOMPLETE_DATE_ERROR'\n | 'INVALID_VALUE_FOR_PATTERN_ERROR'\n | 'INVALID_DEFAULT_VALUE_ERROR'\n | 'ENFORCEMENT_RE_ENABLE_BLOCKED_ERROR';\n\nexport 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\nexport interface CreateSubmissionBySubmitterResponse {\n /** The created submission. */\n submission?: FormSubmission;\n}\n\nexport interface BulkCreateSubmissionBySubmitterRequest {\n /**\n * Form id. Restricts submissions creation for a single form.\n * @format GUID\n */\n formId?: string;\n /**\n * Submissions to create.\n * Deprecated\n * @maxSize 100\n */\n submissions?: FormSubmission[];\n /** When set, items will be returned on successful create. */\n returnEntity?: boolean;\n /**\n * Submissions data to create.\n * @maxSize 100\n */\n submissionsV2?: BulkCreateSubmissionBySubmitterData[];\n /** Validation will be mode is more forgiving, for example \"required\" won't be validated. */\n lenientValidation?: boolean;\n}\n\nexport 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\nexport interface BulkCreateSubmissionBySubmitterResponse {\n /** Created submissions with metadata */\n results?: BulkSubmissionResult[];\n /** Metadata of request */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkSubmissionResult {\n /** Created submission metadata */\n itemMetadata?: ItemMetadata;\n /** The created submission. */\n item?: FormSubmission;\n}\n\nexport interface ItemMetadata {\n /**\n * Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\n * @format GUID\n */\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\nexport 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\nexport 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\nexport interface GetSubmissionRequest {\n /**\n * ID of the submission to retrieve.\n * @format GUID\n */\n submissionId: string;\n}\n\nexport interface GetSubmissionResponse {\n /** The retrieved submission. */\n submission?: FormSubmission;\n}\n\nexport interface GetSubmissionByCheckoutIdRequest {\n /**\n * Checkout ID of the submission to retrieve.\n * @format GUID\n */\n checkoutId?: string;\n}\n\nexport interface GetSubmissionByCheckoutIdResponse {\n /** The retrieved submission. */\n submission?: FormSubmission;\n}\n\nexport interface UpdateSubmissionRequest {\n /** Submission to update. */\n submission: FormSubmission;\n}\n\nexport interface UpdateSubmissionResponse {\n /** The updated submission. */\n submission?: FormSubmission;\n}\n\nexport interface ConfirmSubmissionRequest {\n /**\n * Submission ID to confirm.\n * @format GUID\n */\n submissionId: string;\n}\n\nexport interface ConfirmSubmissionResponse {\n /** The confirmed submission. */\n submission?: FormSubmission;\n}\n\nexport interface DeleteSubmissionRequest {\n /**\n * ID of the submission to delete.\n * @format GUID\n */\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\nexport interface DeleteSubmissionResponse {}\n\nexport interface BulkDeleteSubmissionRequest {\n /**\n * Form ID.\n * @format GUID\n */\n formId: string;\n /**\n * Submission ids.\n * @minSize 1\n * @maxSize 100\n * @format GUID\n */\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\nexport interface BulkDeleteSubmissionResponse {\n /**\n * Results of bulk submission delete\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkDeleteSubmissionResult[];\n /** Metadata of request */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkDeleteSubmissionResult {\n /** Deleted item metadata */\n itemMetadata?: ItemMetadata;\n}\n\nexport interface RestoreSubmissionFromTrashBinRequest {\n /**\n * ID of the submission to restore.\n * @format GUID\n */\n submissionId: string;\n}\n\nexport interface RestoreSubmissionFromTrashBinResponse {\n /** The restored submission. */\n submission?: FormSubmission;\n}\n\nexport interface RemoveSubmissionFromTrashBinRequest {\n /**\n * ID of the submission to restore.\n * @format GUID\n */\n submissionId: string;\n}\n\nexport interface RemoveSubmissionFromTrashBinResponse {}\n\nexport interface BulkRemoveSubmissionFromTrashBinRequest {\n /**\n * Form ID.\n * @format GUID\n */\n formId: string;\n /**\n * Submission ids.\n * @minSize 1\n * @maxSize 100\n * @format GUID\n */\n submissionIds?: string[];\n}\n\nexport interface BulkRemoveSubmissionFromTrashBinResponse {\n /**\n * Results of bulk submission removal from trash\n * @maxSize 100\n */\n results?: BulkRemoveSubmissionFromTrashBinResult[];\n /** Metadata of request */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkRemoveSubmissionFromTrashBinResult {\n /** Deleted item metadata */\n itemMetadata?: ItemMetadata;\n}\n\nexport interface ListDeletedSubmissionsRequest {\n /**\n * Form ID.\n * @format GUID\n */\n formId: string;\n /**\n * Submission ids.\n * @maxSize 10\n * @format GUID\n */\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 * @maxSize 4\n */\n statuses?: SubmissionStatusWithLiterals[];\n}\n\nexport interface CursorPaging {\n /**\n * Number of items to load.\n * @max 100\n */\n limit?: number | null;\n /**\n * Pointer to the next or previous page in the list of results.\n *\n * You can get the relevant cursor token\n * from the `pagingMetadata` object in the previous call's response.\n * Not relevant for the first request.\n * @maxLength 16000\n */\n cursor?: string | null;\n}\n\nexport interface ListDeletedSubmissionsResponse {\n /** The retrieved Submissions. */\n submissions?: FormSubmission[];\n /** Paging metadata. */\n pagingMetadata?: CursorPagingMetadata;\n}\n\nexport 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\nexport interface Cursors {\n /**\n * Cursor pointing to next page in the list of results.\n * @maxLength 16000\n */\n next?: string | null;\n /**\n * Cursor pointing to previous page in the list of results.\n * @maxLength 16000\n */\n prev?: string | null;\n}\n\nexport interface GetDeletedSubmissionRequest {\n /**\n * Submission id.\n * @format GUID\n */\n submissionId: string;\n}\n\nexport interface GetDeletedSubmissionResponse {\n /** The retrieved Submission. */\n submission?: FormSubmission;\n}\n\nexport 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\nexport 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 * @maxSize 3\n */\n sort?: Sorting[];\n}\n\n/** @oneof */\nexport 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\nexport interface Sorting {\n /**\n * Name of the field to sort by.\n * @maxLength 512\n */\n fieldName?: string;\n /** Sort order. */\n order?: SortOrderWithLiterals;\n}\n\nexport enum SortOrder {\n ASC = 'ASC',\n DESC = 'DESC',\n}\n\n/** @enumType */\nexport type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';\n\nexport interface QuerySubmissionResponse {\n /** The retrieved submissions. */\n submissions?: FormSubmission[];\n /** Paging metadata. */\n metadata?: CursorPagingMetadata;\n}\n\nexport interface SearchSubmissionsByNamespaceRequest {\n /** Query options. */\n search: CursorSearch;\n}\n\nexport 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 /**\n * Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]\n * @maxSize 10\n */\n sort?: Sorting[];\n /** Free text to match in searchable fields */\n search?: SearchDetails;\n}\n\n/** @oneof */\nexport 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\nexport interface SearchDetails {\n /** Defines how separate search terms in `expression` are combined */\n mode?: ModeWithLiterals;\n /**\n * Search term or expression\n * @maxLength 100\n */\n expression?: string | null;\n /** Flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm) */\n fuzzy?: boolean;\n}\n\nexport 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\n/** @enumType */\nexport type ModeWithLiterals = Mode | 'OR' | 'AND';\n\nexport interface SearchSubmissionsByNamespaceResponse {\n /** The retrieved Submissions. */\n submissions?: FormSubmission[];\n /** Paging metadata. */\n metadata?: CursorPagingMetadata;\n}\n\nexport interface SearchSubmissionsByNamespaceForExportRequest {\n /** Query options. */\n query?: CursorQuery;\n}\n\nexport interface SearchSubmissionsByNamespaceForExportResponse {\n /** The retrieved Submissions. */\n submissions?: FormSubmission[];\n /** Paging metadata. */\n metadata?: CursorPagingMetadata;\n}\n\nexport 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\nexport interface QuerySubmissionsByNamespaceResponse {\n /** The retrieved Submissions. */\n submissions?: FormSubmission[];\n /** Paging metadata. */\n metadata?: CursorPagingMetadata;\n}\n\nexport interface QuerySubmissionsByNamespaceForExportRequest {\n /** Query options. */\n query?: CursorQuery;\n}\n\nexport interface QuerySubmissionsByNamespaceForExportResponse {\n /** The retrieved Submissions. */\n submissions?: FormSubmission[];\n /** Paging metadata. */\n metadata?: CursorPagingMetadata;\n}\n\nexport 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\nexport interface CountSubmissionsByFilterResponse {\n /** Forms submission count. */\n formsSubmissionsCount?: FormSubmissionsCount[];\n}\n\nexport interface FormSubmissionsCount {\n /**\n * Form ID.\n * @format GUID\n */\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\nexport interface CountSubmissionsRequest {\n /**\n * Form IDs which submissions should be counted.\n * @format GUID\n * @minSize 1\n * @maxSize 100\n */\n formIds: 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 `getSubmission()` to retrieve the namespace.\n * @minLength 10\n * @maxLength 50\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 * @maxSize 4\n */\n statuses?: SubmissionStatusWithLiterals[];\n}\n\nexport interface CountSubmissionsResponse {\n /** Forms submission count. */\n formsSubmissionsCount?: FormSubmissionsCount[];\n}\n\nexport interface CountDeletedSubmissionsRequest {\n /**\n * Form IDs.\n * @format GUID\n * @minSize 1\n * @maxSize 100\n */\n formIds: string[];\n /**\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 * @minLength 10\n * @maxLength 50\n */\n namespace: string;\n /**\n * List of statuses of submissions which should be taken into count\n * Default: CONFIRMED, PAYMENT_WAITING, PAYMENT_CANCELED\n * @maxSize 4\n */\n statuses?: SubmissionStatusWithLiterals[];\n}\n\nexport interface CountDeletedSubmissionsResponse {\n /** Forms submission count. */\n formsDeletedSubmissionsCount?: FormDeletedSubmissionsCount[];\n}\n\nexport interface FormDeletedSubmissionsCount {\n /**\n * Form ID.\n * @format GUID\n */\n formId?: string;\n /** Total number of submissions. */\n totalCount?: number;\n}\n\nexport interface GetMediaUploadURLRequest {\n /**\n * Form ID.\n * @format GUID\n */\n formId: string;\n /**\n * Name of file to upload.\n * @maxLength 300\n */\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 * @maxLength 100\n */\n mimeType: string;\n}\n\nexport interface GetMediaUploadURLResponse {\n /**\n * Url to upload file.\n * @maxLength 500\n */\n uploadUrl?: string;\n}\n\nexport interface BulkMarkSubmissionsAsSeenRequest {\n /**\n * Submission IDs to mark as seen.\n * @format GUID\n * @maxSize 100\n */\n ids?: string[];\n /**\n * ID of the form which the submissions belong to.\n * @format GUID\n */\n formId: string;\n}\n\nexport interface BulkMarkSubmissionsAsSeenResponse {\n /**\n * Job id for the bulk update operation\n * @format GUID\n */\n jobId?: string;\n}\n\nexport interface GetSubmissionDownloadUrlRequest {\n /**\n * Submission ID.\n * @format GUID\n */\n submissionId: string;\n}\n\nexport interface GetSubmissionDownloadUrlResponse {\n /** The retrieved submission document. */\n document?: SubmissionDocument;\n}\n\nexport interface SubmissionDocument extends SubmissionDocumentDocumentOneOf {\n /** Data of ready to download document */\n readyDetails?: DocumentReady;\n /**\n * Document ID.\n * @readonly\n * @maxLength 50\n */\n _id?: string | null;\n /** Document status. */\n status?: StatusWithLiterals;\n}\n\n/** @oneof */\nexport interface SubmissionDocumentDocumentOneOf {\n /** Data of ready to download document */\n readyDetails?: DocumentReady;\n}\n\nexport enum Status {\n UNKNOWN_STATUS = 'UNKNOWN_STATUS',\n READY = 'READY',\n PENDING = 'PENDING',\n FAILED = 'FAILED',\n}\n\n/** @enumType */\nexport type StatusWithLiterals =\n | Status\n | 'UNKNOWN_STATUS'\n | 'READY'\n | 'PENDING'\n | 'FAILED';\n\nexport interface DocumentReady {\n /**\n * Document download URL.\n * @readonly\n * @maxLength 300\n */\n downloadUrl?: string;\n}\n\nexport interface DownloadSubmissionRequest {\n /**\n * Submission id for which the document is generated.\n * @format GUID\n */\n submissionId: string;\n /**\n * Access token to download the document.\n * @maxLength 10000\n */\n accessToken: string;\n}\n\nexport interface RawHttpResponse {\n body?: Uint8Array;\n statusCode?: number | null;\n headers?: HeadersEntry[];\n}\n\nexport interface HeadersEntry {\n key?: string;\n value?: string;\n}\n\nexport interface GetFormattedSubmissionRequest {\n /**\n * Submission ID.\n * @format GUID\n */\n submissionId: string;\n}\n\nexport interface GetFormattedSubmissionResponse {\n /**\n * Submission ID.\n * @format GUID\n */\n submissionId?: string;\n /**\n * Ordered by form layout list of field submissions.\n * @maxSize 100\n */\n submissions?: FormattedSubmission[];\n}\n\nexport interface FormattedSubmission {\n /**\n * Label of form field\n * @maxLength 500\n */\n label?: string | null;\n /**\n * Key of the submission, and target of a form field\n * @maxLength 200\n */\n key?: string;\n /**\n * Value of the submission, formatted as a string\n * @maxLength 500\n */\n value?: string;\n /**\n * Id of the form field\n * @format GUID\n */\n fieldId?: string;\n}\n\nexport interface ListFormattedSubmissionsRequest {\n /**\n * Namespace.\n * @minLength 10\n * @maxLength 50\n */\n namespace?: string;\n /**\n * Submission IDs.\n * @format GUID\n * @minSize 1\n * @maxSize 100\n */\n submissionIds?: string[];\n /**\n * Optional additional filter of form IDs.\n * @format GUID\n * @maxSize 100\n */\n formIds?: string[];\n}\n\nexport interface ListFormattedSubmissionsResponse {\n /**\n * List of formatted submissions\n * @maxSize 100\n */\n formattedFormSubmissions?: FormattedFormSubmission[];\n}\n\nexport interface FormattedFormSubmission {\n /**\n * Submission ID.\n * @format GUID\n */\n submissionId?: string;\n /**\n * Ordered by form layout list of field submissions.\n * @maxSize 100\n */\n submissions?: FormattedSubmission[];\n /**\n * Name of the submitted form\n * @maxLength 200\n */\n formName?: string;\n}\n\nexport 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\nexport interface UpdateExtendedFieldsResponse {\n /**\n * namespace that was updated\n * @minLength 10\n * @maxLength 50\n */\n namespace?: string;\n /** only data from UpdateExtendedFieldsRequest namespace_data */\n namespaceData?: Record<string, any> | null;\n}\n\nexport interface BulkUpdateFormSubmissionTagsRequest {\n /**\n * Submission IDs to update tags for.\n * @format GUID\n * @minSize 1\n * @maxSize 100\n */\n submissionIds: string[];\n /** Tags to be added to submissions */\n assignTags?: PublicTags;\n /** Tags to be removed from submissions */\n unassignTags?: PublicTags;\n}\n\nexport interface BulkUpdateFormSubmissionTagsResponse {\n /**\n * Updated submissions with results\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkUpdateFormSubmissionTagsResult[];\n /** Metadata of request */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkUpdateFormSubmissionTagsResult {\n /** Updated item metadata */\n itemMetadata?: ItemMetadata;\n}\n\nexport interface BulkUpdateFormSubmissionTagsByFilterRequest {\n /** Filter to select the submission to update */\n filter: Record<string, any> | null;\n /** Tags to be added to submissions */\n assignTags?: PublicTags;\n /** Tags to be removed from submissions */\n unassignTags?: PublicTags;\n}\n\nexport interface BulkUpdateFormSubmissionTagsByFilterResponse {\n /**\n * Job id for the bulk update operation\n * @format GUID\n */\n jobId?: string;\n}\n\nexport interface ValidateFormSubmissionRequest {\n /** Submission to validate. */\n submission: FormSubmission;\n /** Optional metadata passed to SPI implementer, allowing clients to include additional business-specific data. */\n additionalMetadata?: Record<string, any> | null;\n /**\n * List of field targets/keys to validate, in case when only several fields should to be validated.\n * If empty, all form fields be validated\n * @maxSize 200\n * @maxLength 200\n */\n fieldsToValidate?: string[];\n}\n\nexport interface ValidateFormSubmissionResponse {\n /**\n * Flag indicating if the submission is valid\n * Default: true\n */\n valid?: boolean | null;\n /**\n * Submission validation violations\n * @maxSize 100\n */\n violationErrors?: FieldViolation[];\n}\n\nexport interface FieldViolation extends FieldViolationErrorDataOneOf {\n /** Validation errors */\n submissionValidationErrors?: SubmissionValidationErrors;\n /**\n * Name of violated entity\n * @maxLength 50\n */\n name?: string;\n /**\n * Description of the error\n * @maxLength 512\n */\n description?: string;\n /**\n * Rule name\n * @maxLength 50\n */\n ruleName?: string;\n}\n\n/** @oneof */\nexport interface FieldViolationErrorDataOneOf {\n /** Validation errors */\n submissionValidationErrors?: SubmissionValidationErrors;\n}\n\nexport interface SubmissionValidationErrors {\n /**\n * Submission validation errors.\n * @maxSize 100\n */\n errors?: SubmissionValidationError[];\n}\n\nexport interface SubmissionValidationError\n extends SubmissionValidationErrorErrorMessageOneOf {\n /** Predefined error type. */\n errorType?: SubmissionErrorTypeWithLiterals;\n /**\n * Custom error message. The message is displayed instead of an error type.\n * @maxLength 500\n */\n customErrorMessage?: string;\n /**\n * Path indicating the source of the error, such as `form.fields.target`.\n * @maxLength 500\n */\n errorPath?: string;\n /** Additional error parameters. */\n params?: Record<string, any> | null;\n}\n\n/** @oneof */\nexport interface SubmissionValidationErrorErrorMessageOneOf {\n /** Predefined error type. */\n errorType?: SubmissionErrorTypeWithLiterals;\n /**\n * Custom error message. The message is displayed instead of an error type.\n * @maxLength 500\n */\n customErrorMessage?: string;\n}\n\nexport enum SubmissionErrorType {\n /** Error is unknown or unsuitable for any of the options below. */\n UNKNOWN_ERROR = 'UNKNOWN_ERROR',\n /** Type of submitted value is incorrect. */\n TYPE_ERROR = 'TYPE_ERROR',\n /** Value is required to be provided. */\n REQUIRED_VALUE_ERROR = 'REQUIRED_VALUE_ERROR',\n /** Value contains additional properties not expected in schema. */\n UNKNOWN_VALUE_ERROR = 'UNKNOWN_VALUE_ERROR',\n /** Text value exceeds max length. */\n MAX_LENGTH_ERROR = 'MAX_LENGTH_ERROR',\n /** Text value does not reach min length. */\n MIN_LENGTH_ERROR = 'MIN_LENGTH_ERROR',\n /** Text value is not applicable for expected pattern. */\n PATTERN_ERROR = 'PATTERN_ERROR',\n /** Text value is not applicable for expected format. */\n FORMAT_ERROR = 'FORMAT_ERROR',\n /** Number value is too big. */\n MAX_VALUE_ERROR = 'MAX_VALUE_ERROR',\n /** Number value is too small. */\n MIN_VALUE_ERROR = 'MIN_VALUE_ERROR',\n /** Number value is not a multiple of expected number. */\n MULTIPLE_OF_VALUE_ERROR = 'MULTIPLE_OF_VALUE_ERROR',\n /** Array value has too many items. */\n MIN_ITEMS_ERROR = 'MIN_ITEMS_ERROR',\n /** Array value has not enough items. */\n MAX_ITEMS_ERROR = 'MAX_ITEMS_ERROR',\n /** Value is not in the list of allowed values. */\n NOT_ALLOWED_VALUE_ERROR = 'NOT_ALLOWED_VALUE_ERROR',\n /** Submitted form is disabled. */\n DISABLED_FORM_ERROR = 'DISABLED_FORM_ERROR',\n}\n\n/** @enumType */\nexport type SubmissionErrorTypeWithLiterals =\n | SubmissionErrorType\n | 'UNKNOWN_ERROR'\n | 'TYPE_ERROR'\n | 'REQUIRED_VALUE_ERROR'\n | 'UNKNOWN_VALUE_ERROR'\n | 'MAX_LENGTH_ERROR'\n | 'MIN_LENGTH_ERROR'\n | 'PATTERN_ERROR'\n | 'FORMAT_ERROR'\n | 'MAX_VALUE_ERROR'\n | 'MIN_VALUE_ERROR'\n | 'MULTIPLE_OF_VALUE_ERROR'\n | 'MIN_ITEMS_ERROR'\n | 'MAX_ITEMS_ERROR'\n | 'NOT_ALLOWED_VALUE_ERROR'\n | 'DISABLED_FORM_ERROR';\n/** @docsIgnore */\nexport type CreateSubmissionApplicationErrors =\n | {\n code?: 'INVALID_CAPTCHA';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'SITE_IS_A_TEMPLATE';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'FORM_NOT_FOUND';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'FORM_RETRIEVAL_ERROR';\n description?: string;\n data?: Record<string, any>;\n };\n/** @docsIgnore */\nexport type CreateSubmissionValidationErrors = {\n ruleName?: 'SUBMISSION_VALIDATION';\n};\n/** @docsIgnore */\nexport type UpdateSubmissionValidationErrors = {\n ruleName?: 'SUBMISSION_VALIDATION';\n};\n\nexport interface BaseEventMetadata {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface EventMetadata extends BaseEventMetadata {\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [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 that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n accountInfo?: AccountInfoMetadata;\n}\n\nexport interface AccountInfoMetadata {\n /** ID of the Wix account associated with the event */\n accountId: string;\n /** ID of the Wix site associated with the event. Only included when the event is tied to a specific site. */\n siteId?: string;\n /** ID of the parent Wix account. Only included when 'accountId' belongs to a child account. */\n parentAccountId?: string;\n}\n\nexport interface SubmissionCreatedEnvelope {\n entity: FormSubmission;\n metadata: EventMetadata;\n}\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 * Triggered when a submission is created.\n * @permissionScope Manage Submissions\n * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n * @permissionScope Manage form submissions.\n * @permissionScopeId SCOPE.FORMS.MANAGE-SUBMISSIONS\n * @permissionScope Read Orders\n * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-ORDERS\n * @permissionScope Manage plans and orders of Pricing Plans\n * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-PLANS-AND-ORDERS\n * @permissionScope Read Submissions\n * @permissionScopeId SCOPE.DC-FORMS.READ-SUBMISSIONS\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @webhook\n * @eventType wix.forms.v4.submission_created\n * @slug created\n */\nexport declare function onSubmissionCreated(\n handler: (event: SubmissionCreatedEnvelope) => void | Promise<void>\n): void;\n\nexport interface SubmissionDeletedEnvelope {\n entity: FormSubmission;\n metadata: EventMetadata;\n}\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 * Triggered when a submission is deleted.\n * @permissionScope Manage Submissions\n * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n * @permissionScope Manage form submissions.\n * @permissionScopeId SCOPE.FORMS.MANAGE-SUBMISSIONS\n * @permissionScope Read Orders\n * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-ORDERS\n * @permissionScope Manage plans and orders of Pricing Plans\n * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-PLANS-AND-ORDERS\n * @permissionScope Read Submissions\n * @permissionScopeId SCOPE.DC-FORMS.READ-SUBMISSIONS\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @webhook\n * @eventType wix.forms.v4.submission_deleted\n * @slug deleted\n */\nexport declare function onSubmissionDeleted(\n handler: (event: SubmissionDeletedEnvelope) => void | Promise<void>\n): void;\n\nexport interface SubmissionRemovedSubmissionFromTrashEnvelope {\n data: RemovedSubmissionFromTrash;\n metadata: EventMetadata;\n}\n\n/** @permissionScope Manage Submissions\n * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n * @permissionScope Manage form submissions.\n * @permissionScopeId SCOPE.FORMS.MANAGE-SUBMISSIONS\n * @permissionScope Read Orders\n * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-ORDERS\n * @permissionScope Manage plans and orders of Pricing Plans\n * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-PLANS-AND-ORDERS\n * @permissionScope Read Submissions\n * @permissionScopeId SCOPE.DC-FORMS.READ-SUBMISSIONS\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @webhook\n * @eventType wix.forms.v4.submission_removed_submission_from_trash\n * @slug removed_submission_from_trash\n */\nexport declare function onSubmissionRemovedSubmissionFromTrash(\n handler: (\n event: SubmissionRemovedSubmissionFromTrashEnvelope\n ) => void | Promise<void>\n): void;\n\nexport interface SubmissionStatusUpdatedEnvelope {\n data: FormSubmissionStatusUpdatedEvent;\n metadata: EventMetadata;\n}\n\n/** @permissionScope Manage Submissions\n * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n * @permissionScope Manage form submissions.\n * @permissionScopeId SCOPE.FORMS.MANAGE-SUBMISSIONS\n * @permissionScope Read Orders\n * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-ORDERS\n * @permissionScope Manage plans and orders of Pricing Plans\n * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-PLANS-AND-ORDERS\n * @permissionScope Read Submissions\n * @permissionScopeId SCOPE.DC-FORMS.READ-SUBMISSIONS\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @webhook\n * @eventType wix.forms.v4.submission_status_updated\n * @slug status_updated\n */\nexport declare function onSubmissionStatusUpdated(\n handler: (event: SubmissionStatusUpdatedEnvelope) => void | Promise<void>\n): void;\n\nexport interface SubmissionContactMappedEnvelope {\n data: SubmissionContactMapped;\n metadata: EventMetadata;\n}\n\n/** @permissionScope Manage Submissions\n * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n * @permissionScope Manage form submissions.\n * @permissionScopeId SCOPE.FORMS.MANAGE-SUBMISSIONS\n * @permissionScope Read Orders\n * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-ORDERS\n * @permissionScope Manage plans and orders of Pricing Plans\n * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-PLANS-AND-ORDERS\n * @permissionScope Read Submissions\n * @permissionScopeId SCOPE.DC-FORMS.READ-SUBMISSIONS\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @webhook\n * @eventType wix.forms.v4.submission_submission_contact_mapped\n * @slug submission_contact_mapped\n */\nexport declare function onSubmissionContactMapped(\n handler: (event: SubmissionContactMappedEnvelope) => void | Promise<void>\n): void;\n\nexport interface SubmissionContactMappingSkippedEnvelope {\n data: SubmissionContactMappingSkipped;\n metadata: EventMetadata;\n}\n\n/** @permissionScope Manage Submissions\n * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n * @permissionScope Manage form submissions.\n * @permissionScopeId SCOPE.FORMS.MANAGE-SUBMISSIONS\n * @permissionScope Read Orders\n * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-ORDERS\n * @permissionScope Manage plans and orders of Pricing Plans\n * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-PLANS-AND-ORDERS\n * @permissionScope Read Submissions\n * @permissionScopeId SCOPE.DC-FORMS.READ-SUBMISSIONS\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @webhook\n * @eventType wix.forms.v4.submission_submission_contact_mapping_skipped\n * @slug submission_contact_mapping_skipped\n */\nexport declare function onSubmissionContactMappingSkipped(\n handler: (\n event: SubmissionContactMappingSkippedEnvelope\n ) => void | Promise<void>\n): void;\n\nexport interface SubmissionUpdatedEnvelope {\n entity: FormSubmission;\n metadata: EventMetadata;\n /** @hidden */\n modifiedFields: Record<string, any>;\n}\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 * Triggered when:\n * - Submission is updated.\n * - Submission order status is updated.\n * - Submission is confirmed.\n * @permissionScope Manage Submissions\n * @permissionScopeId SCOPE.DC-FORMS.MANAGE-SUBMISSIONS\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-ORDERS\n * @permissionScope Manage form submissions.\n * @permissionScopeId SCOPE.FORMS.MANAGE-SUBMISSIONS\n * @permissionScope Read Orders\n * @permissionScopeId SCOPE.DC-PAIDPLANS.READ-ORDERS\n * @permissionScope Manage plans and orders of Pricing Plans\n * @permissionScopeId SCOPE.DC-PAIDPLANS.MANAGE-PLANS-AND-ORDERS\n * @permissionScope Read Submissions\n * @permissionScopeId SCOPE.DC-FORMS.READ-SUBMISSIONS\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @webhook\n * @eventType wix.forms.v4.submission_updated\n * @slug updated\n */\nexport declare function onSubmissionUpdated(\n handler: (event: SubmissionUpdatedEnvelope) => void | Promise<void>\n): void;\n\n/**\n * Upserts contact from submission.\n * @param submissionId - Submission from which contact needs to be upserted.\n * @public\n * @documentationMaturity preview\n * @requiredField submissionId\n * @permissionId WIX_FORMS.SUBMISSION_CONTACT_UPSERT\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionContactUpsertService.UpsertContactFromSubmission\n */\nexport async function upsertContactFromSubmission(\n submissionId: string,\n options?: UpsertContactFromSubmissionOptions\n): Promise<\n NonNullablePaths<\n UpsertContactFromSubmissionResponse,\n | `submitContactResponse.contactId`\n | `submitContactResponse.identityType`\n | `submitContactResponse.newContact`,\n 3\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n submissionId: submissionId,\n contactId: options?.contactId,\n emailVerified: options?.emailVerified,\n });\n\n const reqOpts =\n ambassadorWixFormsV4Submission.upsertContactFromSubmission(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n submissionId: '$[0]',\n contactId: '$[1].contactId',\n emailVerified: '$[1].emailVerified',\n },\n singleArgumentUnchanged: false,\n },\n ['submissionId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpsertContactFromSubmissionOptions {\n /**\n * Optional contact id to which submission should be mapped.\n * @format GUID\n */\n contactId?: string | null;\n /** Indicates contact has verified primary email. */\n emailVerified?: boolean;\n}\n\n/**\n * Creates a submission.\n *\n *\n * The `createSubmission()` function is an alternative way to the [`WixFormsV2`](https://www.wix.com/velo/reference/$w/wixformsv2/submit) element for submitting a form. In this case, clicking the submit button is unnecessary, the submission is automatically created when calling this function.\n * @param submission - Submission to create.\n * @public\n * @requiredField submission\n * @requiredField submission.formId\n * @param options - Optional fields.\n * @permissionId WIX_FORMS.SUBMISSION_CREATE\n * @applicableIdentity APP\n * @returns The created submission.\n * @fqn wix.forms.v4.FormSubmissionService.CreateSubmission\n */\nexport async function createSubmission(\n submission: NonNullablePaths<FormSubmission, `formId`, 2>,\n options?: CreateSubmissionOptions\n): Promise<\n NonNullablePaths<\n FormSubmission,\n | `formId`\n | `namespace`\n | `status`\n | `seen`\n | `orderDetails.itemSubtotal`\n | `orderDetails.checkoutId`\n | `tags.tags.tagIds`,\n 4\n > & {\n __applicationErrorsType?: CreateSubmissionApplicationErrors;\n __validationErrorsType?: CreateSubmissionValidationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n submission: submission,\n captchaToken: options?.captchaToken,\n additionalMetadata: options?.additionalMetadata,\n });\n\n const reqOpts = ambassadorWixFormsV4Submission.createSubmission(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.submission!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n submission: '$[0]',\n captchaToken: '$[1].captchaToken',\n additionalMetadata: '$[1].additionalMetadata',\n },\n singleArgumentUnchanged: false,\n },\n ['submission', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CreateSubmissionOptions {\n /**\n * Captcha token.\n * @minLength 1\n * @maxLength 3000\n */\n captchaToken?: string | null;\n /** Optional metadata passed to SPI implementer, allowing clients to include additional business-specific data. */\n additionalMetadata?: Record<string, any> | null;\n}\n\n/**\n * Retrieves a submission by ID.\n * @param submissionId - ID of the submission to retrieve.\n * @public\n * @requiredField submissionId\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @applicableIdentity APP\n * @returns The retrieved submission.\n * @fqn wix.forms.v4.FormSubmissionService.GetSubmission\n */\nexport async function getSubmission(\n submissionId: string\n): Promise<\n NonNullablePaths<\n FormSubmission,\n | `formId`\n | `namespace`\n | `status`\n | `seen`\n | `orderDetails.itemSubtotal`\n | `orderDetails.checkoutId`\n | `tags.tags.tagIds`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n submissionId: submissionId,\n });\n\n const reqOpts = ambassadorWixFormsV4Submission.getSubmission(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.submission!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { submissionId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['submissionId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Updates a submission.\n *\n *\n * Each time the submission is updated, `revision` increments by 1. The existing `revision` must be included when updating the submission. This ensures you're working with the latest submission information, and prevents unintended overwrites.\n * @param _id - Submission ID.\n * @public\n * @requiredField _id\n * @requiredField submission\n * @requiredField submission.formId\n * @requiredField submission.revision\n * @param submission - Submission to update.\n * @permissionId WIX_FORMS.SUBMISSION_UPDATE_ANY\n * @applicableIdentity APP\n * @returns The updated submission.\n * @fqn wix.forms.v4.FormSubmissionService.UpdateSubmission\n */\nexport async function updateSubmission(\n _id: string,\n submission: NonNullablePaths<UpdateSubmission, `formId` | `revision`, 2>\n): Promise<\n NonNullablePaths<\n FormSubmission,\n | `formId`\n | `namespace`\n | `status`\n | `seen`\n | `orderDetails.itemSubtotal`\n | `orderDetails.checkoutId`\n | `tags.tags.tagIds`,\n 4\n > & {\n __validationErrorsType?: UpdateSubmissionValidationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n submission: { ...submission, id: _id },\n });\n\n const reqOpts = ambassadorWixFormsV4Submission.updateSubmission(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.submission!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: { submission: '$[1]' },\n explicitPathsToArguments: { 'submission.id': '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['_id', 'submission']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpdateSubmission {\n /**\n * Submission ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * ID of the form which the submission belongs to.\n * @format GUID\n * @immutable\n */\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 * @minLength 10\n * @maxLength 50\n * @readonly\n */\n namespace?: string;\n /** Status of the submission. */\n status?: SubmissionStatusWithLiterals;\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 * @immutable\n */\n _createdDate?: Date | null;\n /**\n * Date and time the form submission was updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Revision number, which increments by 1 each time the form submission is updated. To prevent conflicting changes, the existing revision must be used when updating a form submission.\n * @readonly\n */\n revision?: string | null;\n /**\n * ID of the visitor that submitted the form.\n * @readonly\n */\n submitter?: Submitter;\n /** Whether a site owner marked a submission as \"seen\". */\n seen?: boolean;\n /** Data extension object that holds users' and apps' fields. */\n extendedFields?: ExtendedFields;\n /**\n * Order details. <br>\n * <b>Note</b>: This object is only applicable when submitting a form in the Wix Payments app.\n */\n orderDetails?: OrderDetails;\n /**\n * Contact ID of a site visitor who created the submission.\n * @format GUID\n * @immutable\n */\n contactId?: string | null;\n /**\n * Authorized viewer ID.\n * @format GUID\n * @immutable\n */\n accessRestriction?: string | null;\n /** Tag IDs collections associated with the current entity. */\n tags?: PublicTags;\n /**\n * Appointment details.\n * This object is only applicable when submitting a form that creates a booking appointment.\n */\n appointmentDetails?: AppointmentDetails;\n}\n\n/**\n * Confirms a submission.\n *\n *\n * You can only confirm a submission that has a `PENDING` status.\n * When using forms from the [Wix Pricing Plans](https://www.wix.com/app-market/paid-plans?referral=collection&appIndex=42&referralTag=made-by-wix&referralSectionName=made-by-wix) app, the default submission status is `PENDING`.\n * When using forms from the [Wix Forms]() app, the default form submission status is `CONFIRMED`. You can change the default status for individual submissions using the `updateSubmission()` method.\n * @param submissionId - Submission ID to confirm.\n * @public\n * @requiredField submissionId\n * @permissionId WIX_FORMS.SUBMISSION_UPDATE_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.ConfirmSubmission\n */\nexport async function confirmSubmission(\n submissionId: string\n): Promise<\n NonNullablePaths<\n ConfirmSubmissionResponse,\n | `submission.formId`\n | `submission.namespace`\n | `submission.status`\n | `submission.seen`\n | `submission.orderDetails.itemSubtotal`\n | `submission.orderDetails.checkoutId`\n | `submission.tags.tags.tagIds`,\n 5\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n submissionId: submissionId,\n });\n\n const reqOpts = ambassadorWixFormsV4Submission.confirmSubmission(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { submissionId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['submissionId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Deletes a submission.\n *\n *\n * This function moves the form submission into the trash bin. To delete the submission permanently, change the default `permanent` field value to `true.`\n * @param submissionId - ID of the submission to delete.\n * @public\n * @requiredField submissionId\n * @param options - Optional fields.\n * @permissionId WIX_FORMS.SUBMISSION_DELETE\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.DeleteSubmission\n */\nexport async function deleteSubmission(\n submissionId: string,\n options?: DeleteSubmissionOptions\n): Promise<void> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n submissionId: submissionId,\n permanent: options?.permanent,\n preserveFiles: options?.preserveFiles,\n });\n\n const reqOpts = ambassadorWixFormsV4Submission.deleteSubmission(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n submissionId: '$[0]',\n permanent: '$[1].permanent',\n preserveFiles: '$[1].preserveFiles',\n },\n singleArgumentUnchanged: false,\n },\n ['submissionId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport 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/**\n * Deletes submissions by IDS for specific form.\n * @param formId - Form ID.\n * @public\n * @documentationMaturity preview\n * @requiredField formId\n * @permissionId WIX_FORMS.SUBMISSION_DELETE\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.BulkDeleteSubmission\n */\nexport async function bulkDeleteSubmission(\n formId: string,\n options?: BulkDeleteSubmissionOptions\n): Promise<\n NonNullablePaths<\n BulkDeleteSubmissionResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n formId: formId,\n submissionIds: options?.submissionIds,\n permanent: options?.permanent,\n preserveFiles: options?.preserveFiles,\n });\n\n const reqOpts = ambassadorWixFormsV4Submission.bulkDeleteSubmission(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n formId: '$[0]',\n submissionIds: '$[1].submissionIds',\n permanent: '$[1].permanent',\n preserveFiles: '$[1].preserveFiles',\n },\n singleArgumentUnchanged: false,\n },\n ['formId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkDeleteSubmissionOptions {\n /**\n * Submission ids.\n * @minSize 1\n * @maxSize 100\n * @format GUID\n */\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/**\n * Restores deleted submission\n * @param submissionId - ID of the submission to restore.\n * @public\n * @documentationMaturity preview\n * @requiredField submissionId\n * @permissionId WIX_FORMS.SUBMISSION_UPDATE_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.RestoreSubmissionFromTrashBin\n */\nexport async function restoreSubmissionFromTrashBin(\n submissionId: string\n): Promise<\n NonNullablePaths<\n RestoreSubmissionFromTrashBinResponse,\n | `submission.formId`\n | `submission.namespace`\n | `submission.status`\n | `submission.seen`\n | `submission.orderDetails.itemSubtotal`\n | `submission.orderDetails.checkoutId`\n | `submission.tags.tags.tagIds`,\n 5\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n submissionId: submissionId,\n });\n\n const reqOpts =\n ambassadorWixFormsV4Submission.restoreSubmissionFromTrashBin(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { submissionId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['submissionId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Remove deleted submission\n * @param submissionId - ID of the submission to restore.\n * @public\n * @documentationMaturity preview\n * @requiredField submissionId\n * @permissionId WIX_FORMS.SUBMISSION_DELETE\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.RemoveSubmissionFromTrashBin\n */\nexport async function removeSubmissionFromTrashBin(\n submissionId: string\n): Promise<void> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n submissionId: submissionId,\n });\n\n const reqOpts =\n ambassadorWixFormsV4Submission.removeSubmissionFromTrashBin(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { submissionId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['submissionId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Remove multiple deleted submissions\n * @param formId - Form ID.\n * @public\n * @documentationMaturity preview\n * @requiredField formId\n * @permissionId WIX_FORMS.SUBMISSION_DELETE\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.BulkRemoveSubmissionFromTrashBin\n */\nexport async function bulkRemoveSubmissionFromTrashBin(\n formId: string,\n options?: BulkRemoveSubmissionFromTrashBinOptions\n): Promise<\n NonNullablePaths<\n BulkRemoveSubmissionFromTrashBinResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n formId: formId,\n submissionIds: options?.submissionIds,\n });\n\n const reqOpts =\n ambassadorWixFormsV4Submission.bulkRemoveSubmissionFromTrashBin(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n formId: '$[0]',\n submissionIds: '$[1].submissionIds',\n },\n singleArgumentUnchanged: false,\n },\n ['formId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkRemoveSubmissionFromTrashBinOptions {\n /**\n * Submission ids.\n * @minSize 1\n * @maxSize 100\n * @format GUID\n */\n submissionIds?: string[];\n}\n\n/**\n * List deleted submissions\n * @param formId - Form ID.\n * @public\n * @documentationMaturity preview\n * @requiredField formId\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.ListDeletedSubmissions\n */\nexport async function listDeletedSubmissions(\n formId: string,\n options?: ListDeletedSubmissionsOptions\n): Promise<\n NonNullablePaths<\n ListDeletedSubmissionsResponse,\n | `submissions`\n | `submissions.${number}.formId`\n | `submissions.${number}.namespace`\n | `submissions.${number}.status`\n | `submissions.${number}.seen`\n | `submissions.${number}.orderDetails.itemSubtotal`\n | `submissions.${number}.orderDetails.checkoutId`,\n 5\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n formId: formId,\n submissionIds: options?.submissionIds,\n paging: options?.paging,\n statuses: options?.statuses,\n });\n\n const reqOpts =\n ambassadorWixFormsV4Submission.listDeletedSubmissions(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n formId: '$[0]',\n submissionIds: '$[1].submissionIds',\n paging: '$[1].paging',\n statuses: '$[1].statuses',\n },\n singleArgumentUnchanged: false,\n },\n ['formId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ListDeletedSubmissionsOptions {\n /**\n * Submission ids.\n * @maxSize 10\n * @format GUID\n */\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 * @maxSize 4\n */\n statuses?: SubmissionStatusWithLiterals[];\n}\n\n/**\n * Get deleted submission\n * @param submissionId - Submission id.\n * @public\n * @documentationMaturity preview\n * @requiredField submissionId\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.GetDeletedSubmission\n */\nexport async function getDeletedSubmission(\n submissionId: string\n): Promise<\n NonNullablePaths<\n GetDeletedSubmissionResponse,\n | `submission.formId`\n | `submission.namespace`\n | `submission.status`\n | `submission.seen`\n | `submission.orderDetails.itemSubtotal`\n | `submission.orderDetails.checkoutId`\n | `submission.tags.tags.tagIds`,\n 5\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n submissionId: submissionId,\n });\n\n const reqOpts = ambassadorWixFormsV4Submission.getDeletedSubmission(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { submissionId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['submissionId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Deprecated on '2023-08-08'. Use QuerySubmissionsByNamespace.\n * @param query - Query options.\n * @public\n * @documentationMaturity preview\n * @requiredField query\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.QuerySubmission\n * @deprecated\n * @replacedBy com.wixpress.forms.v4.FormSubmissionService.QuerySubmissionsByNamespace\n * @targetRemovalDate 2025-04-01\n */\nexport async function querySubmission(\n query: CursorQuery,\n options?: QuerySubmissionOptions\n): Promise<\n NonNullablePaths<\n QuerySubmissionResponse,\n | `submissions`\n | `submissions.${number}.formId`\n | `submissions.${number}.namespace`\n | `submissions.${number}.status`\n | `submissions.${number}.seen`\n | `submissions.${number}.orderDetails.itemSubtotal`\n | `submissions.${number}.orderDetails.checkoutId`,\n 5\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n query: query,\n onlyYourOwn: options?.onlyYourOwn,\n });\n\n const reqOpts = ambassadorWixFormsV4Submission.querySubmission(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n query: '$[0]',\n onlyYourOwn: '$[1].onlyYourOwn',\n },\n singleArgumentUnchanged: false,\n },\n ['query', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport 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/**\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 * To learn about working with _Query_ endpoints, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language), [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination), and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).\n * @param search - Query options.\n * @public\n * @documentationMaturity preview\n * @requiredField search\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.SearchSubmissionsByNamespace\n */\nexport async function searchSubmissionsByNamespace(\n search: FormSubmissionSearch\n): Promise<\n NonNullablePaths<\n SearchSubmissionsByNamespaceResponse,\n | `submissions`\n | `submissions.${number}.formId`\n | `submissions.${number}.namespace`\n | `submissions.${number}.status`\n | `submissions.${number}.seen`\n | `submissions.${number}.orderDetails.itemSubtotal`\n | `submissions.${number}.orderDetails.checkoutId`,\n 5\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ search: search });\n\n const reqOpts =\n ambassadorWixFormsV4Submission.searchSubmissionsByNamespace(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { search: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['search']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface FormSubmissionSearchSpec extends SearchSpec {\n paging: 'cursor';\n wql: [\n {\n operators: ['$eq', '$in', '$ne', '$nin'];\n fields: ['_id'];\n sort: 'BOTH';\n },\n {\n operators: ['$eq', '$in', '$ne', '$nin'];\n fields: ['formId'];\n sort: 'BOTH';\n },\n {\n operators: ['$eq'];\n fields: ['namespace'];\n sort: 'NONE';\n },\n {\n operators: ['$eq', '$in', '$ne', '$nin'];\n fields: ['status'];\n sort: 'BOTH';\n },\n {\n operators: ['$eq', '$gt', '$gte', '$in', '$lt', '$lte', '$ne', '$nin'];\n fields: ['_createdDate'];\n sort: 'BOTH';\n }\n ];\n}\n\nexport type CommonSearchWithEntityContext = SearchSdkType<\n FormSubmission,\n FormSubmissionSearchSpec\n>;\nexport type FormSubmissionSearch = {\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?: {\n /** \n Number of items to load. \n @max: 100 \n */\n limit?:\n | NonNullable<CommonSearchWithEntityContext['cursorPaging']>['limit']\n | 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 @maxLength: 16000 \n */\n cursor?:\n | NonNullable<CommonSearchWithEntityContext['cursorPaging']>['cursor']\n | null;\n };\n /** \n A filter object. See documentation [here](https://bo.wix.com/wix-docs/rnd/platformization-guidelines/api-query-language#platformization-guidelines_api-query-language_defining-in-protobuf) \n */\n filter?: CommonSearchWithEntityContext['filter'] | null;\n /** \n Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}] \n @maxSize: 10 \n */\n sort?: {\n /** \n Name of the field to sort by. \n @maxLength: 512 \n */\n fieldName?: NonNullable<\n CommonSearchWithEntityContext['sort']\n >[number]['fieldName'];\n /** \n Sort order. \n */\n order?: NonNullable<CommonSearchWithEntityContext['sort']>[number]['order'];\n }[];\n /** \n Free text to match in searchable fields \n */\n search?: {\n /** \n Defines how separate search terms in `expression` are combined \n */\n mode?: NonNullable<CommonSearchWithEntityContext['search']>['mode'];\n /** \n Search term or expression \n @maxLength: 100 \n */\n expression?:\n | NonNullable<CommonSearchWithEntityContext['search']>['expression']\n | null;\n /** \n Flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm) \n */\n fuzzy?: NonNullable<CommonSearchWithEntityContext['search']>['fuzzy'];\n };\n};\n\nexport const utils = {\n search: {\n ...createSearchUtils<\n FormSubmission,\n FormSubmissionSearchSpec,\n FormSubmissionSearch\n >(),\n },\n query: {\n ...createQueryUtils<\n FormSubmission,\n FormSubmissionQuerySpec,\n FormSubmissionQuery\n >(),\n },\n};\n\n/**\n * Creates a query to retrieve a list of submissions.\n *\n *\n * The `querySubmissionsByNamespace()` method builds a query to retrieve a list of submissions from the specified namespace and returns a [`SubmissionsQueryBuilder`](#submissionsquerybuilder) object.\n * >**Note:** You can only query submissions from a specified namespace. Use the query filter on the `namespace` field, otherwise you will receive an error.\n *\n * The returned object contains the query definition, which is typically used to run the query using the [`find()`](#submissionsquerybuilder/find) method.\n *\n * You can refine the query by chaining `SubmissionsQueryBuilder` methods onto the query. `SubmissionsQueryBuilder` methods enable you to sort, filter, and control the results that `querySubmissionsByNamespace()` returns.\n *\n * The following `SubmissionsQueryBuilder` methods are supported for `querySubmissionsByNamespace()`. For a full description of the Submissions object, see the object returned for the [`items`](#submissionsqueryresult/items) property in [`SubmissionsQueryResult`](#submissionsqueryresult).\n * @public\n * @param options - Query options.\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.QuerySubmissionsByNamespace\n */\nexport function querySubmissionsByNamespace(\n options?: QuerySubmissionsByNamespaceOptions\n): SubmissionsQueryBuilder {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n return queryBuilder<\n FormSubmission,\n 'CURSOR',\n QuerySubmissionsByNamespaceRequest,\n QuerySubmissionsByNamespaceResponse\n >({\n func: async (payload: QuerySubmissionsByNamespaceRequest) => {\n const reqOpts =\n ambassadorWixFormsV4Submission.querySubmissionsByNamespace({\n ...payload,\n ...(options ?? {}),\n });\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n return result;\n } catch (err) {\n sideEffects?.onError?.(err);\n throw err;\n }\n },\n requestTransformer: (\n query: QuerySubmissionsByNamespaceRequest['query']\n ) => {\n const args = [query, options] as [\n QuerySubmissionsByNamespaceRequest['query'],\n QuerySubmissionsByNamespaceOptions\n ];\n return renameKeysFromSDKRequestToRESTRequest({\n ...args?.[1],\n query: args?.[0],\n });\n },\n responseTransformer: ({\n data,\n }: HttpResponse<QuerySubmissionsByNamespaceResponse>) => {\n const transformedData = renameKeysFromRESTResponseToSDKResponse(\n transformPaths(data, [])\n );\n\n return {\n items: transformedData?.submissions,\n pagingMetadata: transformedData?.metadata,\n };\n },\n errorTransformer: (err: unknown) => {\n const transformedError = sdkTransformError(err, {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n });\n\n throw transformedError;\n },\n pagingMethod: 'CURSOR',\n transformationPaths: {},\n });\n}\n\nexport 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\ninterface QueryCursorResult {\n cursors: Cursors;\n hasNext: () => boolean;\n hasPrev: () => boolean;\n length: number;\n pageSize: number;\n}\n\nexport interface SubmissionsQueryResult extends QueryCursorResult {\n items: FormSubmission[];\n query: SubmissionsQueryBuilder;\n next: () => Promise<SubmissionsQueryResult>;\n prev: () => Promise<SubmissionsQueryResult>;\n}\n\nexport interface SubmissionsQueryBuilder {\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n eq: (\n propertyName:\n | '_id'\n | 'formId'\n | 'namespace'\n | 'status'\n | '_createdDate'\n | '_updatedDate'\n | 'submitter.memberId'\n | 'submitter.visitorId'\n | 'submitter.applicationId'\n | 'submitter.userId'\n | 'seen'\n | 'orderDetails.checkoutId'\n | 'contactId',\n value: any\n ) => SubmissionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n ne: (\n propertyName:\n | '_id'\n | 'formId'\n | 'status'\n | '_createdDate'\n | '_updatedDate'\n | 'submitter.memberId'\n | 'submitter.visitorId'\n | 'submitter.applicationId'\n | 'submitter.userId'\n | 'seen'\n | 'orderDetails.checkoutId'\n | 'contactId',\n value: any\n ) => SubmissionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n ge: (\n propertyName: '_createdDate' | '_updatedDate',\n value: any\n ) => SubmissionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n gt: (\n propertyName: '_createdDate' | '_updatedDate',\n value: any\n ) => SubmissionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n le: (\n propertyName: '_createdDate' | '_updatedDate',\n value: any\n ) => SubmissionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n lt: (\n propertyName: '_createdDate' | '_updatedDate',\n value: any\n ) => SubmissionsQueryBuilder;\n in: (\n propertyName:\n | '_id'\n | 'formId'\n | 'status'\n | '_createdDate'\n | '_updatedDate'\n | 'submitter.memberId'\n | 'submitter.visitorId'\n | 'submitter.applicationId'\n | 'submitter.userId'\n | 'orderDetails.checkoutId'\n | 'contactId',\n value: any\n ) => SubmissionsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n ascending: (\n ...propertyNames: Array<\n | '_id'\n | 'formId'\n | 'status'\n | '_createdDate'\n | '_updatedDate'\n | 'submitter.memberId'\n | 'submitter.visitorId'\n | 'submitter.applicationId'\n | 'submitter.userId'\n | 'seen'\n | 'orderDetails.checkoutId'\n | 'contactId'\n >\n ) => SubmissionsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n descending: (\n ...propertyNames: Array<\n | '_id'\n | 'formId'\n | 'status'\n | '_createdDate'\n | '_updatedDate'\n | 'submitter.memberId'\n | 'submitter.visitorId'\n | 'submitter.applicationId'\n | 'submitter.userId'\n | 'seen'\n | 'orderDetails.checkoutId'\n | 'contactId'\n >\n ) => 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/**\n * @hidden\n * @fqn wix.forms.v4.FormSubmissionService.QuerySubmissionsByNamespace\n * @requiredField query\n */\nexport async function typedQuerySubmissionsByNamespace(\n query: FormSubmissionQuery,\n options?: QuerySubmissionsByNamespaceOptions\n): Promise<\n NonNullablePaths<\n QuerySubmissionsByNamespaceResponse,\n | `submissions`\n | `submissions.${number}.formId`\n | `submissions.${number}.namespace`\n | `submissions.${number}.status`\n | `submissions.${number}.seen`\n | `submissions.${number}.orderDetails.itemSubtotal`\n | `submissions.${number}.orderDetails.checkoutId`,\n 5\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n query: query,\n ...options,\n });\n\n const reqOpts =\n ambassadorWixFormsV4Submission.querySubmissionsByNamespace(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['query', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface FormSubmissionQuerySpec extends QuerySpec {\n paging: 'cursor';\n wql: [\n {\n fields: ['_id'];\n operators: ['$eq', '$in', '$ne', '$nin'];\n sort: 'BOTH';\n },\n {\n fields: ['formId'];\n operators: ['$eq', '$in', '$ne', '$nin'];\n sort: 'BOTH';\n },\n {\n fields: ['contactId'];\n operators: ['$eq', '$in', '$ne', '$nin'];\n sort: 'BOTH';\n },\n {\n fields: ['namespace'];\n operators: ['$eq'];\n sort: 'NONE';\n },\n {\n fields: ['status'];\n operators: ['$eq', '$in', '$ne', '$nin'];\n sort: 'BOTH';\n },\n {\n fields: ['seen'];\n operators: ['$eq', '$ne'];\n sort: 'BOTH';\n },\n {\n fields: ['_createdDate', '_updatedDate'];\n operators: ['$eq', '$gt', '$gte', '$in', '$lt', '$lte', '$ne', '$nin'];\n sort: 'BOTH';\n },\n {\n fields: [\n 'submitter.applicationId',\n 'submitter.memberId',\n 'submitter.userId',\n 'submitter.visitorId'\n ];\n operators: ['$eq', '$in', '$ne', '$nin'];\n sort: 'BOTH';\n },\n {\n fields: ['orderDetails.checkoutId'];\n operators: ['$eq', '$in', '$ne', '$nin'];\n sort: 'BOTH';\n }\n ];\n}\n\nexport type CommonQueryWithEntityContext = QuerySdkType<\n FormSubmission,\n FormSubmissionQuerySpec\n>;\nexport type FormSubmissionQuery = {\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?: {\n /** \n Number of items to load. \n @max: 100 \n */\n limit?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['limit']\n | 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 @maxLength: 16000 \n */\n cursor?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['cursor']\n | null;\n };\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?: CommonQueryWithEntityContext['filter'] | null;\n /** \n Sort object in the following format:\n `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]` \n @maxSize: 3 \n */\n sort?: {\n /** \n Name of the field to sort by. \n @maxLength: 512 \n */\n fieldName?: NonNullable<\n CommonQueryWithEntityContext['sort']\n >[number]['fieldName'];\n /** \n Sort order. \n */\n order?: NonNullable<CommonQueryWithEntityContext['sort']>[number]['order'];\n }[];\n};\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 * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.CountSubmissionsByFilter\n */\nexport async function countSubmissionsByFilter(\n filter: Record<string, any>,\n options?: CountSubmissionsByFilterOptions\n): Promise<\n NonNullablePaths<\n CountSubmissionsByFilterResponse,\n | `formsSubmissionsCount`\n | `formsSubmissionsCount.${number}.formId`\n | `formsSubmissionsCount.${number}.totalCount`\n | `formsSubmissionsCount.${number}.unseenCount`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n filter: filter,\n search: options?.search,\n });\n\n const reqOpts =\n ambassadorWixFormsV4Submission.countSubmissionsByFilter(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { filter: '$[0]', search: '$[1].search' },\n singleArgumentUnchanged: false,\n },\n ['filter', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CountSubmissionsByFilterOptions {\n /** Free text to match in searchable fields. */\n search?: SearchDetails;\n}\n\n/**\n * Counts the number of submissions belonging to the specified forms.\n *\n *\n * The `countSubmissions()` function is useful for analytics and tracking purposes. For example, if you have a contact form on your website, you can use this function to track how many submissions it receives daily, weekly, or monthly.\n * @public\n * @requiredField formIds\n * @requiredField namespace\n * @param namespace - The app which the form submissions belong to. For example, the namespace for the Wix Forms app is `wix.form_app.form`. Call `getSubmission()` to retrieve the namespace.\n * @param formIds - Form IDs which submissions should be counted.\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.CountSubmissions\n */\nexport async function countSubmissions(\n formIds: string[],\n namespace: string,\n options?: CountSubmissionsOptions\n): Promise<\n NonNullablePaths<\n CountSubmissionsResponse,\n | `formsSubmissionsCount`\n | `formsSubmissionsCount.${number}.formId`\n | `formsSubmissionsCount.${number}.totalCount`\n | `formsSubmissionsCount.${number}.unseenCount`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[3] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n formIds: formIds,\n namespace: namespace,\n statuses: options?.statuses,\n });\n\n const reqOpts = ambassadorWixFormsV4Submission.countSubmissions(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n formIds: '$[0]',\n namespace: '$[1]',\n statuses: '$[2].statuses',\n },\n singleArgumentUnchanged: false,\n },\n ['formIds', 'namespace', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport 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 * @maxSize 4\n */\n statuses?: SubmissionStatusWithLiterals[];\n}\n\n/**\n * > **Note:**\n * > The Submissions API is only available in the Wix Studio editor.\n *\n * Counts the number of submissions belonging to the specified forms.\n * @param formIds - Form IDs.\n * @param namespace - Identifies the app which the form submissions belong to. For example, the namespace for the Wix Forms App is `\"wix.form_app.form\"`. The namespace of a submission can be retrieved using the Get Submission endpoint.\n * @public\n * @documentationMaturity preview\n * @requiredField formIds\n * @requiredField namespace\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.CountDeletedSubmissions\n */\nexport async function countDeletedSubmissions(\n formIds: string[],\n namespace: string,\n options?: CountDeletedSubmissionsOptions\n): Promise<\n NonNullablePaths<\n CountDeletedSubmissionsResponse,\n | `formsDeletedSubmissionsCount`\n | `formsDeletedSubmissionsCount.${number}.formId`\n | `formsDeletedSubmissionsCount.${number}.totalCount`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[3] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n formIds: formIds,\n namespace: namespace,\n statuses: options?.statuses,\n });\n\n const reqOpts =\n ambassadorWixFormsV4Submission.countDeletedSubmissions(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n formIds: '$[0]',\n namespace: '$[1]',\n statuses: '$[2].statuses',\n },\n singleArgumentUnchanged: false,\n },\n ['formIds', 'namespace', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CountDeletedSubmissionsOptions {\n /**\n * List of statuses of submissions which should be taken into count\n * Default: CONFIRMED, PAYMENT_WAITING, PAYMENT_CANCELED\n * @maxSize 4\n */\n statuses?: SubmissionStatusWithLiterals[];\n}\n\n/**\n * Retrieves a URL generated by the [Media Manager](https://www.wix.com/velo/reference/wix-media-v2/files/generatefileuploadurl) to use when creating a submission that includes a field for uploading files.\n * > **Note:** You need at least a [Standard Premium](https://support.wix.com/en/article/choosing-a-premium-plan) plan for your site to upload files.\n *\n *\n * To learn how external clients can use the generated upload URL to upload a file to the Media Manager, see [Upload API](https://www.wix.com/velo/reference/wix-media-v2/files/upload-api).\n * @param formId - Form ID.\n * @param filename - Name of file to upload.\n * @param mimeType - [Mime type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types#) of file to upload.\n *\n * For example, `'image/png'`\n * @public\n * @requiredField filename\n * @requiredField formId\n * @requiredField mimeType\n * @permissionId WIX_FORMS.SUBMISSION_CREATE\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.GetMediaUploadURL\n */\nexport async function getMediaUploadUrl(\n formId: string,\n filename: string,\n mimeType: string\n): Promise<NonNullablePaths<GetMediaUploadURLResponse, `uploadUrl`, 2>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[3] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n formId: formId,\n filename: filename,\n mimeType: mimeType,\n });\n\n const reqOpts = ambassadorWixFormsV4Submission.getMediaUploadUrl(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n formId: '$[0]',\n filename: '$[1]',\n mimeType: '$[2]',\n },\n singleArgumentUnchanged: false,\n },\n ['formId', 'filename', 'mimeType']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Marks form submissions as \"seen\".\n *\n *\n * This function marks the submissions as if they were seen by the site owner. Only site collaborators with the **[Manage Submission](https://support.wix.com/en/article/roles-permissions-accessing-roles-permissions)** permissions can mark submissions.\n * @public\n * @requiredField formId\n * @requiredField ids\n * @param ids - IDs of submissions to mark as seen.\n * @param formId - ID of the form which the submissions belong to.\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.BulkMarkSubmissionsAsSeen\n */\nexport async function bulkMarkSubmissionsAsSeen(\n ids: string[],\n formId: string\n): Promise<NonNullablePaths<BulkMarkSubmissionsAsSeenResponse, `jobId`, 2>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n ids: ids,\n formId: formId,\n });\n\n const reqOpts =\n ambassadorWixFormsV4Submission.bulkMarkSubmissionsAsSeen(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { ids: '$[0]', formId: '$[1]' },\n singleArgumentUnchanged: false,\n },\n ['ids', 'formId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Gets submission as document which may include the document download url if the document is ready.\n * @param submissionId - Submission ID.\n * @public\n * @documentationMaturity preview\n * @requiredField submissionId\n * @permissionId WIX_FORMS.SUBMISSION_UPDATE_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.GetSubmissionDownloadUrl\n */\nexport async function getSubmissionDownloadUrl(\n submissionId: string\n): Promise<\n NonNullablePaths<\n GetSubmissionDownloadUrlResponse,\n `document.readyDetails.downloadUrl` | `document.status`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n submissionId: submissionId,\n });\n\n const reqOpts =\n ambassadorWixFormsV4Submission.getSubmissionDownloadUrl(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { submissionId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['submissionId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Download a submission document by redirecting to the document URL.\n * @param submissionId - Submission id for which the document is generated.\n * @param accessToken - Access token to download the document.\n * @public\n * @documentationMaturity preview\n * @requiredField accessToken\n * @requiredField submissionId\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.DownloadSubmission\n */\nexport async function downloadSubmission(\n submissionId: string,\n accessToken: string\n): Promise<\n NonNullablePaths<\n RawHttpResponse,\n `body` | `headers` | `headers.${number}.key` | `headers.${number}.value`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n submissionId: submissionId,\n accessToken: accessToken,\n });\n\n const reqOpts = ambassadorWixFormsV4Submission.downloadSubmission(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { submissionId: '$[0]', accessToken: '$[1]' },\n singleArgumentUnchanged: false,\n },\n ['submissionId', 'accessToken']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves a submission formatted by language\n * @param submissionId - Submission ID.\n * @public\n * @documentationMaturity preview\n * @requiredField submissionId\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.GetFormattedSubmission\n */\nexport async function getFormattedSubmission(\n submissionId: string\n): Promise<\n NonNullablePaths<\n GetFormattedSubmissionResponse,\n | `submissionId`\n | `submissions`\n | `submissions.${number}.key`\n | `submissions.${number}.value`\n | `submissions.${number}.fieldId`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n submissionId: submissionId,\n });\n\n const reqOpts =\n ambassadorWixFormsV4Submission.getFormattedSubmission(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { submissionId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['submissionId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Update Extended Fields of the Form\n * @param _id - ID of the entity to update.\n * @param namespace - Identifier for the app whose extended fields are being updated.\n * @public\n * @documentationMaturity preview\n * @requiredField _id\n * @requiredField namespace\n * @requiredField options\n * @requiredField options.namespaceData\n * @permissionId WIX_FORMS.SUBMISSION_UPDATE_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.UpdateExtendedFields\n */\nexport async function updateExtendedFields(\n _id: string,\n namespace: string,\n options: NonNullablePaths<UpdateExtendedFieldsOptions, `namespaceData`, 2>\n): Promise<NonNullablePaths<UpdateExtendedFieldsResponse, `namespace`, 2>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[3] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n id: _id,\n namespace: namespace,\n namespaceData: options?.namespaceData,\n });\n\n const reqOpts = ambassadorWixFormsV4Submission.updateExtendedFields(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n id: '$[0]',\n namespace: '$[1]',\n namespaceData: '$[2].namespaceData',\n },\n singleArgumentUnchanged: false,\n },\n ['_id', 'namespace', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpdateExtendedFieldsOptions {\n /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n namespaceData: Record<string, any> | null;\n}\n\n/**\n * Bulk update tags on form submissions.\n * @param submissionIds - Submission IDs to update tags for.\n * @internal\n * @documentationMaturity preview\n * @requiredField submissionIds\n * @permissionId WIX_FORMS.SUBMISSION_UPDATE_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.BulkUpdateFormSubmissionTags\n */\nexport async function bulkUpdateFormSubmissionTags(\n submissionIds: string[],\n options?: BulkUpdateFormSubmissionTagsOptions\n): Promise<\n NonNullablePaths<\n BulkUpdateFormSubmissionTagsResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n submissionIds: submissionIds,\n assignTags: options?.assignTags,\n unassignTags: options?.unassignTags,\n });\n\n const reqOpts =\n ambassadorWixFormsV4Submission.bulkUpdateFormSubmissionTags(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n submissionIds: '$[0]',\n assignTags: '$[1].assignTags',\n unassignTags: '$[1].unassignTags',\n },\n singleArgumentUnchanged: false,\n },\n ['submissionIds', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkUpdateFormSubmissionTagsOptions {\n /** Tags to be added to submissions */\n assignTags?: PublicTags;\n /** Tags to be removed from submissions */\n unassignTags?: PublicTags;\n}\n\n/**\n * Bulk update tags on form submissions by filter.\n * @param filter - Filter to select the submission to update\n * @internal\n * @documentationMaturity preview\n * @requiredField filter\n * @permissionId WIX_FORMS.SUBMISSION_UPDATE_ANY\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.BulkUpdateFormSubmissionTagsByFilter\n */\nexport async function bulkUpdateFormSubmissionTagsByFilter(\n filter: Record<string, any>,\n options?: BulkUpdateFormSubmissionTagsByFilterOptions\n): Promise<\n NonNullablePaths<BulkUpdateFormSubmissionTagsByFilterResponse, `jobId`, 2>\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n filter: filter,\n assignTags: options?.assignTags,\n unassignTags: options?.unassignTags,\n });\n\n const reqOpts =\n ambassadorWixFormsV4Submission.bulkUpdateFormSubmissionTagsByFilter(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n filter: '$[0]',\n assignTags: '$[1].assignTags',\n unassignTags: '$[1].unassignTags',\n },\n singleArgumentUnchanged: false,\n },\n ['filter', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkUpdateFormSubmissionTagsByFilterOptions {\n /** Tags to be added to submissions */\n assignTags?: PublicTags;\n /** Tags to be removed from submissions */\n unassignTags?: PublicTags;\n}\n\n/**\n * Called to validate submission before creation.\n * @param submission - Submission to validate.\n * @public\n * @documentationMaturity preview\n * @requiredField submission\n * @permissionId WIX_FORMS.SUBMISSION_CREATE\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSubmissionService.ValidateFormSubmission\n */\nexport async function validateFormSubmission(\n submission: FormSubmission,\n options?: ValidateFormSubmissionOptions\n): Promise<\n NonNullablePaths<\n ValidateFormSubmissionResponse,\n | `violationErrors`\n | `violationErrors.${number}.name`\n | `violationErrors.${number}.description`\n | `violationErrors.${number}.ruleName`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n submission: submission,\n additionalMetadata: options?.additionalMetadata,\n fieldsToValidate: options?.fieldsToValidate,\n });\n\n const reqOpts =\n ambassadorWixFormsV4Submission.validateFormSubmission(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n submission: '$[0]',\n additionalMetadata: '$[1].additionalMetadata',\n fieldsToValidate: '$[1].fieldsToValidate',\n },\n singleArgumentUnchanged: false,\n },\n ['submission', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ValidateFormSubmissionOptions {\n /** Optional metadata passed to SPI implementer, allowing clients to include additional business-specific data. */\n additionalMetadata?: Record<string, any> | null;\n /**\n * List of field targets/keys to validate, in case when only several fields should to be validated.\n * If empty, all form fields be validated\n * @maxSize 200\n * @maxLength 200\n */\n fieldsToValidate?: string[];\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformRESTBytesToSDKBytes } from '@wix/sdk-runtime/transformations/bytes';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformSDKFieldMaskToRESTFieldMask } from '@wix/sdk-runtime/transformations/field-mask';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\nimport {\n _Array,\n _Boolean,\n _Number,\n _Object,\n _String,\n} from './forms-v4-submission-submissions.types';\n\nfunction resolveWixFormsV4FormSubmissionServiceUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'api._api_base_domain_': [\n {\n srcPath: '/form-submission-service',\n destPath: '',\n },\n ],\n _: [\n {\n srcPath: '/_api/form-submission-service',\n destPath: '',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/_api/form-submission-service',\n destPath: '',\n },\n {\n srcPath: '/form-submission-service',\n destPath: '',\n },\n ],\n 'www._base_domain_': [\n {\n srcPath: '/_api/form-submission-service',\n destPath: '',\n },\n ],\n 'bo._base_domain_': [\n {\n srcPath: '/form-submission-service',\n destPath: '',\n },\n ],\n 'wixbo.ai': [\n {\n srcPath: '/form-submission-service',\n destPath: '',\n },\n ],\n 'wix-bo.com': [\n {\n srcPath: '/form-submission-service',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/form-submission-service',\n destPath: '',\n },\n {\n srcPath: '/_api/form-submission-service',\n destPath: '',\n },\n ],\n 'apps._base_domain_': [\n {\n srcPath: '/form-submission-service',\n destPath: '',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/form-submission-service',\n destPath: '',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/form-submission-service',\n destPath: '',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/form-submission-service',\n destPath: '',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/form-submission-service',\n destPath: '',\n },\n ],\n '*.wixforms.com': [\n {\n srcPath: '/_api/form-submission-service',\n destPath: '',\n },\n ],\n 'apps.wixel.com': [\n {\n srcPath: '/_api/form-submission-service',\n destPath: '',\n },\n ],\n '*.wixel.com': [\n {\n srcPath: '/_api/form-submission-service',\n destPath: '',\n },\n ],\n 'editor.wixapps.net': [\n {\n srcPath: '/_api/form-submission-service',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nfunction resolveWixFormsV4FormSubmissionContactUpsertServiceUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'bo._base_domain_': [\n {\n srcPath: '/form-submission-contact-mapping-service',\n destPath: '',\n },\n ],\n 'wixbo.ai': [\n {\n srcPath: '/form-submission-contact-mapping-service',\n destPath: '',\n },\n ],\n 'wix-bo.com': [\n {\n srcPath: '/form-submission-contact-mapping-service',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/form-submission-contact-mapping-service',\n destPath: '',\n },\n {\n srcPath: '/_api/form-submission-contact-mapping-service',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_forms_submissions';\n\n/** Upserts contact from submission. */\nexport function upsertContactFromSubmission(\n payload: object\n): RequestOptionsFactory<any> {\n function __upsertContactFromSubmission({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn:\n 'wix.forms.v4.FormSubmissionContactUpsertService.UpsertContactFromSubmission',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionContactUpsertServiceUrl({\n protoPath: '/v4/submissions-contacts',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __upsertContactFromSubmission;\n}\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 */\nexport function createSubmission(payload: object): RequestOptionsFactory<any> {\n function __createSubmission({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'submission.createdDate' },\n { path: 'submission.updatedDate' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.CreateSubmission',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'submission.createdDate' },\n { path: 'submission.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createSubmission;\n}\n\n/** Retrieves a submission by ID. */\nexport function getSubmission(payload: object): RequestOptionsFactory<any> {\n function __getSubmission({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'GET' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.GetSubmission',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/{submissionId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'submission.createdDate' },\n { path: 'submission.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getSubmission;\n}\n\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 */\nexport function updateSubmission(payload: object): RequestOptionsFactory<any> {\n function __updateSubmission({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFieldMaskToRESTFieldMask,\n paths: [{ path: 'mask' }],\n },\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'submission.createdDate' },\n { path: 'submission.updatedDate' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'PATCH' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.UpdateSubmission',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/{submission.id}',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'submission.createdDate' },\n { path: 'submission.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateSubmission;\n}\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 */\nexport function confirmSubmission(payload: object): RequestOptionsFactory<any> {\n function __confirmSubmission({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.ConfirmSubmission',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/{submissionId}/confirm',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'submission.createdDate' },\n { path: 'submission.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __confirmSubmission;\n}\n\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 */\nexport function deleteSubmission(payload: object): RequestOptionsFactory<any> {\n function __deleteSubmission({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'DELETE' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.DeleteSubmission',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/{submissionId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __deleteSubmission;\n}\n\n/** Deletes submissions by IDS for specific form. */\nexport function bulkDeleteSubmission(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkDeleteSubmission({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.BulkDeleteSubmission',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/bulk/submissions/delete',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __bulkDeleteSubmission;\n}\n\n/** Restores deleted submission */\nexport function restoreSubmissionFromTrashBin(\n payload: object\n): RequestOptionsFactory<any> {\n function __restoreSubmissionFromTrashBin({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn:\n 'wix.forms.v4.FormSubmissionService.RestoreSubmissionFromTrashBin',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/trash-bin/{submissionId}/restore',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'submission.createdDate' },\n { path: 'submission.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __restoreSubmissionFromTrashBin;\n}\n\n/** Remove deleted submission */\nexport function removeSubmissionFromTrashBin(\n payload: object\n): RequestOptionsFactory<any> {\n function __removeSubmissionFromTrashBin({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'DELETE' as any,\n methodFqn:\n 'wix.forms.v4.FormSubmissionService.RemoveSubmissionFromTrashBin',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/trash-bin/{submissionId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __removeSubmissionFromTrashBin;\n}\n\n/** Remove multiple deleted submissions */\nexport function bulkRemoveSubmissionFromTrashBin(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkRemoveSubmissionFromTrashBin({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn:\n 'wix.forms.v4.FormSubmissionService.BulkRemoveSubmissionFromTrashBin',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/trash-bin/delete',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __bulkRemoveSubmissionFromTrashBin;\n}\n\n/** List deleted submissions */\nexport function listDeletedSubmissions(\n payload: object\n): RequestOptionsFactory<any> {\n function __listDeletedSubmissions({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'GET' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.ListDeletedSubmissions',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/trash-bin',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'submissions.createdDate' },\n { path: 'submissions.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __listDeletedSubmissions;\n}\n\n/** Get deleted submission */\nexport function getDeletedSubmission(\n payload: object\n): RequestOptionsFactory<any> {\n function __getDeletedSubmission({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'GET' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.GetDeletedSubmission',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/trash-bin/{submissionId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'submission.createdDate' },\n { path: 'submission.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getDeletedSubmission;\n}\n\n/**\n * Deprecated on '2023-08-08'. Use QuerySubmissionsByNamespace.\n * @deprecated It has been replaced with com.wixpress.forms.v4.FormSubmissionService.QuerySubmissionsByNamespace(), and will be removed on 2025-04-01.\n */\nexport function querySubmission(payload: object): RequestOptionsFactory<any> {\n function __querySubmission({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.QuerySubmission',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/query',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'submissions.createdDate' },\n { path: 'submissions.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __querySubmission;\n}\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 * 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 */\nexport function searchSubmissionsByNamespace(\n payload: object\n): RequestOptionsFactory<any> {\n function __searchSubmissionsByNamespace({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn:\n 'wix.forms.v4.FormSubmissionService.SearchSubmissionsByNamespace',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/namespace/search',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'submissions.createdDate' },\n { path: 'submissions.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __searchSubmissionsByNamespace;\n}\n\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 */\nexport function querySubmissionsByNamespace(\n payload: object\n): RequestOptionsFactory<any> {\n function __querySubmissionsByNamespace({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn:\n 'wix.forms.v4.FormSubmissionService.QuerySubmissionsByNamespace',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/namespace/query',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'submissions.createdDate' },\n { path: 'submissions.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __querySubmissionsByNamespace;\n}\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 */\nexport function countSubmissionsByFilter(\n payload: object\n): RequestOptionsFactory<any> {\n function __countSubmissionsByFilter({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.CountSubmissionsByFilter',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/count-by-filter',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __countSubmissionsByFilter;\n}\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 */\nexport function countSubmissions(payload: object): RequestOptionsFactory<any> {\n function __countSubmissions({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.CountSubmissions',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/count',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __countSubmissions;\n}\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 */\nexport function countDeletedSubmissions(\n payload: object\n): RequestOptionsFactory<any> {\n function __countDeletedSubmissions({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.CountDeletedSubmissions',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/trash-bin/count',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __countDeletedSubmissions;\n}\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 */\nexport function getMediaUploadUrl(payload: object): RequestOptionsFactory<any> {\n function __getMediaUploadUrl({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.GetMediaUploadURL',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/media-upload-url',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __getMediaUploadUrl;\n}\n\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 */\nexport function bulkMarkSubmissionsAsSeen(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkMarkSubmissionsAsSeen({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.BulkMarkSubmissionsAsSeen',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/bulk/submissions/mark-as-seen',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __bulkMarkSubmissionsAsSeen;\n}\n\n/** Gets submission as document which may include the document download url if the document is ready. */\nexport function getSubmissionDownloadUrl(\n payload: object\n): RequestOptionsFactory<any> {\n function __getSubmissionDownloadUrl({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'GET' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.GetSubmissionDownloadUrl',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/{submissionId}/document',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __getSubmissionDownloadUrl;\n}\n\n/** Download a submission document by redirecting to the document URL. */\nexport function downloadSubmission(\n payload: object\n): RequestOptionsFactory<any> {\n function __downloadSubmission({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'GET' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.DownloadSubmission',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/{submissionId}/download',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTBytesToSDKBytes,\n paths: [{ path: 'body' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __downloadSubmission;\n}\n\n/** Retrieves a submission formatted by language */\nexport function getFormattedSubmission(\n payload: object\n): RequestOptionsFactory<any> {\n function __getFormattedSubmission({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'GET' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.GetFormattedSubmission',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/{submissionId}/formatted',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __getFormattedSubmission;\n}\n\n/** Update Extended Fields of the Form */\nexport function updateExtendedFields(\n payload: object\n): RequestOptionsFactory<any> {\n function __updateExtendedFields({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.UpdateExtendedFields',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/{id}/extended-fields',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __updateExtendedFields;\n}\n\n/** Bulk update tags on form submissions. */\nexport function bulkUpdateFormSubmissionTags(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkUpdateFormSubmissionTags({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn:\n 'wix.forms.v4.FormSubmissionService.BulkUpdateFormSubmissionTags',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/bulk/submissions/update-tags',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __bulkUpdateFormSubmissionTags;\n}\n\n/** Bulk update tags on form submissions by filter. */\nexport function bulkUpdateFormSubmissionTagsByFilter(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkUpdateFormSubmissionTagsByFilter({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn:\n 'wix.forms.v4.FormSubmissionService.BulkUpdateFormSubmissionTagsByFilter',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/bulk/submissions/update-tags-by-filter',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __bulkUpdateFormSubmissionTagsByFilter;\n}\n\n/** Called to validate submission before creation. */\nexport function validateFormSubmission(\n payload: object\n): RequestOptionsFactory<any> {\n function __validateFormSubmission({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'submission.createdDate' },\n { path: 'submission.updatedDate' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.forms.v4.submission',\n method: 'POST' as any,\n methodFqn: 'wix.forms.v4.FormSubmissionService.ValidateFormSubmission',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixFormsV4FormSubmissionServiceUrl({\n protoPath: '/v4/submissions/validate',\n data: serializedData,\n host,\n }),\n data: serializedData,\n };\n\n return metadata;\n }\n\n return __validateFormSubmission;\n}\n","import {\n upsertContactFromSubmission as publicUpsertContactFromSubmission,\n createSubmission as publicCreateSubmission,\n getSubmission as publicGetSubmission,\n updateSubmission as publicUpdateSubmission,\n confirmSubmission as publicConfirmSubmission,\n deleteSubmission as publicDeleteSubmission,\n bulkDeleteSubmission as publicBulkDeleteSubmission,\n restoreSubmissionFromTrashBin as publicRestoreSubmissionFromTrashBin,\n removeSubmissionFromTrashBin as publicRemoveSubmissionFromTrashBin,\n bulkRemoveSubmissionFromTrashBin as publicBulkRemoveSubmissionFromTrashBin,\n listDeletedSubmissions as publicListDeletedSubmissions,\n getDeletedSubmission as publicGetDeletedSubmission,\n querySubmission as publicQuerySubmission,\n searchSubmissionsByNamespace as publicSearchSubmissionsByNamespace,\n querySubmissionsByNamespace as publicQuerySubmissionsByNamespace,\n typedQuerySubmissionsByNamespace as publicTypedQuerySubmissionsByNamespace,\n countSubmissionsByFilter as publicCountSubmissionsByFilter,\n countSubmissions as publicCountSubmissions,\n countDeletedSubmissions as publicCountDeletedSubmissions,\n getMediaUploadUrl as publicGetMediaUploadUrl,\n bulkMarkSubmissionsAsSeen as publicBulkMarkSubmissionsAsSeen,\n getSubmissionDownloadUrl as publicGetSubmissionDownloadUrl,\n downloadSubmission as publicDownloadSubmission,\n getFormattedSubmission as publicGetFormattedSubmission,\n updateExtendedFields as publicUpdateExtendedFields,\n bulkUpdateFormSubmissionTags as publicBulkUpdateFormSubmissionTags,\n bulkUpdateFormSubmissionTagsByFilter as publicBulkUpdateFormSubmissionTagsByFilter,\n validateFormSubmission as publicValidateFormSubmission,\n} from './forms-v4-submission-submissions.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { createEventModule } from '@wix/sdk-runtime/event-definition-modules';\nimport {\n BuildRESTFunction,\n MaybeContext,\n BuildEventDefinition,\n} from '@wix/sdk-types';\nimport { HttpClient } from '@wix/sdk-types';\nimport { createQueryOverloadRouter } from '@wix/sdk-runtime/query-method-router';\nimport {\n FormSubmissionQuery,\n QuerySubmissionsByNamespaceOptions,\n SubmissionsQueryBuilder,\n typedQuerySubmissionsByNamespace as universalTypedQuerySubmissionsByNamespace,\n} from './forms-v4-submission-submissions.universal.js';\nimport { onSubmissionCreated as publicOnSubmissionCreated } from './forms-v4-submission-submissions.public.js';\nimport { onSubmissionDeleted as publicOnSubmissionDeleted } from './forms-v4-submission-submissions.public.js';\nimport { onSubmissionRemovedSubmissionFromTrash as publicOnSubmissionRemovedSubmissionFromTrash } from './forms-v4-submission-submissions.public.js';\nimport { onSubmissionStatusUpdated as publicOnSubmissionStatusUpdated } from './forms-v4-submission-submissions.public.js';\nimport { onSubmissionContactMapped as publicOnSubmissionContactMapped } from './forms-v4-submission-submissions.public.js';\nimport { onSubmissionContactMappingSkipped as publicOnSubmissionContactMappingSkipped } from './forms-v4-submission-submissions.public.js';\nimport { onSubmissionUpdated as publicOnSubmissionUpdated } from './forms-v4-submission-submissions.public.js';\n\nfunction customQuerySubmissionsByNamespace(httpClient: HttpClient) {\n const router = createQueryOverloadRouter({\n builderQueryFunction: (options?: QuerySubmissionsByNamespaceOptions) =>\n publicQuerySubmissionsByNamespace(httpClient)(options),\n typedQueryFunction: (\n query: FormSubmissionQuery,\n options?: QuerySubmissionsByNamespaceOptions\n ) => publicTypedQuerySubmissionsByNamespace(httpClient)(query, options),\n hasOptionsParameter: true,\n });\n\n function overloadedQuery(\n query: FormSubmissionQuery,\n options?: QuerySubmissionsByNamespaceOptions\n ): ReturnType<typeof universalTypedQuerySubmissionsByNamespace>;\n function overloadedQuery(\n options?: QuerySubmissionsByNamespaceOptions\n ): SubmissionsQueryBuilder;\n function overloadedQuery(\n queryOrOptions?: FormSubmissionQuery | QuerySubmissionsByNamespaceOptions,\n options?: QuerySubmissionsByNamespaceOptions\n ): any {\n return router(...arguments);\n }\n\n return overloadedQuery;\n}\n\nexport const upsertContactFromSubmission: MaybeContext<\n BuildRESTFunction<typeof publicUpsertContactFromSubmission> &\n typeof publicUpsertContactFromSubmission\n> = /*#__PURE__*/ createRESTModule(publicUpsertContactFromSubmission);\nexport const createSubmission: MaybeContext<\n BuildRESTFunction<typeof publicCreateSubmission> &\n typeof publicCreateSubmission\n> = /*#__PURE__*/ createRESTModule(publicCreateSubmission);\nexport const getSubmission: MaybeContext<\n BuildRESTFunction<typeof publicGetSubmission> & typeof publicGetSubmission\n> = /*#__PURE__*/ createRESTModule(publicGetSubmission);\nexport const updateSubmission: MaybeContext<\n BuildRESTFunction<typeof publicUpdateSubmission> &\n typeof publicUpdateSubmission\n> = /*#__PURE__*/ createRESTModule(publicUpdateSubmission);\nexport const confirmSubmission: MaybeContext<\n BuildRESTFunction<typeof publicConfirmSubmission> &\n typeof publicConfirmSubmission\n> = /*#__PURE__*/ createRESTModule(publicConfirmSubmission);\nexport const deleteSubmission: MaybeContext<\n BuildRESTFunction<typeof publicDeleteSubmission> &\n typeof publicDeleteSubmission\n> = /*#__PURE__*/ createRESTModule(publicDeleteSubmission);\nexport const bulkDeleteSubmission: MaybeContext<\n BuildRESTFunction<typeof publicBulkDeleteSubmission> &\n typeof publicBulkDeleteSubmission\n> = /*#__PURE__*/ createRESTModule(publicBulkDeleteSubmission);\nexport const restoreSubmissionFromTrashBin: MaybeContext<\n BuildRESTFunction<typeof publicRestoreSubmissionFromTrashBin> &\n typeof publicRestoreSubmissionFromTrashBin\n> = /*#__PURE__*/ createRESTModule(publicRestoreSubmissionFromTrashBin);\nexport const removeSubmissionFromTrashBin: MaybeContext<\n BuildRESTFunction<typeof publicRemoveSubmissionFromTrashBin> &\n typeof publicRemoveSubmissionFromTrashBin\n> = /*#__PURE__*/ createRESTModule(publicRemoveSubmissionFromTrashBin);\nexport const bulkRemoveSubmissionFromTrashBin: MaybeContext<\n BuildRESTFunction<typeof publicBulkRemoveSubmissionFromTrashBin> &\n typeof publicBulkRemoveSubmissionFromTrashBin\n> = /*#__PURE__*/ createRESTModule(publicBulkRemoveSubmissionFromTrashBin);\nexport const listDeletedSubmissions: MaybeContext<\n BuildRESTFunction<typeof publicListDeletedSubmissions> &\n typeof publicListDeletedSubmissions\n> = /*#__PURE__*/ createRESTModule(publicListDeletedSubmissions);\nexport const getDeletedSubmission: MaybeContext<\n BuildRESTFunction<typeof publicGetDeletedSubmission> &\n typeof publicGetDeletedSubmission\n> = /*#__PURE__*/ createRESTModule(publicGetDeletedSubmission);\nexport const querySubmission: MaybeContext<\n BuildRESTFunction<typeof publicQuerySubmission> & typeof publicQuerySubmission\n> = /*#__PURE__*/ createRESTModule(publicQuerySubmission);\nexport const searchSubmissionsByNamespace: MaybeContext<\n BuildRESTFunction<typeof publicSearchSubmissionsByNamespace> &\n typeof publicSearchSubmissionsByNamespace\n> = /*#__PURE__*/ createRESTModule(publicSearchSubmissionsByNamespace);\nexport const countSubmissionsByFilter: MaybeContext<\n BuildRESTFunction<typeof publicCountSubmissionsByFilter> &\n typeof publicCountSubmissionsByFilter\n> = /*#__PURE__*/ createRESTModule(publicCountSubmissionsByFilter);\nexport const countSubmissions: MaybeContext<\n BuildRESTFunction<typeof publicCountSubmissions> &\n typeof publicCountSubmissions\n> = /*#__PURE__*/ createRESTModule(publicCountSubmissions);\nexport const countDeletedSubmissions: MaybeContext<\n BuildRESTFunction<typeof publicCountDeletedSubmissions> &\n typeof publicCountDeletedSubmissions\n> = /*#__PURE__*/ createRESTModule(publicCountDeletedSubmissions);\nexport const getMediaUploadUrl: MaybeContext<\n BuildRESTFunction<typeof publicGetMediaUploadUrl> &\n typeof publicGetMediaUploadUrl\n> = /*#__PURE__*/ createRESTModule(publicGetMediaUploadUrl);\nexport const bulkMarkSubmissionsAsSeen: MaybeContext<\n BuildRESTFunction<typeof publicBulkMarkSubmissionsAsSeen> &\n typeof publicBulkMarkSubmissionsAsSeen\n> = /*#__PURE__*/ createRESTModule(publicBulkMarkSubmissionsAsSeen);\nexport const getSubmissionDownloadUrl: MaybeContext<\n BuildRESTFunction<typeof publicGetSubmissionDownloadUrl> &\n typeof publicGetSubmissionDownloadUrl\n> = /*#__PURE__*/ createRESTModule(publicGetSubmissionDownloadUrl);\nexport const downloadSubmission: MaybeContext<\n BuildRESTFunction<typeof publicDownloadSubmission> &\n typeof publicDownloadSubmission\n> = /*#__PURE__*/ createRESTModule(publicDownloadSubmission);\nexport const getFormattedSubmission: MaybeContext<\n BuildRESTFunction<typeof publicGetFormattedSubmission> &\n typeof publicGetFormattedSubmission\n> = /*#__PURE__*/ createRESTModule(publicGetFormattedSubmission);\nexport const updateExtendedFields: MaybeContext<\n BuildRESTFunction<typeof publicUpdateExtendedFields> &\n typeof publicUpdateExtendedFields\n> = /*#__PURE__*/ createRESTModule(publicUpdateExtendedFields);\n/** @internal */\nexport const bulkUpdateFormSubmissionTags: MaybeContext<\n BuildRESTFunction<typeof publicBulkUpdateFormSubmissionTags> &\n typeof publicBulkUpdateFormSubmissionTags\n> = /*#__PURE__*/ createRESTModule(publicBulkUpdateFormSubmissionTags);\n/** @internal */\nexport const bulkUpdateFormSubmissionTagsByFilter: MaybeContext<\n BuildRESTFunction<typeof publicBulkUpdateFormSubmissionTagsByFilter> &\n typeof publicBulkUpdateFormSubmissionTagsByFilter\n> = /*#__PURE__*/ createRESTModule(publicBulkUpdateFormSubmissionTagsByFilter);\nexport const validateFormSubmission: MaybeContext<\n BuildRESTFunction<typeof publicValidateFormSubmission> &\n typeof publicValidateFormSubmission\n> = /*#__PURE__*/ createRESTModule(publicValidateFormSubmission);\nexport const querySubmissionsByNamespace: MaybeContext<\n BuildRESTFunction<typeof customQuerySubmissionsByNamespace> &\n typeof customQuerySubmissionsByNamespace\n> = /*#__PURE__*/ createRESTModule(customQuerySubmissionsByNamespace);\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 * Triggered when a submission is created.\n */\nexport const onSubmissionCreated: BuildEventDefinition<\n typeof publicOnSubmissionCreated\n> &\n typeof publicOnSubmissionCreated = createEventModule(\n publicOnSubmissionCreated\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 * Triggered when a submission is deleted.\n */\nexport const onSubmissionDeleted: BuildEventDefinition<\n typeof publicOnSubmissionDeleted\n> &\n typeof publicOnSubmissionDeleted = createEventModule(\n publicOnSubmissionDeleted\n);\n/** */\nexport const onSubmissionRemovedSubmissionFromTrash: BuildEventDefinition<\n typeof publicOnSubmissionRemovedSubmissionFromTrash\n> &\n typeof publicOnSubmissionRemovedSubmissionFromTrash = createEventModule(\n publicOnSubmissionRemovedSubmissionFromTrash\n);\n/** */\nexport const onSubmissionStatusUpdated: BuildEventDefinition<\n typeof publicOnSubmissionStatusUpdated\n> &\n typeof publicOnSubmissionStatusUpdated = createEventModule(\n publicOnSubmissionStatusUpdated\n);\n/** */\nexport const onSubmissionContactMapped: BuildEventDefinition<\n typeof publicOnSubmissionContactMapped\n> &\n typeof publicOnSubmissionContactMapped = createEventModule(\n publicOnSubmissionContactMapped\n);\n/** */\nexport const onSubmissionContactMappingSkipped: BuildEventDefinition<\n typeof publicOnSubmissionContactMappingSkipped\n> &\n typeof publicOnSubmissionContactMappingSkipped = createEventModule(\n publicOnSubmissionContactMappingSkipped\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 * Triggered when:\n * - Submission is updated.\n * - Submission order status is updated.\n * - Submission is confirmed.\n */\nexport const onSubmissionUpdated: BuildEventDefinition<\n typeof publicOnSubmissionUpdated\n> &\n typeof publicOnSubmissionUpdated = createEventModule(\n publicOnSubmissionUpdated\n);\n\nexport {\n SubmissionStatus,\n OptInLevel,\n WebhookIdentityType,\n StringTypeFormatEnumFormat,\n DayOfWeek,\n ValidationFormat,\n ProductType,\n PriceType,\n FieldType,\n FormatEnumFormat,\n StringComponentType,\n NodeType,\n BackgroundType,\n GradientType,\n WidthType,\n PluginContainerDataAlignment,\n ButtonDataType,\n LinkTarget,\n TextAlignment,\n LineStyle,\n Width,\n DividerDataAlignment,\n ViewMode,\n LayoutType,\n Orientation,\n Crop,\n ThumbnailsAlignment,\n GIFType,\n Source,\n StylesPosition,\n MapType,\n ViewRole,\n VoteRole,\n PollLayoutType,\n PollLayoutDirection,\n PollDesignBackgroundType,\n DecorationType,\n FontType,\n Position,\n AspectRatio,\n Resizing,\n Placement,\n CardStylesType,\n CardStylesAlignment,\n Layout,\n AppType,\n InitialExpandedItems,\n Direction,\n VerticalAlignment,\n NullValue,\n ImageScalingScaling,\n LayoutDataImagePosition,\n Origin,\n LayoutDataBackgroundType,\n BackdropType,\n VerticalAlignmentAlignment,\n ResponsivenessBehaviour,\n DesignTarget,\n Scaling,\n ImagePositionPosition,\n CardDataBackgroundType,\n ListStyle,\n Indentation,\n ImagePosition,\n Alignment,\n ImageFit,\n NumberOfColumns,\n FirstDayOfWeek,\n NumberComponentType,\n BooleanComponentType,\n ItemType,\n PropertiesTypeEnum,\n ArrayComponentType,\n WixFileComponentType,\n UploadFileFormat,\n PaymentComponentType,\n ComponentType,\n Type,\n ObjectArrayComponentType,\n SchedulingComponentType,\n Format,\n MeetingType,\n StaffStrategySelection,\n InputType,\n EmailInfoTag,\n PhoneInfoTag,\n Tag,\n ConfirmationLevel,\n SubscriptionChannel,\n ContactField,\n DisplayFieldType,\n OverrideEntityType,\n Kind,\n FormFieldContactInfoEmailInfoTag,\n FormFieldContactInfoPhoneInfoTag,\n AddressInfoTag,\n SubscriptionInfoOptInLevel,\n FormFieldContactInfoContactField,\n SpamFilterProtectionLevel,\n RequiredIndicator,\n RequiredIndicatorPlacement,\n Target,\n SubmitSuccessAction,\n ChangeableProperty,\n OverrideEntityTypeEnumOverrideEntityType,\n Operator,\n ResultsDisplay,\n ContactAutofill,\n SubmissionAccess,\n IdentityType,\n ErrorType,\n SortOrder,\n Mode,\n Status,\n SubmissionErrorType,\n} from './forms-v4-submission-submissions.universal.js';\nexport {\n FormSubmission,\n Submitter,\n SubmitterSubmitterOneOf,\n ExtendedFields,\n OrderDetails,\n PublicTags,\n TagList,\n AppointmentDetails,\n FormSubmissionStatusUpdatedEvent,\n RemovedSubmissionFromTrash,\n SubmissionContactMapped,\n MarketingSubscriptionDetails,\n SubmissionContactMappingSkipped,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n AccountInfo,\n CreateCheckoutFromSubmissionRequest,\n CreateCheckoutFromSubmissionRequestFormSchemaIdentifierOneOf,\n Form,\n FormField,\n FormFieldStringType,\n FormFieldStringTypeFormatOptionsOneOf,\n StringErrorMessages,\n DateTimeAdvancedConstraints,\n Availability,\n DateRange,\n StringTypeDateTimeConstraints,\n StringTypePhoneConstraints,\n StringTypeValidationMessages,\n FormFieldNumberType,\n NumberErrorMessages,\n IntegerType,\n FormFieldBooleanType,\n BooleanErrorMessages,\n FormFieldArrayType,\n FormFieldObjectType,\n ObjectTypePropertiesType,\n ObjectTypePropertiesTypePropertiesTypeOneOf,\n ObjectErrorMessages,\n ArrayTypeArrayItems,\n ArrayTypeArrayItemsItemsOneOf,\n ArrayErrorMessages,\n PredefinedValidation,\n PredefinedValidationFormatOptionsOneOf,\n PaymentType,\n QuantityLimit,\n FixedPriceOptions,\n DynamicPriceOptions,\n Product,\n ProductPriceOptionsOneOf,\n MultilineAddressValidation,\n FieldOverrides,\n FieldsOverrides,\n ObjectArrayType,\n NestedFormFieldOverrides,\n Validation,\n ValidationValidationOneOf,\n DataExtensionsDetails,\n NestedFormOverrides,\n Field,\n FieldFieldTypeOptionsOneOf,\n InputField,\n InputFieldInputTypeOptionsOneOf,\n StringCorrectAnswersList,\n StringType,\n StringTypeFormatOptionsOneOf,\n DateTimeConstraints,\n PhoneConstraints,\n ValidationMessages,\n StringQuizFieldSettings,\n TextInput,\n RichContent,\n Node,\n NodeDataOneOf,\n NodeStyle,\n ButtonData,\n Gradient,\n Stop,\n Border,\n Colors,\n Background,\n PluginContainerData,\n PluginContainerDataWidth,\n PluginContainerDataWidthDataOneOf,\n Spoiler,\n Height,\n Styles,\n Link,\n LinkDataOneOf,\n Rel,\n CodeBlockData,\n TextStyle,\n DividerData,\n FileData,\n FileSource,\n FileSourceDataOneOf,\n PDFSettings,\n GalleryData,\n Media,\n Image,\n Video,\n Item,\n ItemDataOneOf,\n GalleryOptions,\n GalleryOptionsLayout,\n ItemStyle,\n Thumbnails,\n GIFData,\n GIF,\n HeadingData,\n HTMLData,\n HTMLDataDataOneOf,\n ImageData,\n StylesBorder,\n ImageDataStyles,\n LinkPreviewData,\n LinkPreviewDataStyles,\n MapData,\n MapSettings,\n ParagraphData,\n PollData,\n Permissions,\n PollOption,\n Settings,\n PollLayout,\n OptionLayout,\n BackgroundGradient,\n PollDesignBackground,\n PollDesignBackgroundBackgroundOneOf,\n PollDesign,\n OptionDesign,\n Poll,\n PollDataLayout,\n Design,\n TextData,\n Decoration,\n DecorationDataOneOf,\n AnchorData,\n ColorData,\n LinkData,\n MentionData,\n FontSizeData,\n SpoilerData,\n FontFamilyData,\n AppEmbedData,\n AppEmbedDataAppDataOneOf,\n BookingData,\n EventData,\n ButtonStyles,\n ImageStyles,\n RibbonStyles,\n CardStyles,\n PricingData,\n VideoData,\n PlaybackOptions,\n EmbedData,\n Oembed,\n CollapsibleListData,\n TableData,\n Dimensions,\n TableCellData,\n CellStyle,\n BorderColors,\n BorderWidths,\n ListValue,\n AudioData,\n OrderedListData,\n BulletedListData,\n BlockquoteData,\n CaptionData,\n LayoutData,\n LayoutDataBackgroundImage,\n Banner,\n LayoutDataBackground,\n Backdrop,\n LayoutCellData,\n ShapeData,\n ShapeDataStyles,\n CardData,\n CardDataBackground,\n BackgroundImage,\n TocData,\n Metadata,\n DocumentStyle,\n TextNodeStyle,\n MediaItem,\n MediaItemMediaOneOf,\n MediaSettings,\n RadioGroup,\n RadioGroupOption,\n CustomOption,\n Dropdown,\n DropdownOption,\n DateTimeInput,\n PhoneInput,\n DateInput,\n TimeInput,\n DatePicker,\n ServicesDropdown,\n ServiceOption,\n Password,\n NumberCorrectAnswersList,\n NumberType,\n NumberQuizFieldSettings,\n NumberInput,\n RatingInput,\n BooleanType,\n Checkbox,\n CorrectAnswersList,\n ArrayType,\n ObjectType,\n PropertiesType,\n PropertiesTypePropertiesTypeOptionsOneOf,\n ArrayItems,\n ArrayItemsItemTypeOptionsOneOf,\n QuizFieldSettings,\n CheckboxGroup,\n Option,\n ComponentsTags,\n TagsOption,\n ServicesCheckboxGroup,\n FileType,\n FileUpload,\n Signature,\n ProductCheckboxGroup,\n ProductCheckboxGroupOption,\n DonationInput,\n DonationInputOption,\n PaymentInput,\n FixedPayment,\n MultilineAddress,\n AddressLine2,\n DefaultCountryConfig,\n DefaultCountryConfigOptionsOneOf,\n FieldsSettings,\n Repeater,\n FormLayout,\n BreakPoint,\n ItemLayout,\n ItemLayoutItemOneOf,\n Group,\n Margin,\n Section,\n Appointment,\n AppointmentFormatInfoOneOf,\n Location,\n LocationLocationInfoOneOf,\n InPersonOptions,\n VideoConferenceOptions,\n PhoneOptions,\n FormFieldContactInfo,\n FormFieldContactInfoAdditionalInfoOneOf,\n EmailInfo,\n PhoneInfo,\n AddressInfo,\n CustomFieldInfo,\n SubscriptionInfo,\n _String,\n _StringComponentTypeOptionsOneOf,\n _Number,\n _NumberComponentTypeOptionsOneOf,\n _Boolean,\n _BooleanComponentTypeOptionsOneOf,\n _Array,\n _ArrayComponentTypeOptionsOneOf,\n _Object,\n WixFile,\n WixFileComponentTypeOptionsOneOf,\n Payment,\n PaymentComponentTypeOptionsOneOf,\n Scheduling,\n SchedulingComponentTypeOptionsOneOf,\n Address,\n AddressComponentTypeOptionsOneOf,\n ObjectArray,\n ObjectArrayComponentTypeOptionsOneOf,\n DisplayField,\n DisplayFieldDisplayFieldTypeOptionsOneOf,\n RichContentOptions,\n PageNavigationOptions,\n Step,\n FormRule,\n FormOverride,\n FormProperties,\n PostSubmissionTriggers,\n UpsertContact,\n V4FormFieldContactInfo,\n V4FormFieldContactInfoAdditionalInfoOneOf,\n FormFieldContactInfoEmailInfo,\n FormFieldContactInfoPhoneInfo,\n FormFieldContactInfoAddressInfo,\n FormFieldContactInfoCustomFieldInfo,\n FormFieldContactInfoSubscriptionInfo,\n NestedForm,\n LimitationRule,\n RequiredIndicatorProperties,\n SubmitSettings,\n SubmitSettingsSubmitSuccessActionOptionsOneOf,\n ThankYouMessageOptions,\n RedirectOptions,\n PopupOptions,\n FieldGroup,\n Rule,\n RequiredOptions,\n HiddenOptions,\n AllowedValuesOptions,\n FieldOverride,\n FieldOverridePropertyTypeOptionsOneOf,\n ConditionNode,\n ConditionNodeNodeOneOf,\n AndCondition,\n OrCondition,\n Condition,\n RuleFormOverride,\n RuleFormOverrideEntityTypeOptionsOneOf,\n Tags,\n TagsTagList,\n QuizSettings,\n QuizSettingsPassingCriteriaOneOf,\n QuizSettingsResultsDisplayOptionsOneOf,\n PassFailMessages,\n CreateCheckoutFromSubmissionResponse,\n Checkout,\n IsFormSubmittableRequest,\n IsFormSubmittableResponse,\n Empty,\n UpsertContactFromSubmissionRequest,\n UpsertContactFromSubmissionResponse,\n SubmitContactResponse,\n CreateSubmissionRequest,\n CreateSubmissionResponse,\n SubmissionValidationErrorsDetails,\n ValidationError,\n CreateSubmissionBySubmitterRequest,\n CreateSubmissionBySubmitterResponse,\n BulkCreateSubmissionBySubmitterRequest,\n BulkCreateSubmissionBySubmitterData,\n BulkCreateSubmissionBySubmitterResponse,\n BulkSubmissionResult,\n ItemMetadata,\n ApplicationError,\n BulkActionMetadata,\n GetSubmissionRequest,\n GetSubmissionResponse,\n GetSubmissionByCheckoutIdRequest,\n GetSubmissionByCheckoutIdResponse,\n UpdateSubmissionRequest,\n UpdateSubmissionResponse,\n ConfirmSubmissionRequest,\n ConfirmSubmissionResponse,\n DeleteSubmissionRequest,\n DeleteSubmissionResponse,\n BulkDeleteSubmissionRequest,\n BulkDeleteSubmissionResponse,\n BulkDeleteSubmissionResult,\n RestoreSubmissionFromTrashBinRequest,\n RestoreSubmissionFromTrashBinResponse,\n RemoveSubmissionFromTrashBinRequest,\n RemoveSubmissionFromTrashBinResponse,\n BulkRemoveSubmissionFromTrashBinRequest,\n BulkRemoveSubmissionFromTrashBinResponse,\n BulkRemoveSubmissionFromTrashBinResult,\n ListDeletedSubmissionsRequest,\n CursorPaging,\n ListDeletedSubmissionsResponse,\n CursorPagingMetadata,\n Cursors,\n GetDeletedSubmissionRequest,\n GetDeletedSubmissionResponse,\n QuerySubmissionRequest,\n CursorQuery,\n CursorQueryPagingMethodOneOf,\n Sorting,\n QuerySubmissionResponse,\n SearchSubmissionsByNamespaceRequest,\n CursorSearch,\n CursorSearchPagingMethodOneOf,\n SearchDetails,\n SearchSubmissionsByNamespaceResponse,\n SearchSubmissionsByNamespaceForExportRequest,\n SearchSubmissionsByNamespaceForExportResponse,\n QuerySubmissionsByNamespaceRequest,\n QuerySubmissionsByNamespaceResponse,\n QuerySubmissionsByNamespaceForExportRequest,\n QuerySubmissionsByNamespaceForExportResponse,\n CountSubmissionsByFilterRequest,\n CountSubmissionsByFilterResponse,\n FormSubmissionsCount,\n CountSubmissionsRequest,\n CountSubmissionsResponse,\n CountDeletedSubmissionsRequest,\n CountDeletedSubmissionsResponse,\n FormDeletedSubmissionsCount,\n GetMediaUploadURLRequest,\n GetMediaUploadURLResponse,\n BulkMarkSubmissionsAsSeenRequest,\n BulkMarkSubmissionsAsSeenResponse,\n GetSubmissionDownloadUrlRequest,\n GetSubmissionDownloadUrlResponse,\n SubmissionDocument,\n SubmissionDocumentDocumentOneOf,\n DocumentReady,\n DownloadSubmissionRequest,\n RawHttpResponse,\n HeadersEntry,\n GetFormattedSubmissionRequest,\n GetFormattedSubmissionResponse,\n FormattedSubmission,\n ListFormattedSubmissionsRequest,\n ListFormattedSubmissionsResponse,\n FormattedFormSubmission,\n UpdateExtendedFieldsRequest,\n UpdateExtendedFieldsResponse,\n BulkUpdateFormSubmissionTagsRequest,\n BulkUpdateFormSubmissionTagsResponse,\n BulkUpdateFormSubmissionTagsResult,\n BulkUpdateFormSubmissionTagsByFilterRequest,\n BulkUpdateFormSubmissionTagsByFilterResponse,\n ValidateFormSubmissionRequest,\n ValidateFormSubmissionResponse,\n FieldViolation,\n FieldViolationErrorDataOneOf,\n SubmissionValidationErrors,\n SubmissionValidationError,\n SubmissionValidationErrorErrorMessageOneOf,\n BaseEventMetadata,\n EventMetadata,\n AccountInfoMetadata,\n SubmissionCreatedEnvelope,\n SubmissionDeletedEnvelope,\n SubmissionRemovedSubmissionFromTrashEnvelope,\n SubmissionStatusUpdatedEnvelope,\n SubmissionContactMappedEnvelope,\n SubmissionContactMappingSkippedEnvelope,\n SubmissionUpdatedEnvelope,\n UpsertContactFromSubmissionOptions,\n CreateSubmissionOptions,\n UpdateSubmission,\n DeleteSubmissionOptions,\n BulkDeleteSubmissionOptions,\n BulkRemoveSubmissionFromTrashBinOptions,\n ListDeletedSubmissionsOptions,\n QuerySubmissionOptions,\n FormSubmissionSearchSpec,\n QuerySubmissionsByNamespaceOptions,\n SubmissionsQueryResult,\n SubmissionsQueryBuilder,\n FormSubmissionQuerySpec,\n CountSubmissionsByFilterOptions,\n CountSubmissionsOptions,\n CountDeletedSubmissionsOptions,\n UpdateExtendedFieldsOptions,\n BulkUpdateFormSubmissionTagsOptions,\n BulkUpdateFormSubmissionTagsByFilterOptions,\n ValidateFormSubmissionOptions,\n} from './forms-v4-submission-submissions.universal.js';\nexport { utils } from './forms-v4-submission-submissions.universal.js';\nexport {\n SubmissionStatusWithLiterals,\n OptInLevelWithLiterals,\n WebhookIdentityTypeWithLiterals,\n StringTypeFormatEnumFormatWithLiterals,\n DayOfWeekWithLiterals,\n ValidationFormatWithLiterals,\n ProductTypeWithLiterals,\n PriceTypeWithLiterals,\n FieldTypeWithLiterals,\n FormatEnumFormatWithLiterals,\n StringComponentTypeWithLiterals,\n NodeTypeWithLiterals,\n BackgroundTypeWithLiterals,\n GradientTypeWithLiterals,\n WidthTypeWithLiterals,\n PluginContainerDataAlignmentWithLiterals,\n ButtonDataTypeWithLiterals,\n LinkTargetWithLiterals,\n TextAlignmentWithLiterals,\n LineStyleWithLiterals,\n WidthWithLiterals,\n DividerDataAlignmentWithLiterals,\n ViewModeWithLiterals,\n LayoutTypeWithLiterals,\n OrientationWithLiterals,\n CropWithLiterals,\n ThumbnailsAlignmentWithLiterals,\n GIFTypeWithLiterals,\n SourceWithLiterals,\n StylesPositionWithLiterals,\n MapTypeWithLiterals,\n ViewRoleWithLiterals,\n VoteRoleWithLiterals,\n PollLayoutTypeWithLiterals,\n PollLayoutDirectionWithLiterals,\n PollDesignBackgroundTypeWithLiterals,\n DecorationTypeWithLiterals,\n FontTypeWithLiterals,\n PositionWithLiterals,\n AspectRatioWithLiterals,\n ResizingWithLiterals,\n PlacementWithLiterals,\n CardStylesTypeWithLiterals,\n CardStylesAlignmentWithLiterals,\n LayoutWithLiterals,\n AppTypeWithLiterals,\n InitialExpandedItemsWithLiterals,\n DirectionWithLiterals,\n VerticalAlignmentWithLiterals,\n NullValueWithLiterals,\n ImageScalingScalingWithLiterals,\n LayoutDataImagePositionWithLiterals,\n OriginWithLiterals,\n LayoutDataBackgroundTypeWithLiterals,\n BackdropTypeWithLiterals,\n VerticalAlignmentAlignmentWithLiterals,\n ResponsivenessBehaviourWithLiterals,\n DesignTargetWithLiterals,\n ScalingWithLiterals,\n ImagePositionPositionWithLiterals,\n CardDataBackgroundTypeWithLiterals,\n ListStyleWithLiterals,\n IndentationWithLiterals,\n ImagePositionWithLiterals,\n AlignmentWithLiterals,\n ImageFitWithLiterals,\n NumberOfColumnsWithLiterals,\n FirstDayOfWeekWithLiterals,\n NumberComponentTypeWithLiterals,\n BooleanComponentTypeWithLiterals,\n ItemTypeWithLiterals,\n PropertiesTypeEnumWithLiterals,\n ArrayComponentTypeWithLiterals,\n WixFileComponentTypeWithLiterals,\n UploadFileFormatWithLiterals,\n PaymentComponentTypeWithLiterals,\n ComponentTypeWithLiterals,\n TypeWithLiterals,\n ObjectArrayComponentTypeWithLiterals,\n SchedulingComponentTypeWithLiterals,\n FormatWithLiterals,\n MeetingTypeWithLiterals,\n StaffStrategySelectionWithLiterals,\n InputTypeWithLiterals,\n EmailInfoTagWithLiterals,\n PhoneInfoTagWithLiterals,\n TagWithLiterals,\n ConfirmationLevelWithLiterals,\n SubscriptionChannelWithLiterals,\n ContactFieldWithLiterals,\n DisplayFieldTypeWithLiterals,\n OverrideEntityTypeWithLiterals,\n KindWithLiterals,\n FormFieldContactInfoEmailInfoTagWithLiterals,\n FormFieldContactInfoPhoneInfoTagWithLiterals,\n AddressInfoTagWithLiterals,\n SubscriptionInfoOptInLevelWithLiterals,\n FormFieldContactInfoContactFieldWithLiterals,\n SpamFilterProtectionLevelWithLiterals,\n RequiredIndicatorWithLiterals,\n RequiredIndicatorPlacementWithLiterals,\n TargetWithLiterals,\n SubmitSuccessActionWithLiterals,\n ChangeablePropertyWithLiterals,\n OverrideEntityTypeEnumOverrideEntityTypeWithLiterals,\n OperatorWithLiterals,\n ResultsDisplayWithLiterals,\n ContactAutofillWithLiterals,\n SubmissionAccessWithLiterals,\n IdentityTypeWithLiterals,\n ErrorTypeWithLiterals,\n SortOrderWithLiterals,\n ModeWithLiterals,\n StatusWithLiterals,\n SubmissionErrorTypeWithLiterals,\n CreateSubmissionApplicationErrors,\n CreateSubmissionValidationErrors,\n UpdateSubmissionValidationErrors,\n CommonSearchWithEntityContext,\n FormSubmissionSearch,\n CommonQueryWithEntityContext,\n FormSubmissionQuery,\n} from './forms-v4-submission-submissions.universal.js';\n"],"mappings":"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","names":["renameKeysFromRESTResponseToSDKResponse","transformRESTTimestampToSDKTimestamp","transformPaths","payload","transformPaths","SubmissionStatus","OptInLevel","WebhookIdentityType","StringTypeFormatEnumFormat","DayOfWeek","ValidationFormat","ProductType","PriceType","FieldType","FormatEnumFormat","StringComponentType","NodeType","BackgroundType","GradientType","WidthType","PluginContainerDataAlignment","ButtonDataType","LinkTarget","TextAlignment","LineStyle","Width","DividerDataAlignment","ViewMode","LayoutType","Orientation","Crop","ThumbnailsAlignment","GIFType","Source","StylesPosition","MapType","ViewRole","VoteRole","PollLayoutType","PollLayoutDirection","PollDesignBackgroundType","DecorationType","FontType","Position","AspectRatio","Resizing","Placement","CardStylesType","CardStylesAlignment","Layout","AppType","InitialExpandedItems","Direction","VerticalAlignment","NullValue","ImageScalingScaling","LayoutDataImagePosition","Origin","LayoutDataBackgroundType","BackdropType","VerticalAlignmentAlignment","ResponsivenessBehaviour","DesignTarget","Scaling","ImagePositionPosition","CardDataBackgroundType","ListStyle","Indentation","ImagePosition","Alignment","ImageFit","NumberOfColumns","FirstDayOfWeek","NumberComponentType","BooleanComponentType","ItemType","PropertiesTypeEnum","ArrayComponentType","WixFileComponentType","UploadFileFormat","PaymentComponentType","ComponentType","Type","ObjectArrayComponentType","SchedulingComponentType","Format","MeetingType","StaffStrategySelection","InputType","EmailInfoTag","PhoneInfoTag","Tag","ConfirmationLevel","SubscriptionChannel","ContactField","DisplayFieldType","OverrideEntityType","Kind","FormFieldContactInfoEmailInfoTag","FormFieldContactInfoPhoneInfoTag","AddressInfoTag","SubscriptionInfoOptInLevel","FormFieldContactInfoContactField","SpamFilterProtectionLevel","RequiredIndicator","RequiredIndicatorPlacement","Target","SubmitSuccessAction","ChangeableProperty","OverrideEntityTypeEnumOverrideEntityType","Operator","ResultsDisplay","ContactAutofill","SubmissionAccess","IdentityType","ErrorType","SortOrder","Mode","Status","SubmissionErrorType","upsertContactFromSubmission","createSubmission","getSubmission","updateSubmission","confirmSubmission","deleteSubmission","bulkDeleteSubmission","restoreSubmissionFromTrashBin","removeSubmissionFromTrashBin","bulkRemoveSubmissionFromTrashBin","listDeletedSubmissions","getDeletedSubmission","querySubmission","searchSubmissionsByNamespace","querySubmissionsByNamespace","countSubmissionsByFilter","countSubmissions","countDeletedSubmissions","getMediaUploadUrl","bulkMarkSubmissionsAsSeen","getSubmissionDownloadUrl","downloadSubmission","getFormattedSubmission","updateExtendedFields","bulkUpdateFormSubmissionTags","bulkUpdateFormSubmissionTagsByFilter","validateFormSubmission","upsertContactFromSubmission","createSubmission","getSubmission","updateSubmission","confirmSubmission","deleteSubmission","bulkDeleteSubmission","restoreSubmissionFromTrashBin","removeSubmissionFromTrashBin","bulkRemoveSubmissionFromTrashBin","listDeletedSubmissions","getDeletedSubmission","querySubmission","searchSubmissionsByNamespace","querySubmissionsByNamespace","typedQuerySubmissionsByNamespace","countSubmissionsByFilter","countSubmissions","countDeletedSubmissions","getMediaUploadUrl","bulkMarkSubmissionsAsSeen","getSubmissionDownloadUrl","downloadSubmission","getFormattedSubmission","updateExtendedFields","bulkUpdateFormSubmissionTags","bulkUpdateFormSubmissionTagsByFilter","validateFormSubmission","renameKeysFromRESTResponseToSDKResponse","transformPaths","transformRESTTimestampToSDKTimestamp","querySubmissionsByNamespace","typedQuerySubmissionsByNamespace","upsertContactFromSubmission","createSubmission","getSubmission","updateSubmission","confirmSubmission","deleteSubmission","bulkDeleteSubmission","restoreSubmissionFromTrashBin","removeSubmissionFromTrashBin","bulkRemoveSubmissionFromTrashBin","listDeletedSubmissions","getDeletedSubmission","querySubmission","searchSubmissionsByNamespace","countSubmissionsByFilter","countSubmissions","countDeletedSubmissions","getMediaUploadUrl","bulkMarkSubmissionsAsSeen","getSubmissionDownloadUrl","downloadSubmission","getFormattedSubmission","updateExtendedFields","bulkUpdateFormSubmissionTags","bulkUpdateFormSubmissionTagsByFilter","validateFormSubmission","onSubmissionCreated","onSubmissionDeleted","onSubmissionRemovedSubmissionFromTrash","onSubmissionStatusUpdated","onSubmissionContactMapped","onSubmissionContactMappingSkipped","onSubmissionUpdated"]}