{"version":3,"sources":["../../src/forms-v4-form-spam-submission-report-form-spam-submission-reports.public.ts","../../src/forms-v4-form-spam-submission-report-form-spam-submission-reports.universal.ts","../../src/forms-v4-form-spam-submission-report-form-spam-submission-reports.http.ts","../../src/forms-v4-form-spam-submission-report-form-spam-submission-reports.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  BulkDeleteFormSpamSubmissionReportByFilterResponse,\n  BulkDeleteFormSpamSubmissionReportOptions,\n  BulkDeleteFormSpamSubmissionReportResponse,\n  BulkReportNotSpamSubmissionOptions,\n  BulkReportNotSpamSubmissionResponse,\n  BulkReportSpamSubmissionOptions,\n  BulkReportSpamSubmissionResponse,\n  CheckForSpamResponse,\n  CountFormSpamSubmissionReportsResponse,\n  CreateFormSpamSubmissionReportValidationErrors,\n  FormSpamSubmissionReport,\n  FormSpamSubmissionReportCreatedEnvelope,\n  FormSpamSubmissionReportDeletedEnvelope,\n  FormSpamSubmissionReportQuery,\n  FormSpamSubmissionReportUpdatedEnvelope,\n  FormSpamSubmissionReportsQueryBuilder,\n  FormSubmission,\n  QueryFormSpamSubmissionReportsByNamespaceResponse,\n  ReportNotSpamSubmissionResponse,\n  ReportReasonWithLiterals,\n  ReportSpamSubmissionOptions,\n  ReportSpamSubmissionResponse,\n  bulkDeleteFormSpamSubmissionReport as universalBulkDeleteFormSpamSubmissionReport,\n  bulkDeleteFormSpamSubmissionReportByFilter as universalBulkDeleteFormSpamSubmissionReportByFilter,\n  bulkReportNotSpamSubmission as universalBulkReportNotSpamSubmission,\n  bulkReportSpamSubmission as universalBulkReportSpamSubmission,\n  checkForSpam as universalCheckForSpam,\n  countFormSpamSubmissionReports as universalCountFormSpamSubmissionReports,\n  createFormSpamSubmissionReport as universalCreateFormSpamSubmissionReport,\n  deleteFormSpamSubmissionReport as universalDeleteFormSpamSubmissionReport,\n  getFormSpamSubmissionReport as universalGetFormSpamSubmissionReport,\n  queryFormSpamSubmissionReportsByNamespace as universalQueryFormSpamSubmissionReportsByNamespace,\n  reportNotSpamSubmission as universalReportNotSpamSubmission,\n  reportSpamSubmission as universalReportSpamSubmission,\n  typedQueryFormSpamSubmissionReportsByNamespace as universalTypedQueryFormSpamSubmissionReportsByNamespace,\n} from './forms-v4-form-spam-submission-report-form-spam-submission-reports.universal.js';\n\nconst TRANSFORM_PATHS_0 = [\n  { path: 'entity.createdDate' },\n  { path: 'entity.reportedDate' },\n  { path: 'entity.updatedDate' },\n  { path: 'metadata.eventTime' },\n];\nexport const __metadata = { PACKAGE_NAME: '@wix/forms' };\n\nexport function checkForSpam(httpClient: HttpClient): CheckForSpamSignature {\n  return (submission: NonNullablePaths<FormSubmission, `formId`, 0>) =>\n    universalCheckForSpam(\n      submission,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface CheckForSpamSignature {\n  /**\n   * Checks whether a submission is spam.\n   *\n   * Which checks run depends on the form's `spamFilterProtectionLevel` in the [Form Schemas API](https://dev.wix.com/docs/api-reference/crm/forms/form-schemas/introduction).\n   *\n   * This method returns the result only. It doesn't store a form spam submission report. To move a saved submission to spam, call [Report Spam Submission](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/report-spam-submission). To store a spam submission that wasn't saved, call [Create Form Spam Submission Report](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/create-form-spam-submission-report).\n   *\n   * Supported only for forms in the Wix Forms namespace, `wix.form_app.form`. Calls for forms in other namespaces fail with a permission error.\n   * @param - Submission to check.\n   */\n  (submission: NonNullablePaths<FormSubmission, `formId`, 0>): Promise<\n    NonNullablePaths<\n      CheckForSpamResponse,\n      `spam` | `spamReport.reportReason`,\n      1\n    >\n  >;\n}\n\nexport function createFormSpamSubmissionReport(\n  httpClient: HttpClient\n): CreateFormSpamSubmissionReportSignature {\n  return (\n    formSpamSubmissionReport: NonNullablePaths<\n      FormSpamSubmissionReport,\n      `formId` | `reportReason` | `submissions` | `submitter`,\n      0\n    >\n  ) =>\n    universalCreateFormSpamSubmissionReport(\n      formSpamSubmissionReport,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface CreateFormSpamSubmissionReportSignature {\n  /**\n   * Creates a form spam submission report.\n   *\n   * Use this method to store a spam submission that wasn't saved as a regular submission. To move a saved submission to spam, call [Report Spam Submission](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/report-spam-submission) instead. It creates the report and deletes the submission.\n   *\n   * The submitted values are validated against the form's fields. To upload files for the submission, call [Get Media Upload URL](https://dev.wix.com/docs/api-reference/crm/forms/form-submissions/get-media-upload-url) in the Form Submissions API.\n   * @param - Form spam submission report to create.\n   * @returns Created form spam submission report.\n   */\n  (\n    formSpamSubmissionReport: NonNullablePaths<\n      FormSpamSubmissionReport,\n      `formId` | `reportReason` | `submissions` | `submitter`,\n      0\n    >\n  ): Promise<\n    NonNullablePaths<\n      FormSpamSubmissionReport,\n      | `formId`\n      | `namespace`\n      | `reportReason`\n      | `submissionStatusAtReport`\n      | `orderDetails.checkoutId`,\n      1\n    > & {\n      __validationErrorsType?: CreateFormSpamSubmissionReportValidationErrors;\n    }\n  >;\n}\n\nexport function getFormSpamSubmissionReport(\n  httpClient: HttpClient\n): GetFormSpamSubmissionReportSignature {\n  return (formSpamSubmissionReportId: string) =>\n    universalGetFormSpamSubmissionReport(\n      formSpamSubmissionReportId,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface GetFormSpamSubmissionReportSignature {\n  /**\n   * Retrieves a form spam submission report.\n   * @param - ID of the form spam submission report to retrieve.\n   * @returns Retrieved form spam submission report.\n   */\n  (formSpamSubmissionReportId: string): Promise<\n    NonNullablePaths<\n      FormSpamSubmissionReport,\n      | `formId`\n      | `namespace`\n      | `reportReason`\n      | `submissionStatusAtReport`\n      | `orderDetails.checkoutId`,\n      1\n    >\n  >;\n}\n\nexport function deleteFormSpamSubmissionReport(\n  httpClient: HttpClient\n): DeleteFormSpamSubmissionReportSignature {\n  return (formSpamSubmissionReportId: string) =>\n    universalDeleteFormSpamSubmissionReport(\n      formSpamSubmissionReportId,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface DeleteFormSpamSubmissionReportSignature {\n  /**\n   * Permanently deletes a form spam submission report.\n   *\n   * The report's uploaded files are also deleted. To restore the submission instead, call [Report Not Spam Submission](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/report-not-spam-submission).\n   *\n   * To delete multiple reports in a single API call, call [Bulk Delete Form Spam Submission Report](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/bulk-delete-form-spam-submission-report).\n   * @param - ID of the form spam submission report to delete.\n   */\n  (formSpamSubmissionReportId: string): Promise<void>;\n}\n\nexport function bulkDeleteFormSpamSubmissionReport(\n  httpClient: HttpClient\n): BulkDeleteFormSpamSubmissionReportSignature {\n  return (\n    formId: string,\n    options?: BulkDeleteFormSpamSubmissionReportOptions\n  ) =>\n    universalBulkDeleteFormSpamSubmissionReport(\n      formId,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface BulkDeleteFormSpamSubmissionReportSignature {\n  /**\n   * Permanently deletes multiple form spam submission reports of a form.\n   *\n   * The reports' uploaded files are also deleted. Report IDs that don't exist or that belong to another form are skipped.\n   *\n   * To delete all reports that match a filter, call [Bulk Delete Form Spam Submission Report By Filter](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/bulk-delete-form-spam-submission-report-by-filter).\n   *\n   * To delete a single report, call [Delete Form Spam Submission Report](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/delete-form-spam-submission-report).\n   * @param - ID of the form that the reports belong to.\n   */\n  (\n    formId: string,\n    options?: BulkDeleteFormSpamSubmissionReportOptions\n  ): Promise<\n    NonNullablePaths<\n      BulkDeleteFormSpamSubmissionReportResponse,\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      4\n    >\n  >;\n}\n\nexport function bulkDeleteFormSpamSubmissionReportByFilter(\n  httpClient: HttpClient\n): BulkDeleteFormSpamSubmissionReportByFilterSignature {\n  return (filter: Record<string, any>) =>\n    universalBulkDeleteFormSpamSubmissionReportByFilter(\n      filter,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface BulkDeleteFormSpamSubmissionReportByFilterSignature {\n  /**\n   * Asynchronously deletes the form spam submission reports that match a filter.\n   *\n   * The filter must include `namespace` and `formId`. If no reports match the filter, the call fails with a `NOT_FOUND` error. The reports' uploaded files are also deleted.\n   *\n   * To check the status of the deletion, pass the returned `jobId` to [Get Async Job](https://dev.wix.com/docs/api-reference/business-management/async-job/get-async-job).\n   *\n   * To delete specific reports by ID, call [Bulk Delete Form Spam Submission Report](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/bulk-delete-form-spam-submission-report).\n   * @param - Filter object. See [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language) for more information.\n   *\n   * Must include `namespace` and `formId`.\n   */\n  (filter: Record<string, any>): Promise<\n    NonNullablePaths<\n      BulkDeleteFormSpamSubmissionReportByFilterResponse,\n      `jobId`,\n      0\n    >\n  >;\n}\n\nexport function reportNotSpamSubmission(\n  httpClient: HttpClient\n): ReportNotSpamSubmissionSignature {\n  return (formSpamSubmissionReportId: string) =>\n    universalReportNotSpamSubmission(\n      formSpamSubmissionReportId,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface ReportNotSpamSubmissionSignature {\n  /**\n   * Restores a spam submission as a regular submission.\n   *\n   * A new submission is created from the report's data, with a new submission ID, and the report is deleted shortly after. A submission that was `PENDING` when reported is restored as `CONFIRMED`. Any other status is kept. Submission automations run as they do for any new submission, and uploaded files are kept.\n   *\n   * Supported only for forms in the Wix Forms namespace, `wix.form_app.form`.\n   *\n   * To restore multiple submissions in a single API call, call [Bulk Report Not Spam Submission](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/bulk-report-not-spam-submission).\n   * @param - ID of the form spam submission report to restore.\n   */\n  (formSpamSubmissionReportId: string): Promise<\n    NonNullablePaths<\n      ReportNotSpamSubmissionResponse,\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      3\n    >\n  >;\n}\n\nexport function bulkReportNotSpamSubmission(\n  httpClient: HttpClient\n): BulkReportNotSpamSubmissionSignature {\n  return (formId: string, options?: BulkReportNotSpamSubmissionOptions) =>\n    universalBulkReportNotSpamSubmission(\n      formId,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface BulkReportNotSpamSubmissionSignature {\n  /**\n   * Restores multiple spam submissions of a form as regular submissions.\n   *\n   * For each report, a new submission is created from the report's data, with a new submission ID, and the report is deleted shortly after. A submission that was `PENDING` when reported is restored as `CONFIRMED`. Any other status is kept. Submission automations run as they do for any new submission.\n   *\n   * In the results, `itemMetadata.id` is the ID of the new submission. Report IDs that don't exist or that belong to another form are skipped.\n   *\n   * To restore a single submission, call [Report Not Spam Submission](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/report-not-spam-submission).\n   * @param - ID of the form that the reports belong to.\n   */\n  (formId: string, options?: BulkReportNotSpamSubmissionOptions): Promise<\n    NonNullablePaths<\n      BulkReportNotSpamSubmissionResponse,\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      | `results.${number}.formSpamSubmissionReportId`\n      | `bulkActionMetadata.totalSuccesses`\n      | `bulkActionMetadata.totalFailures`\n      | `bulkActionMetadata.undetailedFailures`,\n      4\n    >\n  >;\n}\n\nexport function reportSpamSubmission(\n  httpClient: HttpClient\n): ReportSpamSubmissionSignature {\n  return (\n    submissionId: string,\n    reportReason: ReportReasonWithLiterals,\n    options?: ReportSpamSubmissionOptions\n  ) =>\n    universalReportSpamSubmission(\n      submissionId,\n      reportReason,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface ReportSpamSubmissionSignature {\n  /**\n   * Reports a submission as spam.\n   *\n   * A form spam submission report is created from the submission, and the submission is deleted shortly after.\n   *\n   * Supported only for forms in the Wix Forms namespace, `wix.form_app.form`.\n   *\n   * To store a spam submission that wasn't saved as a regular submission, call [Create Form Spam Submission Report](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/create-form-spam-submission-report). To report multiple submissions in a single API call, call [Bulk Report Spam Submission](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/bulk-report-spam-submission).\n   * @param - ID of the submission to report as spam.\n   * @param - Reason the submission is reported as spam.\n   */\n  (\n    submissionId: string,\n    reportReason: ReportReasonWithLiterals,\n    options?: ReportSpamSubmissionOptions\n  ): Promise<\n    NonNullablePaths<\n      ReportSpamSubmissionResponse,\n      | `formSpamSubmissionReport.formId`\n      | `formSpamSubmissionReport.namespace`\n      | `formSpamSubmissionReport.reportReason`\n      | `formSpamSubmissionReport.submissionStatusAtReport`\n      | `formSpamSubmissionReport.orderDetails.checkoutId`,\n      2\n    >\n  >;\n}\n\nexport function bulkReportSpamSubmission(\n  httpClient: HttpClient\n): BulkReportSpamSubmissionSignature {\n  return (\n    formId: string,\n    options?: NonNullablePaths<\n      BulkReportSpamSubmissionOptions,\n      `reportReason` | `submissionIds`,\n      0\n    >\n  ) =>\n    universalBulkReportSpamSubmission(\n      formId,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface BulkReportSpamSubmissionSignature {\n  /**\n   * Reports multiple submissions of a form as spam.\n   *\n   * For each submission, a form spam submission report is created, and the submission is deleted shortly after. Submission IDs that don't exist or that belong to another form are skipped.\n   *\n   * To report a single submission, call [Report Spam Submission](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/report-spam-submission).\n   * @param - ID of the form that the submissions belong to.\n   */\n  (\n    formId: string,\n    options?: NonNullablePaths<\n      BulkReportSpamSubmissionOptions,\n      `reportReason` | `submissionIds`,\n      0\n    >\n  ): Promise<\n    NonNullablePaths<\n      BulkReportSpamSubmissionResponse,\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      | `results.${number}.item.formId`\n      | `results.${number}.item.namespace`\n      | `results.${number}.item.reportReason`\n      | `results.${number}.item.submissionStatusAtReport`\n      | `results.${number}.item.orderDetails.checkoutId`\n      | `bulkActionMetadata.totalSuccesses`\n      | `bulkActionMetadata.totalFailures`\n      | `bulkActionMetadata.undetailedFailures`,\n      4\n    >\n  >;\n}\n\nexport function queryFormSpamSubmissionReportsByNamespace(\n  httpClient: HttpClient\n): QueryFormSpamSubmissionReportsByNamespaceSignature {\n  return () =>\n    universalQueryFormSpamSubmissionReportsByNamespace(\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface QueryFormSpamSubmissionReportsByNamespaceSignature {\n  /**\n   * Retrieves a list of up to 100 form spam submission reports, given the provided paging, filtering, and sorting.\n   *\n   * Query Form Spam Submission Reports By Namespace runs with these defaults, which you can override:\n   *\n   * - `createdDate` is sorted in `DESC` order\n   * - `cursorPaging.limit` is `50`\n   *\n   * The filter must include `namespace`. To filter or sort by `createdDate`, `reportedDate`, or `reportReason`, also filter by `formId`.\n   *\n   * To learn about working with Query methods, see [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language), [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging), and [Field Projection](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-field-projection).\n   */\n  (): FormSpamSubmissionReportsQueryBuilder;\n}\n\nexport function typedQueryFormSpamSubmissionReportsByNamespace(\n  httpClient: HttpClient\n): TypedQueryFormSpamSubmissionReportsByNamespaceSignature {\n  return (query: FormSpamSubmissionReportQuery) =>\n    universalTypedQueryFormSpamSubmissionReportsByNamespace(\n      query,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface TypedQueryFormSpamSubmissionReportsByNamespaceSignature {\n  /** */\n  (query: FormSpamSubmissionReportQuery): Promise<\n    NonNullablePaths<\n      QueryFormSpamSubmissionReportsByNamespaceResponse,\n      | `formSpamSubmissionReports`\n      | `formSpamSubmissionReports.${number}.formId`\n      | `formSpamSubmissionReports.${number}.namespace`\n      | `formSpamSubmissionReports.${number}.reportReason`\n      | `formSpamSubmissionReports.${number}.submissionStatusAtReport`\n      | `formSpamSubmissionReports.${number}.orderDetails.checkoutId`,\n      3\n    >\n  >;\n}\n\nexport function countFormSpamSubmissionReports(\n  httpClient: HttpClient\n): CountFormSpamSubmissionReportsSignature {\n  return (formIds: string[], namespace: string) =>\n    universalCountFormSpamSubmissionReports(\n      formIds,\n      namespace,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface CountFormSpamSubmissionReportsSignature {\n  /**\n   * Counts the form spam submission reports of the specified forms.\n   *\n   * Forms with no reports aren't included in the response.\n   * @param - IDs of the forms to count reports for.\n   * @param - Namespace of the app that the forms belong to.\n   *\n   * Currently supports `wix.form_app.form`, the namespace of the Wix Forms app.\n   */\n  (formIds: string[], namespace: string): Promise<\n    NonNullablePaths<\n      CountFormSpamSubmissionReportsResponse,\n      | `formsSpamSubmissionReportsCount`\n      | `formsSpamSubmissionReportsCount.${number}.formId`\n      | `formsSpamSubmissionReportsCount.${number}.totalCount`,\n      2\n    >\n  >;\n}\n\nexport const onFormSpamSubmissionReportCreated = /*#__PURE__*/ EventDefinition(\n  'wix.forms.v4.form_spam_submission_report_created',\n  true,\n  (event: FormSpamSubmissionReportCreatedEnvelope) =>\n    renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(event, [\n        {\n          transformFn: transformRESTTimestampToSDKTimestamp,\n          paths: TRANSFORM_PATHS_0,\n        },\n      ])\n    )\n)<FormSpamSubmissionReportCreatedEnvelope>();\nexport const onFormSpamSubmissionReportDeleted = /*#__PURE__*/ EventDefinition(\n  'wix.forms.v4.form_spam_submission_report_deleted',\n  true,\n  (event: FormSpamSubmissionReportDeletedEnvelope) =>\n    renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(event, [\n        {\n          transformFn: transformRESTTimestampToSDKTimestamp,\n          paths: TRANSFORM_PATHS_0,\n        },\n      ])\n    )\n)<FormSpamSubmissionReportDeletedEnvelope>();\nexport const onFormSpamSubmissionReportUpdated = /*#__PURE__*/ EventDefinition(\n  'wix.forms.v4.form_spam_submission_report_updated',\n  true,\n  (event: FormSpamSubmissionReportUpdatedEnvelope) =>\n    renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(event, [\n        {\n          transformFn: transformRESTTimestampToSDKTimestamp,\n          paths: TRANSFORM_PATHS_0,\n        },\n      ])\n    )\n)<FormSpamSubmissionReportUpdatedEnvelope>();\n\nexport {\n  AccountInfo,\n  AccountInfoMetadata,\n  ActionEvent,\n  ApplicationError,\n  AppointmentDetails,\n  BaseEventMetadata,\n  BulkActionMetadata,\n  BulkDeleteFormSpamSubmissionReportByFilterRequest,\n  BulkDeleteFormSpamSubmissionReportByFilterResponse,\n  BulkDeleteFormSpamSubmissionReportOptions,\n  BulkDeleteFormSpamSubmissionReportRequest,\n  BulkDeleteFormSpamSubmissionReportResponse,\n  BulkDeleteFormSpamSubmissionReportResult,\n  BulkReportNotSpamSubmissionOptions,\n  BulkReportNotSpamSubmissionRequest,\n  BulkReportNotSpamSubmissionResponse,\n  BulkReportNotSpamSubmissionResult,\n  BulkReportSpamSubmissionOptions,\n  BulkReportSpamSubmissionRequest,\n  BulkReportSpamSubmissionResponse,\n  BulkReportSpamSubmissionResult,\n  CheckForSpamRequest,\n  CheckForSpamResponse,\n  CountFormSpamSubmissionReportsRequest,\n  CountFormSpamSubmissionReportsResponse,\n  CreateFormSpamSubmissionReportRequest,\n  CreateFormSpamSubmissionReportResponse,\n  CursorPaging,\n  CursorPagingMetadata,\n  CursorQuery,\n  CursorQueryPagingMethodOneOf,\n  Cursors,\n  DeleteFormSpamSubmissionReportRequest,\n  DeleteFormSpamSubmissionReportResponse,\n  DomainEvent,\n  DomainEventBodyOneOf,\n  Empty,\n  EntityCreatedEvent,\n  EntityDeletedEvent,\n  EntityUpdatedEvent,\n  ErrorType,\n  EventMetadata,\n  ExtendedFields,\n  FormSpamSubmissionReport,\n  FormSpamSubmissionReportCreatedEnvelope,\n  FormSpamSubmissionReportDeletedEnvelope,\n  FormSpamSubmissionReportQuerySpec,\n  FormSpamSubmissionReportUpdatedEnvelope,\n  FormSpamSubmissionReportValidationErrorsDetails,\n  FormSpamSubmissionReportsCount,\n  FormSpamSubmissionReportsQueryBuilder,\n  FormSpamSubmissionReportsQueryResult,\n  FormSubmission,\n  FormSubmissionOrderDetails,\n  GetFormSpamSubmissionReportRequest,\n  GetFormSpamSubmissionReportResponse,\n  IdentificationData,\n  IdentificationDataIdOneOf,\n  ItemMetadata,\n  MessageEnvelope,\n  OrderDetails,\n  PublicTags,\n  QueryFormSpamSubmissionReportsByNamespaceRequest,\n  QueryFormSpamSubmissionReportsByNamespaceResponse,\n  ReportNotSpamSubmissionRequest,\n  ReportNotSpamSubmissionResponse,\n  ReportReason,\n  ReportSpamSubmissionOptions,\n  ReportSpamSubmissionRequest,\n  ReportSpamSubmissionResponse,\n  RestoreInfo,\n  SortOrder,\n  Sorting,\n  SpamReport,\n  SubmissionStatus,\n  Submitter,\n  SubmitterSubmitterOneOf,\n  TagList,\n  ValidationError,\n  WebhookIdentityType,\n  utils,\n} from './forms-v4-form-spam-submission-report-form-spam-submission-reports.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  NonNullablePaths,\n  QuerySpec,\n  Query as QuerySdkType,\n} from '@wix/sdk-types';\nimport * as ambassadorWixFormsV4FormSpamSubmissionReport from './forms-v4-form-spam-submission-report-form-spam-submission-reports.http.js';\n// @ts-ignore\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { createQueryUtils } from '@wix/sdk-runtime/query-builder-utils';\n\n/**\n * A form spam submission report stores a form submission that was flagged as spam, together with the reason it was flagged.\n *\n * Reports are deleted automatically after 30 days, unless the submission is restored as not spam.\n */\nexport interface FormSpamSubmissionReport {\n  /**\n   * Form spam submission report ID.\n   * @format GUID\n   * @readonly\n   */\n  _id?: string | null;\n  /**\n   * ID of the form the submission was made on.\n   * @format GUID\n   * @immutable\n   */\n  formId?: string;\n  /**\n   * Namespace of the app that the form belongs to. Copied from the form.\n   *\n   * Currently supports `wix.form_app.form`, the namespace of the Wix Forms app.\n   * @minLength 10\n   * @maxLength 50\n   * @readonly\n   */\n  namespace?: string;\n  /**\n   * Identity of the submitter: a member, visitor, app, or user.\n   * @immutable\n   */\n  submitter?: Submitter;\n  /**\n   * Submitted values. Each key is the `target` of a form field, and each value is what the submitter entered in that field.\n   *\n   * Validated against the form's fields when the report is created.\n   * @immutable\n   */\n  submissions?: Record<string, any>;\n  /**\n   * Reason the submission was flagged as spam.\n   * @immutable\n   */\n  reportReason?: ReportReasonWithLiterals;\n  /**\n   * Date and time the original submission was created.\n   *\n   * When you create a report for an existing submission, specify the submission's creation date to keep it. Can't be in the future.\n   *\n   * Default: Date and time the report is created\n   * @immutable\n   */\n  _createdDate?: Date | null;\n  /**\n   * Date and time the submission was reported as spam.\n   * @readonly\n   */\n  reportedDate?: Date | null;\n  /**\n   * Date and time the form spam submission report was last updated.\n   * @readonly\n   */\n  _updatedDate?: Date | null;\n  /**\n   * Revision number, which increments by 1 each time the form spam submission report is updated.\n   *\n   * Ignored when creating a form spam submission report.\n   * @readonly\n   */\n  revision?: string | null;\n  /**\n   * Custom field data for the form spam submission report object.\n   *\n   * [Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the app dashboard before they can be accessed with API calls.\n   */\n  extendedFields?: ExtendedFields;\n  /**\n   * Status of the submission when it was reported as spam.\n   *\n   * When the submission is restored as not spam, a `PENDING` status becomes `CONFIRMED`. Any other status is kept.\n   *\n   * Returned as `PENDING` when the status wasn't recorded.\n   */\n  submissionStatusAtReport?: SubmissionStatusWithLiterals;\n  /**\n   * Payment details of the submission.\n   *\n   * Available only for forms with payments.\n   */\n  orderDetails?: OrderDetails;\n  /**\n   * ID of the contact who submitted the form: the site member who submitted it, or the contact matched to the submitter.\n   * @format GUID\n   * @readonly\n   */\n  contactId?: string | null;\n  /**\n   * ID of the user who is authorized to view the original submission. Copied from the submission's `accessRestriction`.\n   *\n   * When set, reading the report requires the same additional access check as reading the submission.\n   * @format GUID\n   * @immutable\n   */\n  accessRestriction?: string | null;\n  /**\n   * Additional details about why the submission was flagged as spam. For example, the explanation returned by a spam moderation service plugin, or a note from the person who reported it.\n   * @minLength 1\n   * @maxLength 255\n   */\n  reportReasonDescription?: string | null;\n  /**\n   * ID of the site the submission was made on.\n   *\n   * Returned only when the site shares its data with a parent site. In that case, spam submission reports from all child sites are stored on the parent site, and this field identifies which site the report came from.\n   * @format GUID\n   * @readonly\n   */\n  childMetaSiteId?: string | null;\n}\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 enum ReportReason {\n  /** Too many submissions with the same email address in a short time. */\n  EMAIL_QUOTA_REACHED = 'EMAIL_QUOTA_REACHED',\n  /** The submitter's IP address is blocklisted. */\n  IP_BLOCKLISTED = 'IP_BLOCKLISTED',\n  /** An email address in the submission is blocklisted. */\n  EMAIL_BLOCKLISTED = 'EMAIL_BLOCKLISTED',\n  /** Flagged by an AI model that analyzes the submission text. Runs on forms with the `ADVANCED` spam protection level. */\n  AI_REPORTED = 'AI_REPORTED',\n  /** Reported as spam by a person, such as the site owner or a collaborator. */\n  MANUALLY_REPORTED = 'MANUALLY_REPORTED',\n  /** Flagged by a spam moderation service plugin installed on the site. */\n  MODERATION_SPI = 'MODERATION_SPI',\n  /** Flagged by a large language model (LLM) that analyzes the submission text. Runs on forms with the `ADVANCED` spam protection level, after all other checks found no spam. */\n  AI_REPORTED_LLM = 'AI_REPORTED_LLM',\n}\n\n/** @enumType */\nexport type ReportReasonWithLiterals =\n  | ReportReason\n  | 'EMAIL_QUOTA_REACHED'\n  | 'IP_BLOCKLISTED'\n  | 'EMAIL_BLOCKLISTED'\n  | 'AI_REPORTED'\n  | 'MANUALLY_REPORTED'\n  | 'MODERATION_SPI'\n  | 'AI_REPORTED_LLM';\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 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 OrderDetails {\n  /**\n   * ID of the checkout created for the submission.\n   * @format GUID\n   * @readonly\n   */\n  checkoutId?: string;\n}\n\nexport interface CheckForSpamRequest {\n  /** Submission to check. */\n  submission: FormSubmission;\n}\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. A submission inherits the namespace from its form schema, so you can't set it directly.\n   *\n   * For example, a submission of a form visible in the Wix Forms app has the namespace `wix.form_app.form`, the namespace of the Wix Forms app, whose app ID is `225dd912-7dea-4738-8688-4b8c6955ffc2`.\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   * To retrieve the ID for a Wix app, see [Apps Created By Wix](https://dev.wix.com/docs/rest/articles/get-started/apps-created-by-wix).\n   * @minLength 10\n   * @maxLength 50\n   * @readonly\n   */\n  namespace?: string;\n  /**\n   * Status of the submission.\n   *\n   * The status a submission is created with depends on the form's namespace and on whether the form collects payment, so read it from the response rather than assuming.\n   *\n   * A submission for a form that collects payment starts as `PAYMENT_WAITING`. Otherwise, most namespaces record the submission immediately as `CONFIRMED`. Namespaces that need to complete another step first, such as taking payment for a pricing plan, create the submission as `PENDING` and confirm it later with Confirm Submission.\n   *\n   * A `PENDING` submission isn't recorded yet, and is deleted automatically if it isn't confirmed in time.\n   */\n  status?: SubmissionStatusWithLiterals;\n  /**\n   * Values the visitor submitted.\n   *\n   * Each key is the `target` of a field in the form schema, which is the field's stable storage key rather than its ID or label. Only keys matching a field target are accepted.\n   *\n   * Each value's shape follows that field's `inputType`: `STRING` fields submit a string, `NUMBER` a number, `BOOLEAN` a boolean, and `ARRAY` an array of the selected option values. Date and time fields are strings. A choice field submits an option's `value`, not its ID or its label.\n   *\n   * 3 input types submit structured values: `ADDRESS` submits an address object, `PAYMENT` an array holding 1 product object per item bought, and `SCHEDULING` an appointment object.\n   *\n   * For the full mapping, see [About Submission Values](https://dev.wix.com/docs/api-reference/crm/forms/form-submissions/about-submission-values).\n   */\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?: FormSubmissionOrderDetails;\n  /**\n   * Contact ID of a site visitor who created the submission.\n   * @format GUID\n   * @readonly\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   * ID of the child site the submission was made on.\n   *\n   * Only present when the form was submitted on a site that shares its data with a parent site. In that case submissions from every child site are stored on the parent site, and this field identifies which child site the submission came from.\n   * @format GUID\n   * @readonly\n   */\n  childMetaSiteId?: string | null;\n}\n\nexport interface FormSubmissionOrderDetails {\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 CheckForSpamResponse {\n  /** Whether the submission is spam. */\n  spam?: boolean;\n  /**\n   * Spam details.\n   *\n   * Returned only when `spam` is `true`.\n   */\n  spamReport?: SpamReport;\n}\n\nexport interface SpamReport {\n  /** Reason the submission was flagged as spam. */\n  reportReason?: ReportReasonWithLiterals;\n  /**\n   * Additional details about why the submission was flagged as spam.\n   *\n   * Returned only when the submission was flagged by a spam moderation service plugin.\n   * @minLength 1\n   * @maxLength 255\n   */\n  reportReasonDescription?: string | null;\n}\n\nexport interface CreateFormSpamSubmissionReportRequest {\n  /** Form spam submission report to create. */\n  formSpamSubmissionReport: FormSpamSubmissionReport;\n}\n\nexport interface CreateFormSpamSubmissionReportResponse {\n  /** Created form spam submission report. */\n  formSpamSubmissionReport?: FormSpamSubmissionReport;\n}\n\nexport interface FormSpamSubmissionReportValidationErrorsDetails {\n  /**\n   * Validation error for each invalid field.\n   * @maxSize 100\n   */\n  errors?: ValidationError[];\n}\n\nexport interface ValidationError {\n  /**\n   * Path to the value that failed validation, relative to the submission's values.\n   *\n   * For a top-level field this is the field's `target`, such as `email`. For a value nested inside a field, the path continues with `/`, such as `address/postal_code` for an address subfield, or `attachments/0/fileId` for an element of an array field.\n   * @maxLength 1000\n   */\n  errorPath?: string;\n  /**\n   * Error type.\n   *\n   * Switch on this rather than parsing `errorMessage`, which carries the underlying validator's wording and isn't a stable contract.\n   */\n  errorType?: ErrorTypeWithLiterals;\n  /**\n   * Human readable description of the error, in English.\n   *\n   * This comes from the schema validator and is meant for debugging. It isn't localized and its wording can change, so don't parse it or show it to submitters. Use `errorType` to decide what to display.\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  /** No resource on the site is connected to a video conferencing provider, so the appointment's online meeting format can't be offered */\n  NO_CONNECTED_CONFERENCING_RESOURCE_ERROR = 'NO_CONNECTED_CONFERENCING_RESOURCE_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  | 'NO_CONNECTED_CONFERENCING_RESOURCE_ERROR';\n\nexport interface GetFormSpamSubmissionReportRequest {\n  /**\n   * ID of the form spam submission report to retrieve.\n   * @format GUID\n   */\n  formSpamSubmissionReportId: string;\n}\n\nexport interface GetFormSpamSubmissionReportResponse {\n  /** Retrieved form spam submission report. */\n  formSpamSubmissionReport?: FormSpamSubmissionReport;\n}\n\nexport interface DeleteFormSpamSubmissionReportRequest {\n  /**\n   * ID of the form spam submission report to delete.\n   * @format GUID\n   */\n  formSpamSubmissionReportId: string;\n}\n\nexport interface DeleteFormSpamSubmissionReportResponse {}\n\nexport interface BulkDeleteFormSpamSubmissionReportRequest {\n  /**\n   * ID of the form that the reports belong to.\n   * @format GUID\n   */\n  formId: string;\n  /**\n   * IDs of the form spam submission reports to delete.\n   * @maxSize 100\n   * @format GUID\n   */\n  formSpamSubmissionReportIds?: string[];\n}\n\nexport interface BulkDeleteFormSpamSubmissionReportResponse {\n  /**\n   * Result for each form spam submission report.\n   * @minSize 1\n   * @maxSize 100\n   */\n  results?: BulkDeleteFormSpamSubmissionReportResult[];\n  /** Metadata about the bulk action, such as the number of successes and failures. */\n  bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkDeleteFormSpamSubmissionReportResult {\n  /** Metadata about the deleted report, such as whether the deletion succeeded. */\n  itemMetadata?: ItemMetadata;\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 BulkDeleteFormSpamSubmissionReportByFilterRequest {\n  /**\n   * Filter object. See [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language) for more information.\n   *\n   * Must include `namespace` and `formId`.\n   */\n  filter: Record<string, any> | null;\n}\n\nexport interface BulkDeleteFormSpamSubmissionReportByFilterResponse {\n  /**\n   * Job ID. Pass this ID to [Get Async Job](https://dev.wix.com/docs/api-reference/business-management/async-job/get-async-job) to retrieve the status of the asynchronous operation.\n   * @format GUID\n   */\n  jobId?: string;\n}\n\nexport interface ReportNotSpamSubmissionRequest {\n  /**\n   * ID of the form spam submission report to restore.\n   * @format GUID\n   */\n  formSpamSubmissionReportId: string;\n}\n\nexport interface ReportNotSpamSubmissionResponse {\n  /** Submission created from the report. */\n  submission?: FormSubmission;\n}\n\nexport interface BulkReportNotSpamSubmissionRequest {\n  /**\n   * ID of the form that the reports belong to.\n   * @format GUID\n   */\n  formId: string;\n  /**\n   * IDs of the form spam submission reports to restore.\n   * @minSize 1\n   * @maxSize 100\n   * @format GUID\n   */\n  formSpamSubmissionReportIds?: string[];\n}\n\nexport interface BulkReportNotSpamSubmissionResponse {\n  /**\n   * Result for each restored report.\n   * @minSize 1\n   * @maxSize 100\n   */\n  results?: BulkReportNotSpamSubmissionResult[];\n  /** Metadata about the bulk action, such as the number of successes and failures. */\n  bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkReportNotSpamSubmissionResult {\n  /** Metadata about the submission created from the report. `id` is the new submission ID. */\n  itemMetadata?: ItemMetadata;\n  /**\n   * ID of the restored form spam submission report.\n   * @format GUID\n   */\n  formSpamSubmissionReportId?: string;\n}\n\nexport interface ReportSpamSubmissionRequest {\n  /**\n   * ID of the submission to report as spam.\n   * @format GUID\n   */\n  submissionId: string;\n  /** Reason the submission is reported as spam. */\n  reportReason: ReportReasonWithLiterals;\n  /**\n   * Additional details about why the submission is reported as spam.\n   * @minLength 1\n   * @maxLength 255\n   */\n  reportReasonDescription?: string | null;\n}\n\nexport interface ReportSpamSubmissionResponse {\n  /** Created form spam submission report. */\n  formSpamSubmissionReport?: FormSpamSubmissionReport;\n}\n\nexport interface BulkReportSpamSubmissionRequest {\n  /**\n   * ID of the form that the submissions belong to.\n   * @format GUID\n   */\n  formId: string;\n  /**\n   * IDs of the submissions to report as spam.\n   * @maxSize 100\n   * @format GUID\n   */\n  submissionIds: string[];\n  /** Reason the submission is reported as spam. */\n  reportReason: ReportReasonWithLiterals;\n  /**\n   * Whether to return the created reports in `results.item`.\n   *\n   * Default: `false`\n   */\n  returnEntity?: boolean;\n  /**\n   * Additional details about why the submission is reported as spam.\n   * @minLength 1\n   * @maxLength 255\n   */\n  reportReasonDescription?: string | null;\n}\n\nexport interface BulkReportSpamSubmissionResponse {\n  /**\n   * Result for each submission.\n   * @minSize 1\n   * @maxSize 100\n   */\n  results?: BulkReportSpamSubmissionResult[];\n  /** Metadata about the bulk action, such as the number of successes and failures. */\n  bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkReportSpamSubmissionResult {\n  /** Metadata about the created report, such as whether the report was created. */\n  itemMetadata?: ItemMetadata;\n  /**\n   * Created form spam submission report.\n   *\n   * Returned only when `returnEntity` is `true`.\n   */\n  item?: FormSpamSubmissionReport;\n}\n\nexport interface QueryFormSpamSubmissionReportsByNamespaceRequest {\n  /** Query options. The filter must include `namespace`. */\n  query: CursorQuery;\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 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 QueryFormSpamSubmissionReportsByNamespaceResponse {\n  /** Retrieved form spam submission reports. */\n  formSpamSubmissionReports?: FormSpamSubmissionReport[];\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 CountFormSpamSubmissionReportsRequest {\n  /**\n   * IDs of the forms to count reports for.\n   * @format GUID\n   * @minSize 1\n   * @maxSize 100\n   */\n  formIds: string[];\n  /**\n   * Namespace of the app that the forms belong to.\n   *\n   * Currently supports `wix.form_app.form`, the namespace of the Wix Forms app.\n   * @minLength 10\n   * @maxLength 50\n   */\n  namespace: string;\n}\n\nexport interface CountFormSpamSubmissionReportsResponse {\n  /** Number of form spam submission reports for each form. */\n  formsSpamSubmissionReportsCount?: FormSpamSubmissionReportsCount[];\n}\n\nexport interface FormSpamSubmissionReportsCount {\n  /**\n   * Form ID.\n   * @format GUID\n   */\n  formId?: string;\n  /** Number of form spam submission reports for the form. */\n  totalCount?: number;\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 Empty {}\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\n/** @docsIgnore */\nexport type CreateFormSpamSubmissionReportValidationErrors = {\n  ruleName?: 'FORM_SPAM_SUBMISSION_REPORT_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 FormSpamSubmissionReportCreatedEnvelope {\n  entity: FormSpamSubmissionReport;\n  metadata: EventMetadata;\n}\n\n/**\n * Triggered when a form spam submission report is created.\n * @permissionScope Manage form submissions.\n * @permissionScopeId SCOPE.FORMS.MANAGE-SUBMISSIONS\n * @permissionId WIX_FORMS.FORM_SPAM_SUBMISSION_REPORT_READ\n * @webhook\n * @eventType wix.forms.v4.form_spam_submission_report_created\n * @slug created\n * @documentationMaturity preview\n */\nexport declare function onFormSpamSubmissionReportCreated(\n  handler: (\n    event: FormSpamSubmissionReportCreatedEnvelope\n  ) => void | Promise<void>\n): void;\n\nexport interface FormSpamSubmissionReportDeletedEnvelope {\n  entity: FormSpamSubmissionReport;\n  metadata: EventMetadata;\n}\n\n/**\n * Triggered when a form spam submission report is deleted. Also fires when the report expires after 30 days, and when the submission is restored as not spam.\n * @permissionScope Manage form submissions.\n * @permissionScopeId SCOPE.FORMS.MANAGE-SUBMISSIONS\n * @permissionId WIX_FORMS.FORM_SPAM_SUBMISSION_REPORT_READ\n * @webhook\n * @eventType wix.forms.v4.form_spam_submission_report_deleted\n * @slug deleted\n * @documentationMaturity preview\n */\nexport declare function onFormSpamSubmissionReportDeleted(\n  handler: (\n    event: FormSpamSubmissionReportDeletedEnvelope\n  ) => void | Promise<void>\n): void;\n\nexport interface FormSpamSubmissionReportUpdatedEnvelope {\n  entity: FormSpamSubmissionReport;\n  metadata: EventMetadata;\n}\n\n/**\n * Triggered when a form spam submission report is updated.\n * @permissionScope Manage form submissions.\n * @permissionScopeId SCOPE.FORMS.MANAGE-SUBMISSIONS\n * @permissionId WIX_FORMS.FORM_SPAM_SUBMISSION_REPORT_READ\n * @webhook\n * @eventType wix.forms.v4.form_spam_submission_report_updated\n * @slug updated\n * @documentationMaturity preview\n */\nexport declare function onFormSpamSubmissionReportUpdated(\n  handler: (\n    event: FormSpamSubmissionReportUpdatedEnvelope\n  ) => void | Promise<void>\n): void;\n\n/**\n * Checks whether a submission is spam.\n *\n * Which checks run depends on the form's `spamFilterProtectionLevel` in the [Form Schemas API](https://dev.wix.com/docs/api-reference/crm/forms/form-schemas/introduction).\n *\n * This method returns the result only. It doesn't store a form spam submission report. To move a saved submission to spam, call [Report Spam Submission](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/report-spam-submission). To store a spam submission that wasn't saved, call [Create Form Spam Submission Report](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/create-form-spam-submission-report).\n *\n * Supported only for forms in the Wix Forms namespace, `wix.form_app.form`. Calls for forms in other namespaces fail with a permission error.\n * @param submission - Submission to check.\n * @public\n * @documentationMaturity preview\n * @requiredField submission\n * @requiredField submission.formId\n * @permissionId WIX_FORMS.FORM_SPAM_SUBMISSION_REPORT_CHECK_FOR_SPAM\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSpamSubmissionReportService.CheckForSpam\n */\nexport async function checkForSpam(\n  submission: NonNullablePaths<FormSubmission, `formId`, 0>\n): Promise<\n  NonNullablePaths<CheckForSpamResponse, `spam` | `spamReport.reportReason`, 1>\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    submission: submission,\n  });\n\n  const reqOpts =\n    ambassadorWixFormsV4FormSpamSubmissionReport.checkForSpam(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: { submission: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['submission']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Creates a form spam submission report.\n *\n * Use this method to store a spam submission that wasn't saved as a regular submission. To move a saved submission to spam, call [Report Spam Submission](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/report-spam-submission) instead. It creates the report and deletes the submission.\n *\n * The submitted values are validated against the form's fields. To upload files for the submission, call [Get Media Upload URL](https://dev.wix.com/docs/api-reference/crm/forms/form-submissions/get-media-upload-url) in the Form Submissions API.\n * @param formSpamSubmissionReport - Form spam submission report to create.\n * @public\n * @documentationMaturity preview\n * @requiredField formSpamSubmissionReport\n * @requiredField formSpamSubmissionReport.formId\n * @requiredField formSpamSubmissionReport.reportReason\n * @requiredField formSpamSubmissionReport.submissions\n * @requiredField formSpamSubmissionReport.submitter\n * @permissionId WIX_FORMS.FORM_SPAM_SUBMISSION_REPORT_CREATE\n * @applicableIdentity APP\n * @returns Created form spam submission report.\n * @fqn wix.forms.v4.FormSpamSubmissionReportService.CreateFormSpamSubmissionReport\n */\nexport async function createFormSpamSubmissionReport(\n  formSpamSubmissionReport: NonNullablePaths<\n    FormSpamSubmissionReport,\n    `formId` | `reportReason` | `submissions` | `submitter`,\n    0\n  >\n): Promise<\n  NonNullablePaths<\n    FormSpamSubmissionReport,\n    | `formId`\n    | `namespace`\n    | `reportReason`\n    | `submissionStatusAtReport`\n    | `orderDetails.checkoutId`,\n    1\n  > & {\n    __validationErrorsType?: CreateFormSpamSubmissionReportValidationErrors;\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    formSpamSubmissionReport: formSpamSubmissionReport,\n  });\n\n  const reqOpts =\n    ambassadorWixFormsV4FormSpamSubmissionReport.createFormSpamSubmissionReport(\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      ?.formSpamSubmissionReport!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: { formSpamSubmissionReport: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['formSpamSubmissionReport']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Retrieves a form spam submission report.\n * @param formSpamSubmissionReportId - ID of the form spam submission report to retrieve.\n * @public\n * @documentationMaturity preview\n * @requiredField formSpamSubmissionReportId\n * @permissionId WIX_FORMS.FORM_SPAM_SUBMISSION_REPORT_READ\n * @applicableIdentity APP\n * @returns Retrieved form spam submission report.\n * @fqn wix.forms.v4.FormSpamSubmissionReportService.GetFormSpamSubmissionReport\n */\nexport async function getFormSpamSubmissionReport(\n  formSpamSubmissionReportId: string\n): Promise<\n  NonNullablePaths<\n    FormSpamSubmissionReport,\n    | `formId`\n    | `namespace`\n    | `reportReason`\n    | `submissionStatusAtReport`\n    | `orderDetails.checkoutId`,\n    1\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    formSpamSubmissionReportId: formSpamSubmissionReportId,\n  });\n\n  const reqOpts =\n    ambassadorWixFormsV4FormSpamSubmissionReport.getFormSpamSubmissionReport(\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      ?.formSpamSubmissionReport!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: { formSpamSubmissionReportId: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['formSpamSubmissionReportId']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Permanently deletes a form spam submission report.\n *\n * The report's uploaded files are also deleted. To restore the submission instead, call [Report Not Spam Submission](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/report-not-spam-submission).\n *\n * To delete multiple reports in a single API call, call [Bulk Delete Form Spam Submission Report](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/bulk-delete-form-spam-submission-report).\n * @param formSpamSubmissionReportId - ID of the form spam submission report to delete.\n * @public\n * @documentationMaturity preview\n * @requiredField formSpamSubmissionReportId\n * @permissionId WIX_FORMS.FORM_SPAM_SUBMISSION_REPORT_DELETE\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSpamSubmissionReportService.DeleteFormSpamSubmissionReport\n */\nexport async function deleteFormSpamSubmissionReport(\n  formSpamSubmissionReportId: 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    formSpamSubmissionReportId: formSpamSubmissionReportId,\n  });\n\n  const reqOpts =\n    ambassadorWixFormsV4FormSpamSubmissionReport.deleteFormSpamSubmissionReport(\n      payload\n    );\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: { formSpamSubmissionReportId: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['formSpamSubmissionReportId']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Permanently deletes multiple form spam submission reports of a form.\n *\n * The reports' uploaded files are also deleted. Report IDs that don't exist or that belong to another form are skipped.\n *\n * To delete all reports that match a filter, call [Bulk Delete Form Spam Submission Report By Filter](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/bulk-delete-form-spam-submission-report-by-filter).\n *\n * To delete a single report, call [Delete Form Spam Submission Report](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/delete-form-spam-submission-report).\n * @param formId - ID of the form that the reports belong to.\n * @public\n * @documentationMaturity preview\n * @requiredField formId\n * @permissionId WIX_FORMS.FORM_SPAM_SUBMISSION_REPORT_DELETE\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSpamSubmissionReportService.BulkDeleteFormSpamSubmissionReport\n */\nexport async function bulkDeleteFormSpamSubmissionReport(\n  formId: string,\n  options?: BulkDeleteFormSpamSubmissionReportOptions\n): Promise<\n  NonNullablePaths<\n    BulkDeleteFormSpamSubmissionReportResponse,\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    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    formId: formId,\n    formSpamSubmissionReportIds: options?.formSpamSubmissionReportIds,\n  });\n\n  const reqOpts =\n    ambassadorWixFormsV4FormSpamSubmissionReport.bulkDeleteFormSpamSubmissionReport(\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          formId: '$[0]',\n          formSpamSubmissionReportIds: '$[1].formSpamSubmissionReportIds',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['formId', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface BulkDeleteFormSpamSubmissionReportOptions {\n  /**\n   * IDs of the form spam submission reports to delete.\n   * @maxSize 100\n   * @format GUID\n   */\n  formSpamSubmissionReportIds?: string[];\n}\n\n/**\n * Asynchronously deletes the form spam submission reports that match a filter.\n *\n * The filter must include `namespace` and `formId`. If no reports match the filter, the call fails with a `NOT_FOUND` error. The reports' uploaded files are also deleted.\n *\n * To check the status of the deletion, pass the returned `jobId` to [Get Async Job](https://dev.wix.com/docs/api-reference/business-management/async-job/get-async-job).\n *\n * To delete specific reports by ID, call [Bulk Delete Form Spam Submission Report](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/bulk-delete-form-spam-submission-report).\n * @param filter - Filter object. See [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language) for more information.\n *\n * Must include `namespace` and `formId`.\n * @public\n * @documentationMaturity preview\n * @requiredField filter\n * @permissionId WIX_FORMS.FORM_SPAM_SUBMISSION_REPORT_DELETE\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSpamSubmissionReportService.BulkDeleteFormSpamSubmissionReportByFilter\n */\nexport async function bulkDeleteFormSpamSubmissionReportByFilter(\n  filter: Record<string, any>\n): Promise<\n  NonNullablePaths<\n    BulkDeleteFormSpamSubmissionReportByFilterResponse,\n    `jobId`,\n    0\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({ filter: filter });\n\n  const reqOpts =\n    ambassadorWixFormsV4FormSpamSubmissionReport.bulkDeleteFormSpamSubmissionReportByFilter(\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: { filter: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['filter']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Restores a spam submission as a regular submission.\n *\n * A new submission is created from the report's data, with a new submission ID, and the report is deleted shortly after. A submission that was `PENDING` when reported is restored as `CONFIRMED`. Any other status is kept. Submission automations run as they do for any new submission, and uploaded files are kept.\n *\n * Supported only for forms in the Wix Forms namespace, `wix.form_app.form`.\n *\n * To restore multiple submissions in a single API call, call [Bulk Report Not Spam Submission](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/bulk-report-not-spam-submission).\n * @param formSpamSubmissionReportId - ID of the form spam submission report to restore.\n * @public\n * @documentationMaturity preview\n * @requiredField formSpamSubmissionReportId\n * @permissionId WIX_FORMS.FORM_SPAM_SUBMISSION_REPORT_REPORT_NOT_SPAM\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSpamSubmissionReportService.ReportNotSpamSubmission\n */\nexport async function reportNotSpamSubmission(\n  formSpamSubmissionReportId: string\n): Promise<\n  NonNullablePaths<\n    ReportNotSpamSubmissionResponse,\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    3\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    formSpamSubmissionReportId: formSpamSubmissionReportId,\n  });\n\n  const reqOpts =\n    ambassadorWixFormsV4FormSpamSubmissionReport.reportNotSpamSubmission(\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: { formSpamSubmissionReportId: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['formSpamSubmissionReportId']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Restores multiple spam submissions of a form as regular submissions.\n *\n * For each report, a new submission is created from the report's data, with a new submission ID, and the report is deleted shortly after. A submission that was `PENDING` when reported is restored as `CONFIRMED`. Any other status is kept. Submission automations run as they do for any new submission.\n *\n * In the results, `itemMetadata.id` is the ID of the new submission. Report IDs that don't exist or that belong to another form are skipped.\n *\n * To restore a single submission, call [Report Not Spam Submission](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/report-not-spam-submission).\n * @param formId - ID of the form that the reports belong to.\n * @public\n * @documentationMaturity preview\n * @requiredField formId\n * @permissionId WIX_FORMS.FORM_SPAM_SUBMISSION_REPORT_REPORT_NOT_SPAM\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSpamSubmissionReportService.BulkReportNotSpamSubmission\n */\nexport async function bulkReportNotSpamSubmission(\n  formId: string,\n  options?: BulkReportNotSpamSubmissionOptions\n): Promise<\n  NonNullablePaths<\n    BulkReportNotSpamSubmissionResponse,\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    | `results.${number}.formSpamSubmissionReportId`\n    | `bulkActionMetadata.totalSuccesses`\n    | `bulkActionMetadata.totalFailures`\n    | `bulkActionMetadata.undetailedFailures`,\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    formId: formId,\n    formSpamSubmissionReportIds: options?.formSpamSubmissionReportIds,\n  });\n\n  const reqOpts =\n    ambassadorWixFormsV4FormSpamSubmissionReport.bulkReportNotSpamSubmission(\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          formId: '$[0]',\n          formSpamSubmissionReportIds: '$[1].formSpamSubmissionReportIds',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['formId', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface BulkReportNotSpamSubmissionOptions {\n  /**\n   * IDs of the form spam submission reports to restore.\n   * @minSize 1\n   * @maxSize 100\n   * @format GUID\n   */\n  formSpamSubmissionReportIds?: string[];\n}\n\n/**\n * Reports a submission as spam.\n *\n * A form spam submission report is created from the submission, and the submission is deleted shortly after.\n *\n * Supported only for forms in the Wix Forms namespace, `wix.form_app.form`.\n *\n * To store a spam submission that wasn't saved as a regular submission, call [Create Form Spam Submission Report](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/create-form-spam-submission-report). To report multiple submissions in a single API call, call [Bulk Report Spam Submission](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/bulk-report-spam-submission).\n * @param submissionId - ID of the submission to report as spam.\n * @param reportReason - Reason the submission is reported as spam.\n * @public\n * @documentationMaturity preview\n * @requiredField reportReason\n * @requiredField submissionId\n * @permissionId WIX_FORMS.FORM_SPAM_SUBMISSION_REPORT_CREATE\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @permissionId WIX_FORMS.SUBMISSION_DELETE\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSpamSubmissionReportService.ReportSpamSubmission\n */\nexport async function reportSpamSubmission(\n  submissionId: string,\n  reportReason: ReportReasonWithLiterals,\n  options?: ReportSpamSubmissionOptions\n): Promise<\n  NonNullablePaths<\n    ReportSpamSubmissionResponse,\n    | `formSpamSubmissionReport.formId`\n    | `formSpamSubmissionReport.namespace`\n    | `formSpamSubmissionReport.reportReason`\n    | `formSpamSubmissionReport.submissionStatusAtReport`\n    | `formSpamSubmissionReport.orderDetails.checkoutId`,\n    2\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    submissionId: submissionId,\n    reportReason: reportReason,\n    reportReasonDescription: options?.reportReasonDescription,\n  });\n\n  const reqOpts =\n    ambassadorWixFormsV4FormSpamSubmissionReport.reportSpamSubmission(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          reportReason: '$[1]',\n          reportReasonDescription: '$[2].reportReasonDescription',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['submissionId', 'reportReason', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface ReportSpamSubmissionOptions {\n  /**\n   * Additional details about why the submission is reported as spam.\n   * @minLength 1\n   * @maxLength 255\n   */\n  reportReasonDescription?: string | null;\n}\n\n/**\n * Reports multiple submissions of a form as spam.\n *\n * For each submission, a form spam submission report is created, and the submission is deleted shortly after. Submission IDs that don't exist or that belong to another form are skipped.\n *\n * To report a single submission, call [Report Spam Submission](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/report-spam-submission).\n * @param formId - ID of the form that the submissions belong to.\n * @public\n * @documentationMaturity preview\n * @requiredField formId\n * @requiredField options.reportReason\n * @requiredField options.submissionIds\n * @permissionId WIX_FORMS.FORM_SPAM_SUBMISSION_REPORT_CREATE\n * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n * @permissionId WIX_FORMS.SUBMISSION_DELETE\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSpamSubmissionReportService.BulkReportSpamSubmission\n */\nexport async function bulkReportSpamSubmission(\n  formId: string,\n  options?: NonNullablePaths<\n    BulkReportSpamSubmissionOptions,\n    `reportReason` | `submissionIds`,\n    0\n  >\n): Promise<\n  NonNullablePaths<\n    BulkReportSpamSubmissionResponse,\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    | `results.${number}.item.formId`\n    | `results.${number}.item.namespace`\n    | `results.${number}.item.reportReason`\n    | `results.${number}.item.submissionStatusAtReport`\n    | `results.${number}.item.orderDetails.checkoutId`\n    | `bulkActionMetadata.totalSuccesses`\n    | `bulkActionMetadata.totalFailures`\n    | `bulkActionMetadata.undetailedFailures`,\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    formId: formId,\n    submissionIds: options?.submissionIds,\n    reportReason: options?.reportReason,\n    returnEntity: options?.returnEntity,\n    reportReasonDescription: options?.reportReasonDescription,\n  });\n\n  const reqOpts =\n    ambassadorWixFormsV4FormSpamSubmissionReport.bulkReportSpamSubmission(\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          formId: '$[0]',\n          submissionIds: '$[1].submissionIds',\n          reportReason: '$[1].reportReason',\n          returnEntity: '$[1].returnEntity',\n          reportReasonDescription: '$[1].reportReasonDescription',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['formId', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface BulkReportSpamSubmissionOptions {\n  /**\n   * IDs of the submissions to report as spam.\n   * @maxSize 100\n   * @format GUID\n   */\n  submissionIds: string[];\n  /** Reason the submission is reported as spam. */\n  reportReason: ReportReasonWithLiterals;\n  /**\n   * Whether to return the created reports in `results.item`.\n   *\n   * Default: `false`\n   */\n  returnEntity?: boolean;\n  /**\n   * Additional details about why the submission is reported as spam.\n   * @minLength 1\n   * @maxLength 255\n   */\n  reportReasonDescription?: string | null;\n}\n\n/**\n * Retrieves a list of up to 100 form spam submission reports, given the provided paging, filtering, and sorting.\n *\n * Query Form Spam Submission Reports By Namespace runs with these defaults, which you can override:\n *\n * - `createdDate` is sorted in `DESC` order\n * - `cursorPaging.limit` is `50`\n *\n * The filter must include `namespace`. To filter or sort by `createdDate`, `reportedDate`, or `reportReason`, also filter by `formId`.\n *\n * To learn about working with Query methods, see [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language), [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging), and [Field Projection](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-field-projection).\n * @public\n * @documentationMaturity preview\n * @permissionId WIX_FORMS.FORM_SPAM_SUBMISSION_REPORT_READ\n * @applicableIdentity APP\n * @fqn wix.forms.v4.FormSpamSubmissionReportService.QueryFormSpamSubmissionReportsByNamespace\n */\nexport function queryFormSpamSubmissionReportsByNamespace(): FormSpamSubmissionReportsQueryBuilder {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[0] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  return queryBuilder<\n    FormSpamSubmissionReport,\n    'CURSOR',\n    QueryFormSpamSubmissionReportsByNamespaceRequest,\n    QueryFormSpamSubmissionReportsByNamespaceResponse\n  >({\n    func: async (payload: QueryFormSpamSubmissionReportsByNamespaceRequest) => {\n      const reqOpts =\n        ambassadorWixFormsV4FormSpamSubmissionReport.queryFormSpamSubmissionReportsByNamespace(\n          payload\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: QueryFormSpamSubmissionReportsByNamespaceRequest['query']\n    ) => {\n      const args = [query, {}] as [\n        QueryFormSpamSubmissionReportsByNamespaceRequest['query'],\n        {}\n      ];\n      return renameKeysFromSDKRequestToRESTRequest({\n        ...args?.[1],\n        query: args?.[0],\n      });\n    },\n    responseTransformer: ({\n      data,\n    }: HttpResponse<QueryFormSpamSubmissionReportsByNamespaceResponse>) => {\n      const transformedData = renameKeysFromRESTResponseToSDKResponse(\n        transformPaths(data, [])\n      );\n\n      return {\n        items: transformedData?.formSpamSubmissionReports,\n        pagingMetadata: transformedData?.pagingMetadata,\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\ninterface QueryCursorResult {\n  cursors: Cursors;\n  hasNext: () => boolean;\n  hasPrev: () => boolean;\n  length: number;\n  pageSize: number;\n}\n\nexport interface FormSpamSubmissionReportsQueryResult\n  extends QueryCursorResult {\n  items: FormSpamSubmissionReport[];\n  query: FormSpamSubmissionReportsQueryBuilder;\n  next: () => Promise<FormSpamSubmissionReportsQueryResult>;\n  prev: () => Promise<FormSpamSubmissionReportsQueryResult>;\n}\n\nexport interface FormSpamSubmissionReportsQueryBuilder {\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   * @documentationMaturity preview\n   */\n  eq: (\n    propertyName:\n      | '_id'\n      | 'formId'\n      | 'namespace'\n      | 'reportReason'\n      | '_createdDate'\n      | 'reportedDate'\n      | 'childMetaSiteId',\n    value: any\n  ) => FormSpamSubmissionReportsQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   * @documentationMaturity preview\n   */\n  ne: (\n    propertyName:\n      | '_id'\n      | 'formId'\n      | 'reportReason'\n      | '_createdDate'\n      | 'reportedDate'\n      | 'childMetaSiteId',\n    value: any\n  ) => FormSpamSubmissionReportsQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   * @documentationMaturity preview\n   */\n  ge: (\n    propertyName: '_createdDate' | 'reportedDate',\n    value: any\n  ) => FormSpamSubmissionReportsQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   * @documentationMaturity preview\n   */\n  gt: (\n    propertyName: '_createdDate' | 'reportedDate',\n    value: any\n  ) => FormSpamSubmissionReportsQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   * @documentationMaturity preview\n   */\n  le: (\n    propertyName: '_createdDate' | 'reportedDate',\n    value: any\n  ) => FormSpamSubmissionReportsQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   * @documentationMaturity preview\n   */\n  lt: (\n    propertyName: '_createdDate' | 'reportedDate',\n    value: any\n  ) => FormSpamSubmissionReportsQueryBuilder;\n  /** @documentationMaturity preview */\n  in: (\n    propertyName:\n      | '_id'\n      | 'formId'\n      | 'reportReason'\n      | '_createdDate'\n      | 'reportedDate'\n      | 'childMetaSiteId',\n    value: any\n  ) => FormSpamSubmissionReportsQueryBuilder;\n  /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n   * @documentationMaturity preview\n   */\n  ascending: (\n    ...propertyNames: Array<\n      '_id' | 'formId' | 'reportReason' | '_createdDate' | 'reportedDate'\n    >\n  ) => FormSpamSubmissionReportsQueryBuilder;\n  /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n   * @documentationMaturity preview\n   */\n  descending: (\n    ...propertyNames: Array<\n      '_id' | 'formId' | 'reportReason' | '_createdDate' | 'reportedDate'\n    >\n  ) => FormSpamSubmissionReportsQueryBuilder;\n  /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n   * @documentationMaturity preview\n   */\n  limit: (limit: number) => FormSpamSubmissionReportsQueryBuilder;\n  /** @param cursor - A pointer to specific record\n   * @documentationMaturity preview\n   */\n  skipTo: (cursor: string) => FormSpamSubmissionReportsQueryBuilder;\n  /** @documentationMaturity preview */\n  find: () => Promise<FormSpamSubmissionReportsQueryResult>;\n}\n\n/**\n * @hidden\n * @fqn wix.forms.v4.FormSpamSubmissionReportService.QueryFormSpamSubmissionReportsByNamespace\n * @requiredField query\n */\nexport async function typedQueryFormSpamSubmissionReportsByNamespace(\n  query: FormSpamSubmissionReportQuery\n): Promise<\n  NonNullablePaths<\n    QueryFormSpamSubmissionReportsByNamespaceResponse,\n    | `formSpamSubmissionReports`\n    | `formSpamSubmissionReports.${number}.formId`\n    | `formSpamSubmissionReports.${number}.namespace`\n    | `formSpamSubmissionReports.${number}.reportReason`\n    | `formSpamSubmissionReports.${number}.submissionStatusAtReport`\n    | `formSpamSubmissionReports.${number}.orderDetails.checkoutId`,\n    3\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({ query: query });\n\n  const reqOpts =\n    ambassadorWixFormsV4FormSpamSubmissionReport.queryFormSpamSubmissionReportsByNamespace(\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: { query: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['query']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface FormSpamSubmissionReportQuerySpec extends QuerySpec {\n  paging: 'cursor';\n  wql: [\n    {\n      fields: ['_id'];\n      operators: ['$eq', '$in', '$ne', '$nin'];\n      sort: 'BOTH';\n    },\n    {\n      fields: ['namespace'];\n      operators: ['$eq'];\n      sort: 'NONE';\n    },\n    {\n      fields: ['formId'];\n      operators: ['$eq', '$in', '$ne', '$nin'];\n      sort: 'BOTH';\n    },\n    {\n      fields: ['_createdDate'];\n      operators: ['$eq', '$gt', '$gte', '$in', '$lt', '$lte', '$ne', '$nin'];\n      sort: 'BOTH';\n    },\n    {\n      fields: ['reportedDate'];\n      operators: ['$eq', '$gt', '$gte', '$in', '$lt', '$lte', '$ne', '$nin'];\n      sort: 'BOTH';\n    },\n    {\n      fields: ['reportReason'];\n      operators: ['$eq', '$in', '$ne', '$nin'];\n      sort: 'BOTH';\n    },\n    {\n      fields: ['childMetaSiteId'];\n      operators: ['$eq', '$in', '$ne', '$nin'];\n      sort: 'NONE';\n    }\n  ];\n}\n\nexport type CommonQueryWithEntityContext = QuerySdkType<\n  FormSpamSubmissionReport,\n  FormSpamSubmissionReportQuerySpec\n>;\nexport type FormSpamSubmissionReportQuery = {\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\nexport const utils = {\n  query: /*#__PURE__*/ createQueryUtils<\n    FormSpamSubmissionReport,\n    FormSpamSubmissionReportQuerySpec,\n    FormSpamSubmissionReportQuery\n  >(),\n};\n\n/**\n * Counts the form spam submission reports of the specified forms.\n *\n * Forms with no reports aren't included in the response.\n * @param formIds - IDs of the forms to count reports for.\n * @param namespace - Namespace of the app that the forms belong to.\n *\n * Currently supports `wix.form_app.form`, the namespace of the Wix Forms app.\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.FormSpamSubmissionReportService.CountFormSpamSubmissionReports\n */\nexport async function countFormSpamSubmissionReports(\n  formIds: string[],\n  namespace: string\n): Promise<\n  NonNullablePaths<\n    CountFormSpamSubmissionReportsResponse,\n    | `formsSpamSubmissionReportsCount`\n    | `formsSpamSubmissionReportsCount.${number}.formId`\n    | `formsSpamSubmissionReportsCount.${number}.totalCount`,\n    2\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    formIds: formIds,\n    namespace: namespace,\n  });\n\n  const reqOpts =\n    ambassadorWixFormsV4FormSpamSubmissionReport.countFormSpamSubmissionReports(\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: { formIds: '$[0]', namespace: '$[1]' },\n        singleArgumentUnchanged: false,\n      },\n      ['formIds', 'namespace']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\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';\n\nconst TRANSFORM_PATHS_0 = [\n  { path: 'submission.createdDate' },\n  { path: 'submission.updatedDate' },\n];\nconst TRANSFORM_PATHS_1 = [\n  { path: 'formSpamSubmissionReport.createdDate' },\n  { path: 'formSpamSubmissionReport.reportedDate' },\n  { path: 'formSpamSubmissionReport.updatedDate' },\n];\nconst TRANSFORM_PATHS_2 = [\n  { path: 'results.item.createdDate' },\n  { path: 'results.item.reportedDate' },\n  { path: 'results.item.updatedDate' },\n];\nconst TRANSFORM_PATHS_3 = [\n  { path: 'formSpamSubmissionReports.createdDate' },\n  { path: 'formSpamSubmissionReports.reportedDate' },\n  { path: 'formSpamSubmissionReports.updatedDate' },\n];\n\nfunction resolveWixFormsV4FormSpamSubmissionReportServiceUrl(\n  opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n  const domainToMappings = {\n    '*.dev.wix-code.com': [\n      {\n        srcPath: '/_api/form-spam-submission-report-service',\n        destPath: '',\n      },\n    ],\n    _: [\n      {\n        srcPath: '/_api/form-spam-submission-report-service',\n        destPath: '',\n      },\n    ],\n    'apps._base_domain_': [\n      {\n        srcPath: '/_api/form-spam-submission-report-service',\n        destPath: '',\n      },\n    ],\n    'editor._base_domain_': [\n      {\n        srcPath: '/_api/form-spam-submission-report-service',\n        destPath: '',\n      },\n    ],\n    'blocks._base_domain_': [\n      {\n        srcPath: '/_api/form-spam-submission-report-service',\n        destPath: '',\n      },\n    ],\n    'create.editorx': [\n      {\n        srcPath: '/_api/form-spam-submission-report-service',\n        destPath: '',\n      },\n    ],\n    'editor.wixapps.net': [\n      {\n        srcPath: '/_api/form-spam-submission-report-service',\n        destPath: '',\n      },\n    ],\n    'manage._base_domain_': [\n      {\n        srcPath: '/_api/form-spam-submission-report-service',\n        destPath: '',\n      },\n      {\n        srcPath: '/form-spam-submission-report-service',\n        destPath: '',\n      },\n    ],\n    'www._base_domain_': [\n      {\n        srcPath: '/_api/form-spam-submission-report-service',\n        destPath: '',\n      },\n    ],\n    'www.wixapis.com': [\n      {\n        srcPath: '/form-spam-submission-report-service',\n        destPath: '',\n      },\n    ],\n  };\n\n  return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_forms_form-spam-submission-reports';\n\n/**\n * Checks whether a submission is spam.\n *\n * Which checks run depends on the form's `spamFilterProtectionLevel` in the [Form Schemas API](https://dev.wix.com/docs/api-reference/crm/forms/form-schemas/introduction).\n *\n * This method returns the result only. It doesn't store a form spam submission report. To move a saved submission to spam, call [Report Spam Submission](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/report-spam-submission). To store a spam submission that wasn't saved, call [Create Form Spam Submission Report](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/create-form-spam-submission-report).\n *\n * Supported only for forms in the Wix Forms namespace, `wix.form_app.form`. Calls for forms in other namespaces fail with a permission error.\n */\nexport function checkForSpam(payload: object): RequestOptionsFactory<any> {\n  function __checkForSpam({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKTimestampToRESTTimestamp,\n        paths: TRANSFORM_PATHS_0,\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.forms.v4.form_spam_submission_report',\n      method: 'POST' as any,\n      methodFqn: 'wix.forms.v4.FormSpamSubmissionReportService.CheckForSpam',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixFormsV4FormSpamSubmissionReportServiceUrl({\n        protoPath: '/v4/form-spam-submission-reports/check-for-spam',\n        data: serializedData,\n        host,\n      }),\n      data: serializedData,\n    };\n\n    return metadata;\n  }\n\n  return __checkForSpam;\n}\n\n/**\n * Creates a form spam submission report.\n *\n * Use this method to store a spam submission that wasn't saved as a regular submission. To move a saved submission to spam, call [Report Spam Submission](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/report-spam-submission) instead. It creates the report and deletes the submission.\n *\n * The submitted values are validated against the form's fields. To upload files for the submission, call [Get Media Upload URL](https://dev.wix.com/docs/api-reference/crm/forms/form-submissions/get-media-upload-url) in the Form Submissions API.\n */\nexport function createFormSpamSubmissionReport(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __createFormSpamSubmissionReport({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKTimestampToRESTTimestamp,\n        paths: TRANSFORM_PATHS_1,\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.forms.v4.form_spam_submission_report',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.forms.v4.FormSpamSubmissionReportService.CreateFormSpamSubmissionReport',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixFormsV4FormSpamSubmissionReportServiceUrl({\n        protoPath: '/v4/form-spam-submission-reports',\n        data: serializedData,\n        host,\n      }),\n      data: serializedData,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: TRANSFORM_PATHS_1,\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __createFormSpamSubmissionReport;\n}\n\n/** Retrieves a form spam submission report. */\nexport function getFormSpamSubmissionReport(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __getFormSpamSubmissionReport({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.forms.v4.form_spam_submission_report',\n      method: 'GET' as any,\n      methodFqn:\n        'wix.forms.v4.FormSpamSubmissionReportService.GetFormSpamSubmissionReport',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixFormsV4FormSpamSubmissionReportServiceUrl({\n        protoPath:\n          '/v4/form-spam-submission-reports/{formSpamSubmissionReportId}',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: TRANSFORM_PATHS_1,\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __getFormSpamSubmissionReport;\n}\n\n/**\n * Permanently deletes a form spam submission report.\n *\n * The report's uploaded files are also deleted. To restore the submission instead, call [Report Not Spam Submission](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/report-not-spam-submission).\n *\n * To delete multiple reports in a single API call, call [Bulk Delete Form Spam Submission Report](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/bulk-delete-form-spam-submission-report).\n */\nexport function deleteFormSpamSubmissionReport(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __deleteFormSpamSubmissionReport({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.forms.v4.form_spam_submission_report',\n      method: 'DELETE' as any,\n      methodFqn:\n        'wix.forms.v4.FormSpamSubmissionReportService.DeleteFormSpamSubmissionReport',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixFormsV4FormSpamSubmissionReportServiceUrl({\n        protoPath:\n          '/v4/form-spam-submission-reports/{formSpamSubmissionReportId}',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n    };\n\n    return metadata;\n  }\n\n  return __deleteFormSpamSubmissionReport;\n}\n\n/**\n * Permanently deletes multiple form spam submission reports of a form.\n *\n * The reports' uploaded files are also deleted. Report IDs that don't exist or that belong to another form are skipped.\n *\n * To delete all reports that match a filter, call [Bulk Delete Form Spam Submission Report By Filter](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/bulk-delete-form-spam-submission-report-by-filter).\n *\n * To delete a single report, call [Delete Form Spam Submission Report](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/delete-form-spam-submission-report).\n */\nexport function bulkDeleteFormSpamSubmissionReport(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __bulkDeleteFormSpamSubmissionReport({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.forms.v4.form_spam_submission_report',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.forms.v4.FormSpamSubmissionReportService.BulkDeleteFormSpamSubmissionReport',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixFormsV4FormSpamSubmissionReportServiceUrl({\n        protoPath: '/v4/bulk/form-spam-submission-reports/delete',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __bulkDeleteFormSpamSubmissionReport;\n}\n\n/**\n * Asynchronously deletes the form spam submission reports that match a filter.\n *\n * The filter must include `namespace` and `formId`. If no reports match the filter, the call fails with a `NOT_FOUND` error. The reports' uploaded files are also deleted.\n *\n * To check the status of the deletion, pass the returned `jobId` to [Get Async Job](https://dev.wix.com/docs/api-reference/business-management/async-job/get-async-job).\n *\n * To delete specific reports by ID, call [Bulk Delete Form Spam Submission Report](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/bulk-delete-form-spam-submission-report).\n */\nexport function bulkDeleteFormSpamSubmissionReportByFilter(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __bulkDeleteFormSpamSubmissionReportByFilter({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.forms.v4.form_spam_submission_report',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.forms.v4.FormSpamSubmissionReportService.BulkDeleteFormSpamSubmissionReportByFilter',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixFormsV4FormSpamSubmissionReportServiceUrl({\n        protoPath: '/v4/bulk/form-spam-submission-reports/delete-by-filter',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __bulkDeleteFormSpamSubmissionReportByFilter;\n}\n\n/**\n * Restores a spam submission as a regular submission.\n *\n * A new submission is created from the report's data, with a new submission ID, and the report is deleted shortly after. A submission that was `PENDING` when reported is restored as `CONFIRMED`. Any other status is kept. Submission automations run as they do for any new submission, and uploaded files are kept.\n *\n * Supported only for forms in the Wix Forms namespace, `wix.form_app.form`.\n *\n * To restore multiple submissions in a single API call, call [Bulk Report Not Spam Submission](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/bulk-report-not-spam-submission).\n */\nexport function reportNotSpamSubmission(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __reportNotSpamSubmission({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.forms.v4.form_spam_submission_report',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.forms.v4.FormSpamSubmissionReportService.ReportNotSpamSubmission',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixFormsV4FormSpamSubmissionReportServiceUrl({\n        protoPath:\n          '/v4/form-spam-submission-reports/{formSpamSubmissionReportId}/report-not-spam-submission',\n        data: payload,\n        host,\n      }),\n      data: payload,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: TRANSFORM_PATHS_0,\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __reportNotSpamSubmission;\n}\n\n/**\n * Restores multiple spam submissions of a form as regular submissions.\n *\n * For each report, a new submission is created from the report's data, with a new submission ID, and the report is deleted shortly after. A submission that was `PENDING` when reported is restored as `CONFIRMED`. Any other status is kept. Submission automations run as they do for any new submission.\n *\n * In the results, `itemMetadata.id` is the ID of the new submission. Report IDs that don't exist or that belong to another form are skipped.\n *\n * To restore a single submission, call [Report Not Spam Submission](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/report-not-spam-submission).\n */\nexport function bulkReportNotSpamSubmission(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __bulkReportNotSpamSubmission({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.forms.v4.form_spam_submission_report',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.forms.v4.FormSpamSubmissionReportService.BulkReportNotSpamSubmission',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixFormsV4FormSpamSubmissionReportServiceUrl({\n        protoPath:\n          '/v4/bulk/form-spam-submission-reports/report-not-spam-submission',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __bulkReportNotSpamSubmission;\n}\n\n/**\n * Reports a submission as spam.\n *\n * A form spam submission report is created from the submission, and the submission is deleted shortly after.\n *\n * Supported only for forms in the Wix Forms namespace, `wix.form_app.form`.\n *\n * To store a spam submission that wasn't saved as a regular submission, call [Create Form Spam Submission Report](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/create-form-spam-submission-report). To report multiple submissions in a single API call, call [Bulk Report Spam Submission](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/bulk-report-spam-submission).\n */\nexport function reportSpamSubmission(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __reportSpamSubmission({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.forms.v4.form_spam_submission_report',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.forms.v4.FormSpamSubmissionReportService.ReportSpamSubmission',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixFormsV4FormSpamSubmissionReportServiceUrl({\n        protoPath: '/v4/submissions/{submissionId}/report-spam-submission',\n        data: payload,\n        host,\n      }),\n      data: payload,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: TRANSFORM_PATHS_1,\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __reportSpamSubmission;\n}\n\n/**\n * Reports multiple submissions of a form as spam.\n *\n * For each submission, a form spam submission report is created, and the submission is deleted shortly after. Submission IDs that don't exist or that belong to another form are skipped.\n *\n * To report a single submission, call [Report Spam Submission](https://dev.wix.com/docs/api-reference/crm/forms/spam-submissions/report-spam-submission).\n */\nexport function bulkReportSpamSubmission(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __bulkReportSpamSubmission({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.forms.v4.form_spam_submission_report',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.forms.v4.FormSpamSubmissionReportService.BulkReportSpamSubmission',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixFormsV4FormSpamSubmissionReportServiceUrl({\n        protoPath: '/v4/bulk/submissions/report-spam-submission',\n        data: payload,\n        host,\n      }),\n      data: payload,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: TRANSFORM_PATHS_2,\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __bulkReportSpamSubmission;\n}\n\n/**\n * Retrieves a list of up to 100 form spam submission reports, given the provided paging, filtering, and sorting.\n *\n * Query Form Spam Submission Reports By Namespace runs with these defaults, which you can override:\n *\n * - `createdDate` is sorted in `DESC` order\n * - `cursorPaging.limit` is `50`\n *\n * The filter must include `namespace`. To filter or sort by `createdDate`, `reportedDate`, or `reportReason`, also filter by `formId`.\n *\n * To learn about working with Query methods, see [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language), [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging), and [Field Projection](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-field-projection).\n */\nexport function queryFormSpamSubmissionReportsByNamespace(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __queryFormSpamSubmissionReportsByNamespace({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.forms.v4.form_spam_submission_report',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.forms.v4.FormSpamSubmissionReportService.QueryFormSpamSubmissionReportsByNamespace',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixFormsV4FormSpamSubmissionReportServiceUrl({\n        protoPath: '/v4/form-spam-submission-reports/namespace/query',\n        data: payload,\n        host,\n      }),\n      data: payload,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: TRANSFORM_PATHS_3,\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __queryFormSpamSubmissionReportsByNamespace;\n}\n\n/**\n * Counts the form spam submission reports of the specified forms.\n *\n * Forms with no reports aren't included in the response.\n */\nexport function countFormSpamSubmissionReports(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __countFormSpamSubmissionReports({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.forms.v4.form_spam_submission_report',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.forms.v4.FormSpamSubmissionReportService.CountFormSpamSubmissionReports',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixFormsV4FormSpamSubmissionReportServiceUrl({\n        protoPath: '/v4/form-spam-submission-reports/count',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __countFormSpamSubmissionReports;\n}\n","import {\n  checkForSpam as publicCheckForSpam,\n  createFormSpamSubmissionReport as publicCreateFormSpamSubmissionReport,\n  getFormSpamSubmissionReport as publicGetFormSpamSubmissionReport,\n  deleteFormSpamSubmissionReport as publicDeleteFormSpamSubmissionReport,\n  bulkDeleteFormSpamSubmissionReport as publicBulkDeleteFormSpamSubmissionReport,\n  bulkDeleteFormSpamSubmissionReportByFilter as publicBulkDeleteFormSpamSubmissionReportByFilter,\n  reportNotSpamSubmission as publicReportNotSpamSubmission,\n  bulkReportNotSpamSubmission as publicBulkReportNotSpamSubmission,\n  reportSpamSubmission as publicReportSpamSubmission,\n  bulkReportSpamSubmission as publicBulkReportSpamSubmission,\n  queryFormSpamSubmissionReportsByNamespace as publicQueryFormSpamSubmissionReportsByNamespace,\n  typedQueryFormSpamSubmissionReportsByNamespace as publicTypedQueryFormSpamSubmissionReportsByNamespace,\n  countFormSpamSubmissionReports as publicCountFormSpamSubmissionReports,\n} from './forms-v4-form-spam-submission-report-form-spam-submission-reports.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  FormSpamSubmissionReportQuery,\n  FormSpamSubmissionReportsQueryBuilder,\n  typedQueryFormSpamSubmissionReportsByNamespace as universalTypedQueryFormSpamSubmissionReportsByNamespace,\n} from './forms-v4-form-spam-submission-report-form-spam-submission-reports.universal.js';\nimport { onFormSpamSubmissionReportCreated as publicOnFormSpamSubmissionReportCreated } from './forms-v4-form-spam-submission-report-form-spam-submission-reports.public.js';\nimport { onFormSpamSubmissionReportDeleted as publicOnFormSpamSubmissionReportDeleted } from './forms-v4-form-spam-submission-report-form-spam-submission-reports.public.js';\nimport { onFormSpamSubmissionReportUpdated as publicOnFormSpamSubmissionReportUpdated } from './forms-v4-form-spam-submission-report-form-spam-submission-reports.public.js';\n\nfunction customQueryFormSpamSubmissionReportsByNamespace(\n  httpClient: HttpClient\n) {\n  const router = /*#__PURE__*/ createQueryOverloadRouter({\n    builderQueryFunction: () =>\n      publicQueryFormSpamSubmissionReportsByNamespace(httpClient)(),\n    typedQueryFunction: (query: FormSpamSubmissionReportQuery) =>\n      publicTypedQueryFormSpamSubmissionReportsByNamespace(httpClient)(query),\n    hasOptionsParameter: false,\n  });\n\n  function overloadedQuery(): FormSpamSubmissionReportsQueryBuilder;\n  function overloadedQuery(\n    query: FormSpamSubmissionReportQuery\n  ): ReturnType<typeof universalTypedQueryFormSpamSubmissionReportsByNamespace>;\n  function overloadedQuery(query?: FormSpamSubmissionReportQuery): any {\n    return router(...arguments);\n  }\n\n  return overloadedQuery;\n}\n\nexport const checkForSpam: MaybeContext<\n  BuildRESTFunction<typeof publicCheckForSpam> & typeof publicCheckForSpam\n> = /*#__PURE__*/ createRESTModule(publicCheckForSpam);\nexport const createFormSpamSubmissionReport: MaybeContext<\n  BuildRESTFunction<typeof publicCreateFormSpamSubmissionReport> &\n    typeof publicCreateFormSpamSubmissionReport\n> = /*#__PURE__*/ createRESTModule(publicCreateFormSpamSubmissionReport);\nexport const getFormSpamSubmissionReport: MaybeContext<\n  BuildRESTFunction<typeof publicGetFormSpamSubmissionReport> &\n    typeof publicGetFormSpamSubmissionReport\n> = /*#__PURE__*/ createRESTModule(publicGetFormSpamSubmissionReport);\nexport const deleteFormSpamSubmissionReport: MaybeContext<\n  BuildRESTFunction<typeof publicDeleteFormSpamSubmissionReport> &\n    typeof publicDeleteFormSpamSubmissionReport\n> = /*#__PURE__*/ createRESTModule(publicDeleteFormSpamSubmissionReport);\nexport const bulkDeleteFormSpamSubmissionReport: MaybeContext<\n  BuildRESTFunction<typeof publicBulkDeleteFormSpamSubmissionReport> &\n    typeof publicBulkDeleteFormSpamSubmissionReport\n> = /*#__PURE__*/ createRESTModule(publicBulkDeleteFormSpamSubmissionReport);\nexport const bulkDeleteFormSpamSubmissionReportByFilter: MaybeContext<\n  BuildRESTFunction<typeof publicBulkDeleteFormSpamSubmissionReportByFilter> &\n    typeof publicBulkDeleteFormSpamSubmissionReportByFilter\n> = /*#__PURE__*/ createRESTModule(\n  publicBulkDeleteFormSpamSubmissionReportByFilter\n);\nexport const reportNotSpamSubmission: MaybeContext<\n  BuildRESTFunction<typeof publicReportNotSpamSubmission> &\n    typeof publicReportNotSpamSubmission\n> = /*#__PURE__*/ createRESTModule(publicReportNotSpamSubmission);\nexport const bulkReportNotSpamSubmission: MaybeContext<\n  BuildRESTFunction<typeof publicBulkReportNotSpamSubmission> &\n    typeof publicBulkReportNotSpamSubmission\n> = /*#__PURE__*/ createRESTModule(publicBulkReportNotSpamSubmission);\nexport const reportSpamSubmission: MaybeContext<\n  BuildRESTFunction<typeof publicReportSpamSubmission> &\n    typeof publicReportSpamSubmission\n> = /*#__PURE__*/ createRESTModule(publicReportSpamSubmission);\nexport const bulkReportSpamSubmission: MaybeContext<\n  BuildRESTFunction<typeof publicBulkReportSpamSubmission> &\n    typeof publicBulkReportSpamSubmission\n> = /*#__PURE__*/ createRESTModule(publicBulkReportSpamSubmission);\nexport const countFormSpamSubmissionReports: MaybeContext<\n  BuildRESTFunction<typeof publicCountFormSpamSubmissionReports> &\n    typeof publicCountFormSpamSubmissionReports\n> = /*#__PURE__*/ createRESTModule(publicCountFormSpamSubmissionReports);\nexport const queryFormSpamSubmissionReportsByNamespace: MaybeContext<\n  BuildRESTFunction<typeof customQueryFormSpamSubmissionReportsByNamespace> &\n    typeof customQueryFormSpamSubmissionReportsByNamespace\n> = /*#__PURE__*/ createRESTModule(\n  customQueryFormSpamSubmissionReportsByNamespace\n);\n/**\n * Triggered when a form spam submission report is created.\n */\nexport const onFormSpamSubmissionReportCreated: BuildEventDefinition<\n  typeof publicOnFormSpamSubmissionReportCreated\n> &\n  typeof publicOnFormSpamSubmissionReportCreated =\n  /*#__PURE__*/ createEventModule(publicOnFormSpamSubmissionReportCreated);\n/**\n * Triggered when a form spam submission report is deleted. Also fires when the report expires after 30 days, and when the submission is restored as not spam.\n */\nexport const onFormSpamSubmissionReportDeleted: BuildEventDefinition<\n  typeof publicOnFormSpamSubmissionReportDeleted\n> &\n  typeof publicOnFormSpamSubmissionReportDeleted =\n  /*#__PURE__*/ createEventModule(publicOnFormSpamSubmissionReportDeleted);\n/**\n * Triggered when a form spam submission report is updated.\n */\nexport const onFormSpamSubmissionReportUpdated: BuildEventDefinition<\n  typeof publicOnFormSpamSubmissionReportUpdated\n> &\n  typeof publicOnFormSpamSubmissionReportUpdated =\n  /*#__PURE__*/ createEventModule(publicOnFormSpamSubmissionReportUpdated);\n\nexport {\n  ReportReason,\n  SubmissionStatus,\n  ErrorType,\n  SortOrder,\n  WebhookIdentityType,\n} from './forms-v4-form-spam-submission-report-form-spam-submission-reports.universal.js';\nexport {\n  FormSpamSubmissionReport,\n  Submitter,\n  SubmitterSubmitterOneOf,\n  ExtendedFields,\n  OrderDetails,\n  CheckForSpamRequest,\n  FormSubmission,\n  FormSubmissionOrderDetails,\n  PublicTags,\n  TagList,\n  AppointmentDetails,\n  CheckForSpamResponse,\n  SpamReport,\n  CreateFormSpamSubmissionReportRequest,\n  CreateFormSpamSubmissionReportResponse,\n  FormSpamSubmissionReportValidationErrorsDetails,\n  ValidationError,\n  GetFormSpamSubmissionReportRequest,\n  GetFormSpamSubmissionReportResponse,\n  DeleteFormSpamSubmissionReportRequest,\n  DeleteFormSpamSubmissionReportResponse,\n  BulkDeleteFormSpamSubmissionReportRequest,\n  BulkDeleteFormSpamSubmissionReportResponse,\n  BulkDeleteFormSpamSubmissionReportResult,\n  ItemMetadata,\n  ApplicationError,\n  BulkActionMetadata,\n  BulkDeleteFormSpamSubmissionReportByFilterRequest,\n  BulkDeleteFormSpamSubmissionReportByFilterResponse,\n  ReportNotSpamSubmissionRequest,\n  ReportNotSpamSubmissionResponse,\n  BulkReportNotSpamSubmissionRequest,\n  BulkReportNotSpamSubmissionResponse,\n  BulkReportNotSpamSubmissionResult,\n  ReportSpamSubmissionRequest,\n  ReportSpamSubmissionResponse,\n  BulkReportSpamSubmissionRequest,\n  BulkReportSpamSubmissionResponse,\n  BulkReportSpamSubmissionResult,\n  QueryFormSpamSubmissionReportsByNamespaceRequest,\n  CursorQuery,\n  CursorQueryPagingMethodOneOf,\n  Sorting,\n  CursorPaging,\n  QueryFormSpamSubmissionReportsByNamespaceResponse,\n  CursorPagingMetadata,\n  Cursors,\n  CountFormSpamSubmissionReportsRequest,\n  CountFormSpamSubmissionReportsResponse,\n  FormSpamSubmissionReportsCount,\n  DomainEvent,\n  DomainEventBodyOneOf,\n  EntityCreatedEvent,\n  RestoreInfo,\n  EntityUpdatedEvent,\n  EntityDeletedEvent,\n  ActionEvent,\n  Empty,\n  MessageEnvelope,\n  IdentificationData,\n  IdentificationDataIdOneOf,\n  AccountInfo,\n  BaseEventMetadata,\n  EventMetadata,\n  AccountInfoMetadata,\n  FormSpamSubmissionReportCreatedEnvelope,\n  FormSpamSubmissionReportDeletedEnvelope,\n  FormSpamSubmissionReportUpdatedEnvelope,\n  BulkDeleteFormSpamSubmissionReportOptions,\n  BulkReportNotSpamSubmissionOptions,\n  ReportSpamSubmissionOptions,\n  BulkReportSpamSubmissionOptions,\n  FormSpamSubmissionReportsQueryResult,\n  FormSpamSubmissionReportsQueryBuilder,\n  FormSpamSubmissionReportQuerySpec,\n} from './forms-v4-form-spam-submission-report-form-spam-submission-reports.universal.js';\nexport { utils } from './forms-v4-form-spam-submission-report-form-spam-submission-reports.universal.js';\nexport {\n  ReportReasonWithLiterals,\n  SubmissionStatusWithLiterals,\n  ErrorTypeWithLiterals,\n  SortOrderWithLiterals,\n  WebhookIdentityTypeWithLiterals,\n  CreateFormSpamSubmissionReportValidationErrors,\n  CommonQueryWithEntityContext,\n  FormSpamSubmissionReportQuery,\n} from './forms-v4-form-spam-submission-report-form-spam-submission-reports.universal.js';\n"],"mappings":"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","names":["renameKeysFromRESTResponseToSDKResponse","transformRESTTimestampToSDKTimestamp","transformPaths","payload","transformPaths","ReportReason","SubmissionStatus","ErrorType","SortOrder","WebhookIdentityType","checkForSpam","createFormSpamSubmissionReport","getFormSpamSubmissionReport","deleteFormSpamSubmissionReport","bulkDeleteFormSpamSubmissionReport","bulkDeleteFormSpamSubmissionReportByFilter","reportNotSpamSubmission","bulkReportNotSpamSubmission","reportSpamSubmission","bulkReportSpamSubmission","queryFormSpamSubmissionReportsByNamespace","countFormSpamSubmissionReports","TRANSFORM_PATHS_0","checkForSpam","createFormSpamSubmissionReport","getFormSpamSubmissionReport","deleteFormSpamSubmissionReport","bulkDeleteFormSpamSubmissionReport","bulkDeleteFormSpamSubmissionReportByFilter","reportNotSpamSubmission","bulkReportNotSpamSubmission","reportSpamSubmission","bulkReportSpamSubmission","queryFormSpamSubmissionReportsByNamespace","typedQueryFormSpamSubmissionReportsByNamespace","countFormSpamSubmissionReports","renameKeysFromRESTResponseToSDKResponse","transformPaths","transformRESTTimestampToSDKTimestamp","TRANSFORM_PATHS_0","queryFormSpamSubmissionReportsByNamespace","typedQueryFormSpamSubmissionReportsByNamespace","checkForSpam","createFormSpamSubmissionReport","getFormSpamSubmissionReport","deleteFormSpamSubmissionReport","bulkDeleteFormSpamSubmissionReport","bulkDeleteFormSpamSubmissionReportByFilter","reportNotSpamSubmission","bulkReportNotSpamSubmission","reportSpamSubmission","bulkReportSpamSubmission","countFormSpamSubmissionReports","onFormSpamSubmissionReportCreated","onFormSpamSubmissionReportDeleted","onFormSpamSubmissionReportUpdated"]}