{"version":3,"sources":["../../src/marketing-marketing-consent-v1-marketing-consent-marketing-consent.public.ts","../../src/marketing-marketing-consent-v1-marketing-consent-marketing-consent.universal.ts","../../src/marketing-marketing-consent-v1-marketing-consent-marketing-consent.http.ts","../../src/marketing-marketing-consent-v1-marketing-consent-marketing-consent.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  BulkUpsertMarketingConsentResponse,\n  GetMarketingConsentByIdentifierOptions,\n  GetMarketingConsentByIdentifierResponse,\n  MarketingConsent,\n  MarketingConsentCreatedEnvelope,\n  MarketingConsentDeletedEnvelope,\n  MarketingConsentDetails,\n  MarketingConsentDetailsIdentifierTypeWithLiterals,\n  MarketingConsentQuery,\n  MarketingConsentQueryBuilder,\n  MarketingConsentUpdatedEnvelope,\n  QueryMarketingConsentResponse,\n  RemoveMarketingConsentOptions,\n  RemoveMarketingConsentResponse,\n  UpdateMarketingConsentOptions,\n  UpsertMarketingConsentResponse,\n  bulkUpsertMarketingConsent as universalBulkUpsertMarketingConsent,\n  createMarketingConsent as universalCreateMarketingConsent,\n  deleteMarketingConsent as universalDeleteMarketingConsent,\n  getMarketingConsent as universalGetMarketingConsent,\n  getMarketingConsentByIdentifier as universalGetMarketingConsentByIdentifier,\n  queryMarketingConsent as universalQueryMarketingConsent,\n  removeMarketingConsent as universalRemoveMarketingConsent,\n  typedQueryMarketingConsent as universalTypedQueryMarketingConsent,\n  updateMarketingConsent as universalUpdateMarketingConsent,\n  upsertMarketingConsent as universalUpsertMarketingConsent,\n} from './marketing-marketing-consent-v1-marketing-consent-marketing-consent.universal.js';\n\nconst TRANSFORM_PATHS_0 = [\n  { path: 'entity.createdDate' },\n  { path: 'entity.updatedDate' },\n  { path: 'entity.lastConfirmationActivity.updatedDate' },\n  { path: 'entity.lastRevokeActivity.updatedDate' },\n  { path: 'metadata.eventTime' },\n];\nconst TRANSFORM_PATHS_1 = [\n  { path: 'undefined.createdDate' },\n  { path: 'undefined.updatedDate' },\n  { path: 'undefined.lastConfirmationActivity.updatedDate' },\n  { path: 'undefined.lastRevokeActivity.updatedDate' },\n  { path: 'metadata.eventTime' },\n];\nconst TRANSFORM_PATHS_2 = [\n  { path: 'entity.createdDate' },\n  { path: 'entity.updatedDate' },\n  { path: 'entity.lastConfirmationActivity.updatedDate' },\n  { path: 'entity.lastRevokeActivity.updatedDate' },\n  { path: 'metadata.eventTime' },\n  { path: 'modifiedFields.createdDate' },\n  { path: 'modifiedFields.updatedDate' },\n  { path: 'modifiedFields.lastConfirmationActivity.updatedDate' },\n  { path: 'modifiedFields.lastRevokeActivity.updatedDate' },\n];\nexport const __metadata = { PACKAGE_NAME: '@wix/marketing' };\n\nexport function getMarketingConsent(\n  httpClient: HttpClient\n): GetMarketingConsentSignature {\n  return (marketingConsentId: string) =>\n    universalGetMarketingConsent(\n      marketingConsentId,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface GetMarketingConsentSignature {\n  /**\n   * Retrieves a marketing consent.\n   * @param - Marketing consent ID.\n   * @returns The requested marketing consent.\n   */\n  (marketingConsentId: string): Promise<\n    NonNullablePaths<\n      MarketingConsent,\n      | `details.email`\n      | `details.phone`\n      | `details.type`\n      | `state`\n      | `lastConfirmationActivity.source`\n      | `lastConfirmationActivity.optInLevel`\n      | `lastRevokeActivity.source`,\n      1\n    >\n  >;\n}\n\nexport function getMarketingConsentByIdentifier(\n  httpClient: HttpClient\n): GetMarketingConsentByIdentifierSignature {\n  return (\n    type: MarketingConsentDetailsIdentifierTypeWithLiterals,\n    options?: GetMarketingConsentByIdentifierOptions\n  ) =>\n    universalGetMarketingConsentByIdentifier(\n      type,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface GetMarketingConsentByIdentifierSignature {\n  /**\n   * Retrieves a marketing consent by its details.\n   * Required fields:\n   * - `details.type`.\n   * - `details.email` OR `details.phone`.\n   *\n   * >**Note:** Due to the ongoing development of our new documentation portal, the query parameter is not displaying as expected. Use the `details` object located in the marketing consent object in the request. You can also see the code example for reference.\n   * @param - The communication channel of the marketing consent.\n   * @param - Field options. The relevant `email` or `phone` **must** be passed.\n   */\n  (\n    type: MarketingConsentDetailsIdentifierTypeWithLiterals,\n    options?: GetMarketingConsentByIdentifierOptions\n  ): Promise<\n    NonNullablePaths<\n      GetMarketingConsentByIdentifierResponse,\n      | `marketingConsent.details.email`\n      | `marketingConsent.details.phone`\n      | `marketingConsent.details.type`\n      | `marketingConsent.state`\n      | `marketingConsent.lastConfirmationActivity.source`\n      | `marketingConsent.lastConfirmationActivity.optInLevel`\n      | `marketingConsent.lastRevokeActivity.source`\n      | `communicationEligibility.granted`,\n      2\n    >\n  >;\n}\n\nexport function createMarketingConsent(\n  httpClient: HttpClient\n): CreateMarketingConsentSignature {\n  return (\n    marketingConsent: NonNullablePaths<\n      MarketingConsent,\n      `details` | `lastConfirmationActivity`,\n      0\n    >\n  ) =>\n    universalCreateMarketingConsent(\n      marketingConsent,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface CreateMarketingConsentSignature {\n  /**\n   * Creates a confirmed marketing consent with a `state` of `CONFIRMED`.\n   * Required fields:\n   * - `details.type`.\n   * - `details.email` OR `details.phone`.\n   * - `lastConfirmationActivity`.\n   *\n   * To create a marketing consent with a different state, use Upsert Marketing Consent, or Bulk Upsert Marketing Consent.\n   * @param - Marketing consent to create.\n   * @returns Newly created marketing consent.\n   */\n  (\n    marketingConsent: NonNullablePaths<\n      MarketingConsent,\n      `details` | `lastConfirmationActivity`,\n      0\n    >\n  ): Promise<\n    NonNullablePaths<\n      MarketingConsent,\n      | `details.email`\n      | `details.phone`\n      | `details.type`\n      | `state`\n      | `lastConfirmationActivity.source`\n      | `lastConfirmationActivity.optInLevel`\n      | `lastRevokeActivity.source`,\n      1\n    >\n  >;\n}\n\nexport function updateMarketingConsent(\n  httpClient: HttpClient\n): UpdateMarketingConsentSignature {\n  return (\n    _id: string,\n    options?: NonNullablePaths<\n      UpdateMarketingConsentOptions,\n      `marketingConsent.details` | `mask`,\n      1\n    >\n  ) =>\n    universalUpdateMarketingConsent(\n      _id,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface UpdateMarketingConsentSignature {\n  /**\n   * Updates a marketing consent.\n   * Required fields:\n   * - `details.type`.\n   * - `details.email` OR `details.phone`.\n   * - `state`.\n   *\n   * When a marketing consent's `state` is `PENDING` or `CONFIRMED`, the `info.lastConfirmationActivity` field is required.\n   * When a marketing consent's `state` is `REVOKED`, the `info.lastRevokeActivity` field is required.\n   *\n   * >**Note:** For existing marketing consents with `{\"type\": \"EMAIL\"}`, you can't update the `state` to `UNKNOWN_STATE`. Trying to do so maintains the current state. However, you can create a new marketing consent and set the `state` to `UNKNOWN_STATE`. Note that you can't create more than a single consent per email or phone number.\n   * @param - Marketing consent ID.\n   * @param - Field options. The following fields **must** be passed: `details.type`, the relevant `email` OR `phone`, and `state`.\n   * @returns Updated marketing consent.\n   */\n  (\n    _id: string,\n    options?: NonNullablePaths<\n      UpdateMarketingConsentOptions,\n      `marketingConsent.details` | `mask`,\n      1\n    >\n  ): Promise<\n    NonNullablePaths<\n      MarketingConsent,\n      | `details.email`\n      | `details.phone`\n      | `details.type`\n      | `state`\n      | `lastConfirmationActivity.source`\n      | `lastConfirmationActivity.optInLevel`\n      | `lastRevokeActivity.source`,\n      1\n    >\n  >;\n}\n\nexport function deleteMarketingConsent(\n  httpClient: HttpClient\n): DeleteMarketingConsentSignature {\n  return (marketingConsentId: string) =>\n    universalDeleteMarketingConsent(\n      marketingConsentId,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface DeleteMarketingConsentSignature {\n  /**\n   * Deletes a marketing consent.\n   * @param - ID of the marketing consent to delete.\n   */\n  (marketingConsentId: string): Promise<void>;\n}\n\nexport function removeMarketingConsent(\n  httpClient: HttpClient\n): RemoveMarketingConsentSignature {\n  return (\n    details: NonNullablePaths<MarketingConsentDetails, `type`, 0>,\n    options?: RemoveMarketingConsentOptions\n  ) =>\n    universalRemoveMarketingConsent(\n      details,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface RemoveMarketingConsentSignature {\n  /**\n   * Removes a marketing consent. The consent is cancelled, and the `state` is updated to `REVOKED`.\n   * The marketing consent entity still exists, but the recipient is no longer eligible to receive communication.\n   * To delete a marketing consent entirely, use Delete Marketing Consent.\n   *\n   * Required fields:\n   * - `details.type`.\n   * - `details.email` OR `details.phone`.\n   * - `info.lastRevokeActivity`.\n   * @param - Marketing consent communication details.\n   * @param - Field options. The `lastRevokeActivity` field **must** be passed.\n   */\n  (\n    details: NonNullablePaths<MarketingConsentDetails, `type`, 0>,\n    options?: RemoveMarketingConsentOptions\n  ): Promise<\n    NonNullablePaths<\n      RemoveMarketingConsentResponse,\n      | `marketingConsent.details.email`\n      | `marketingConsent.details.phone`\n      | `marketingConsent.details.type`\n      | `marketingConsent.state`\n      | `marketingConsent.lastConfirmationActivity.source`\n      | `marketingConsent.lastConfirmationActivity.optInLevel`\n      | `marketingConsent.lastRevokeActivity.source`,\n      2\n    >\n  >;\n}\n\nexport function queryMarketingConsent(\n  httpClient: HttpClient\n): QueryMarketingConsentSignature {\n  return () =>\n    universalQueryMarketingConsent(\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface QueryMarketingConsentSignature {\n  /**\n   * Retrieves a list of marketing consents, given the provided paging, filtering, and sorting. Up to 100 marketing consents can be returned per request.\n   *\n   * The default `sort` is `id` in `ASC` order. For a detailed list of supported operations, see filtering and sorting for marketing consent properties. To learn how to query marketing consents, see API Query Language.\n   */\n  (): MarketingConsentQueryBuilder;\n}\n\nexport function typedQueryMarketingConsent(\n  httpClient: HttpClient\n): TypedQueryMarketingConsentSignature {\n  return (query: MarketingConsentQuery) =>\n    universalTypedQueryMarketingConsent(\n      query,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface TypedQueryMarketingConsentSignature {\n  /** */\n  (query: MarketingConsentQuery): Promise<\n    NonNullablePaths<\n      QueryMarketingConsentResponse,\n      | `marketingConsent`\n      | `marketingConsent.${number}.details.email`\n      | `marketingConsent.${number}.details.phone`\n      | `marketingConsent.${number}.details.type`\n      | `marketingConsent.${number}.state`\n      | `marketingConsent.${number}.lastConfirmationActivity.source`\n      | `marketingConsent.${number}.lastConfirmationActivity.optInLevel`\n      | `marketingConsent.${number}.lastRevokeActivity.source`,\n      3\n    >\n  >;\n}\n\nexport function upsertMarketingConsent(\n  httpClient: HttpClient\n): UpsertMarketingConsentSignature {\n  return (\n    marketingConsent: NonNullablePaths<\n      MarketingConsent,\n      `details` | `details.type`,\n      1\n    >\n  ) =>\n    universalUpsertMarketingConsent(\n      marketingConsent,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface UpsertMarketingConsentSignature {\n  /**\n   * Creates or updates a marketing consent.\n   * Required fields:\n   * - `details.type`.\n   * - `details.email` OR `details.phone`.\n   * - `state`.\n   *\n   * When a marketing consent's `state` is `PENDING` or `CONFIRMED`, the `info.lastConfirmationActivity` field is required.\n   * When a marketing consent's `state` is `REVOKED`, the `info.lastRevokeActivity` field is required.\n   *\n   * >**Note:** For existing marketing consents with `{\"type\": \"EMAIL\"}`, you can't update the `state` to `UNKNOWN_STATE`. Trying to do so maintains the current state. However, you can create a new marketing consent and set the `state` to `UNKNOWN_STATE`. Note that you can't create more than a single consent per email or phone number.\n   * @param - Marketing consent to create or update.\n   */\n  (\n    marketingConsent: NonNullablePaths<\n      MarketingConsent,\n      `details` | `details.type`,\n      1\n    >\n  ): Promise<\n    NonNullablePaths<\n      UpsertMarketingConsentResponse,\n      | `marketingConsent.details.email`\n      | `marketingConsent.details.phone`\n      | `marketingConsent.details.type`\n      | `marketingConsent.state`\n      | `marketingConsent.lastConfirmationActivity.source`\n      | `marketingConsent.lastConfirmationActivity.optInLevel`\n      | `marketingConsent.lastRevokeActivity.source`\n      | `link.type`\n      | `link.url`,\n      2\n    >\n  >;\n}\n\nexport function bulkUpsertMarketingConsent(\n  httpClient: HttpClient\n): BulkUpsertMarketingConsentSignature {\n  return (info: NonNullablePaths<MarketingConsent, `details`, 0>[]) =>\n    universalBulkUpsertMarketingConsent(\n      info,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface BulkUpsertMarketingConsentSignature {\n  /**\n   * Creates or updates multiple marketing consents.\n   * Required fields:\n   * - `details.type`.\n   * - `details.email` OR `details.phone`.\n   * - `state`.\n   *\n   * When a marketing consent's `state` is `PENDING` or `CONFIRMED`, the `info.lastConfirmationActivity` field is required.\n   * When a marketing consent's `state` is `REVOKED`, the `info.lastRevokeActivity` field is required.\n   *\n   * >**Note:** For existing marketing consents with `{\"type\": \"EMAIL\"}`, you can't update the `state` to `UNKNOWN_STATE`. Trying to do so maintains the current state. However, you can create a new marketing consent and set the `state` to `UNKNOWN_STATE`. Note that you can't create more than a single consent per email or phone number.\n   * @param - List of marketing consent information to update or create.\n   */\n  (info: NonNullablePaths<MarketingConsent, `details`, 0>[]): Promise<\n    NonNullablePaths<\n      BulkUpsertMarketingConsentResponse,\n      | `results`\n      | `results.${number}.originalIndex`\n      | `results.${number}.marketingConsent.details.email`\n      | `results.${number}.marketingConsent.details.phone`\n      | `results.${number}.marketingConsent.details.type`\n      | `results.${number}.marketingConsent.state`\n      | `results.${number}.marketingConsent.lastConfirmationActivity.source`\n      | `results.${number}.marketingConsent.lastConfirmationActivity.optInLevel`\n      | `results.${number}.marketingConsent.lastRevokeActivity.source`\n      | `results.${number}.link.type`\n      | `results.${number}.link.url`\n      | `metadata.totalSuccess`\n      | `metadata.totalFailure`,\n      4\n    >\n  >;\n}\n\nexport const onMarketingConsentCreated = /*#__PURE__*/ EventDefinition(\n  'wix.marketing.marketing_consent.v1.marketing_consent_created',\n  true,\n  (event: MarketingConsentCreatedEnvelope) =>\n    renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(event, [\n        {\n          transformFn: transformRESTTimestampToSDKTimestamp,\n          paths: TRANSFORM_PATHS_0,\n        },\n      ])\n    )\n)<MarketingConsentCreatedEnvelope>();\nexport const onMarketingConsentDeleted = /*#__PURE__*/ EventDefinition(\n  'wix.marketing.marketing_consent.v1.marketing_consent_deleted',\n  true,\n  (event: MarketingConsentDeletedEnvelope) =>\n    renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(event, [\n        {\n          transformFn: transformRESTTimestampToSDKTimestamp,\n          paths: TRANSFORM_PATHS_1,\n        },\n      ])\n    )\n)<MarketingConsentDeletedEnvelope>();\nexport const onMarketingConsentUpdated = /*#__PURE__*/ EventDefinition(\n  'wix.marketing.marketing_consent.v1.marketing_consent_updated',\n  true,\n  (event: MarketingConsentUpdatedEnvelope) =>\n    renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(event, [\n        {\n          transformFn: transformRESTTimestampToSDKTimestamp,\n          paths: TRANSFORM_PATHS_2,\n        },\n      ])\n    )\n)<MarketingConsentUpdatedEnvelope>();\n\nexport {\n  AccountInfo,\n  AccountInfoMetadata,\n  ActionEvent,\n  AddressLocation,\n  BaseEventMetadata,\n  BulkUpsertMarketingConsentRequest,\n  BulkUpsertMarketingConsentResponse,\n  BulkUpsertMarketingConsentResult,\n  CommunicationEligibility,\n  CreateMarketingConsentByTokenRequest,\n  CreateMarketingConsentByTokenResponse,\n  CreateMarketingConsentRequest,\n  CreateMarketingConsentResponse,\n  CursorPaging,\n  CursorPagingMetadata,\n  CursorQuery,\n  CursorQueryPagingMethodOneOf,\n  Cursors,\n  DeleteMarketingConsentRequest,\n  DeleteMarketingConsentResponse,\n  DomainEvent,\n  DomainEventBodyOneOf,\n  Empty,\n  EntityCreatedEvent,\n  EntityDeletedEvent,\n  EntityUpdatedEvent,\n  EventMetadata,\n  ExtendedFields,\n  GenerateLinkRequest,\n  GenerateLinkRequestIdentifierOneOf,\n  GenerateLinkResponse,\n  GetConsistentMarketingConsentByIdentifierRequest,\n  GetConsistentMarketingConsentByIdentifierRequestIdentifierOneOf,\n  GetConsistentMarketingConsentByIdentifierResponse,\n  GetMarketingConsentByIdentifierOptions,\n  GetMarketingConsentByIdentifierOptionsIdentifierOneOf,\n  GetMarketingConsentByIdentifierRequest,\n  GetMarketingConsentByIdentifierRequestIdentifierOneOf,\n  GetMarketingConsentByIdentifierResponse,\n  GetMarketingConsentRequest,\n  GetMarketingConsentResponse,\n  IdentificationData,\n  IdentificationDataIdOneOf,\n  LastConfirmationActivity,\n  LastRevokeActivity,\n  LastRevokeActivitySource,\n  Link,\n  LinkType,\n  MarketingConsent,\n  MarketingConsentCreatedEnvelope,\n  MarketingConsentDeletedEnvelope,\n  MarketingConsentDetails,\n  MarketingConsentDetailsIdentifierOneOf,\n  MarketingConsentDetailsIdentifierType,\n  MarketingConsentQueryBuilder,\n  MarketingConsentQueryResult,\n  MarketingConsentQuerySpec,\n  MarketingConsentState,\n  MarketingConsentUpdatedEnvelope,\n  MessageEnvelope,\n  Metadata,\n  OptInLevel,\n  QueryMarketingConsentRequest,\n  QueryMarketingConsentResponse,\n  RemoveMarketingConsentByTokenRequest,\n  RemoveMarketingConsentByTokenResponse,\n  RemoveMarketingConsentOptions,\n  RemoveMarketingConsentRequest,\n  RemoveMarketingConsentResponse,\n  RestoreInfo,\n  SortOrder,\n  Sorting,\n  Source,\n  UpdateMarketingConsentOptions,\n  UpdateMarketingConsentRequest,\n  UpdateMarketingConsentResponse,\n  UpsertMarketingConsentRequest,\n  UpsertMarketingConsentResponse,\n  WebhookIdentityType,\n  utils,\n} from './marketing-marketing-consent-v1-marketing-consent-marketing-consent.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 ambassadorWixMarketingMarketingConsentV1MarketingConsent from './marketing-marketing-consent-v1-marketing-consent-marketing-consent.http.js';\n// @ts-ignore\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { createQueryUtils } from '@wix/sdk-runtime/query-builder-utils';\n\nexport interface MarketingConsent {\n  /**\n   * Marketing consent ID.\n   * @format GUID\n   * @immutable\n   * @readonly\n   */\n  _id?: string | null;\n  /**\n   * Revision number.\n   * @readonly\n   */\n  revision?: string | null;\n  /** Marketing consent communication details. */\n  details?: MarketingConsentDetails;\n  /**\n   * Marketing consent state.\n   *\n   * Default: `UNKNOWN_STATE`.\n   */\n  state?: MarketingConsentStateWithLiterals;\n  /**\n   * Date and time the marketing consent was created.\n   * @readonly\n   */\n  _createdDate?: Date | null;\n  /**\n   * Date and time the marketing consent was updated.\n   * @readonly\n   */\n  _updatedDate?: Date | null;\n  /** Last confirmation activity of the marketing consent. */\n  lastConfirmationActivity?: LastConfirmationActivity;\n  /** Last revoke activity of the marketing consent. */\n  lastRevokeActivity?: LastRevokeActivity;\n  /** Additional fields. */\n  extendedFields?: ExtendedFields;\n}\n\nexport interface MarketingConsentDetails\n  extends MarketingConsentDetailsIdentifierOneOf {\n  /**\n   * Email address used for the marketing consent.\n   * @format EMAIL\n   */\n  email?: string;\n  /**\n   * Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent.\n   * @format PHONE\n   */\n  phone?: string;\n  /** The communication channel of the marketing consent. */\n  type?: MarketingConsentDetailsIdentifierTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface MarketingConsentDetailsIdentifierOneOf {\n  /**\n   * Email address used for the marketing consent.\n   * @format EMAIL\n   */\n  email?: string;\n  /**\n   * Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent.\n   * @format PHONE\n   */\n  phone?: string;\n}\n\nexport enum MarketingConsentDetailsIdentifierType {\n  UNKNOWN_TYPE = 'UNKNOWN_TYPE',\n  EMAIL = 'EMAIL',\n  PHONE = 'PHONE',\n}\n\n/** @enumType */\nexport type MarketingConsentDetailsIdentifierTypeWithLiterals =\n  | MarketingConsentDetailsIdentifierType\n  | 'UNKNOWN_TYPE'\n  | 'EMAIL'\n  | 'PHONE';\n\nexport enum MarketingConsentState {\n  /** State of the marketing consent is unknown. */\n  UNKNOWN_STATE = 'UNKNOWN_STATE',\n  /** The site visitor never confirmed to receive marketing consents. */\n  NEVER_CONFIRMED = 'NEVER_CONFIRMED',\n  /** The marketing consent has been removed, for example, when a site visitor unsubscribes from a newsletter. */\n  REVOKED = 'REVOKED',\n  /** The marketing consent is pending confirmation. Relevant only for `{\"optInLevel\": \"DOUBLE_CONFIRMATION\"}`. */\n  PENDING = 'PENDING',\n  /** The site visitor has confirmed their marketing consent. */\n  CONFIRMED = 'CONFIRMED',\n}\n\n/** @enumType */\nexport type MarketingConsentStateWithLiterals =\n  | MarketingConsentState\n  | 'UNKNOWN_STATE'\n  | 'NEVER_CONFIRMED'\n  | 'REVOKED'\n  | 'PENDING'\n  | 'CONFIRMED';\n\nexport interface LastConfirmationActivity {\n  /** Source of the given consent (how the site visitor signed up). */\n  source?: SourceWithLiterals;\n  /**\n   * Consent description.\n   * @minLength 1\n   * @maxLength 200\n   */\n  description?: string | null;\n  /** Date and time the consent was updated. */\n  _updatedDate?: Date | null;\n  /** Consent opt in level, either single or double confirmation. */\n  optInLevel?: OptInLevelWithLiterals;\n}\n\nexport enum Source {\n  IN_PERSON = 'IN_PERSON',\n  FORM = 'FORM',\n  LINK_CONFIRMATION = 'LINK_CONFIRMATION',\n  EMAIL_SERVICE = 'EMAIL_SERVICE',\n  WIX_USERS = 'WIX_USERS',\n  OTHER = 'OTHER',\n}\n\n/** @enumType */\nexport type SourceWithLiterals =\n  | Source\n  | 'IN_PERSON'\n  | 'FORM'\n  | 'LINK_CONFIRMATION'\n  | 'EMAIL_SERVICE'\n  | 'WIX_USERS'\n  | 'OTHER';\n\nexport enum OptInLevel {\n  UNKNOWN_OPT_IN_LEVEL = 'UNKNOWN_OPT_IN_LEVEL',\n  SINGLE_CONFIRMATION = 'SINGLE_CONFIRMATION',\n  DOUBLE_CONFIRMATION = 'DOUBLE_CONFIRMATION',\n}\n\n/** @enumType */\nexport type OptInLevelWithLiterals =\n  | OptInLevel\n  | 'UNKNOWN_OPT_IN_LEVEL'\n  | 'SINGLE_CONFIRMATION'\n  | 'DOUBLE_CONFIRMATION';\n\nexport interface LastRevokeActivity {\n  /** Source of the given revoke (how the visitor signed up). */\n  source?: LastRevokeActivitySourceWithLiterals;\n  /**\n   * Details about the revoke, if relevant.\n   * @minLength 1\n   * @maxLength 200\n   */\n  description?: string | null;\n  /** Date and time the consent was updated. */\n  _updatedDate?: Date | null;\n}\n\nexport enum LastRevokeActivitySource {\n  IN_PERSON = 'IN_PERSON',\n  FORM = 'FORM',\n  REVOKE_LINK = 'REVOKE_LINK',\n  WIX_USERS = 'WIX_USERS',\n  OTHER = 'OTHER',\n}\n\n/** @enumType */\nexport type LastRevokeActivitySourceWithLiterals =\n  | LastRevokeActivitySource\n  | 'IN_PERSON'\n  | 'FORM'\n  | 'REVOKE_LINK'\n  | 'WIX_USERS'\n  | 'OTHER';\n\nexport interface ExtendedFields {\n  /**\n   * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n   * The value of each key is structured according to the schema defined when the extended fields were configured.\n   *\n   * You can only access fields for which you have the appropriate permissions.\n   *\n   * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n   */\n  namespaces?: Record<string, Record<string, any>>;\n}\n\nexport interface GetMarketingConsentRequest {\n  /**\n   * Marketing consent ID.\n   * @format GUID\n   */\n  marketingConsentId: string;\n}\n\nexport interface GetMarketingConsentResponse {\n  /** The requested marketing consent. */\n  marketingConsent?: MarketingConsent;\n}\n\nexport interface GetMarketingConsentByIdentifierRequest\n  extends GetMarketingConsentByIdentifierRequestIdentifierOneOf {\n  /**\n   * Email address used for the marketing consent.\n   * @format EMAIL\n   */\n  email?: string;\n  /**\n   * Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent.\n   * @format PHONE\n   */\n  phone?: string;\n  /** The communication channel of the marketing consent. */\n  type: MarketingConsentDetailsIdentifierTypeWithLiterals;\n  /**\n   * Language of the page\n   * @format LANGUAGE\n   */\n  linkLanguage?: string | null;\n}\n\n/** @oneof */\nexport interface GetMarketingConsentByIdentifierRequestIdentifierOneOf {\n  /**\n   * Email address used for the marketing consent.\n   * @format EMAIL\n   */\n  email?: string;\n  /**\n   * Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent.\n   * @format PHONE\n   */\n  phone?: string;\n}\n\nexport interface GetMarketingConsentByIdentifierResponse {\n  /** The requested marketing consent. */\n  marketingConsent?: MarketingConsent;\n  /** Details about whether the subject of the marketing consent is eligible to receive marketing messages. */\n  communicationEligibility?: CommunicationEligibility;\n}\n\nexport interface CommunicationEligibility {\n  /** Whether the recipient of the marketing consent is eligible to receive marketing messages. For example, if a visitor cancels their marketing consent, `CommunicationEligibility.granted` is `false`. Note that this only serves as a signal for your app to decide whether or not it should send marketing messages to the recipient's email address or phone number. */\n  granted?: boolean;\n  /**\n   * Cancellation link.\n   * @format WEB_URL\n   */\n  revokeConfirmationLink?: string | null;\n  /**\n   * The reason the recipient of the marketing consent isn't eligible to receive marketing messages, for example, if the visitor unsubscribed from a newsletter.\n   * @maxLength 300\n   */\n  reason?: string | null;\n}\n\nexport interface GetConsistentMarketingConsentByIdentifierRequest\n  extends GetConsistentMarketingConsentByIdentifierRequestIdentifierOneOf {\n  /**\n   * Email address used for the marketing consent.\n   * @format EMAIL\n   */\n  email?: string;\n  /**\n   * Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent.\n   * @format PHONE\n   */\n  phone?: string;\n  /** The communication channel of the marketing consent. */\n  type?: MarketingConsentDetailsIdentifierTypeWithLiterals;\n  /**\n   * Language of the page\n   * @format LANGUAGE\n   */\n  linkLanguage?: string | null;\n}\n\n/** @oneof */\nexport interface GetConsistentMarketingConsentByIdentifierRequestIdentifierOneOf {\n  /**\n   * Email address used for the marketing consent.\n   * @format EMAIL\n   */\n  email?: string;\n  /**\n   * Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent.\n   * @format PHONE\n   */\n  phone?: string;\n}\n\nexport interface GetConsistentMarketingConsentByIdentifierResponse {\n  /** The requested marketing consent. */\n  marketingConsent?: MarketingConsent;\n  /** Details about whether the recipient of the marketing consent is eligible to receive marketing messages. */\n  communicationEligibility?: CommunicationEligibility;\n}\n\nexport interface CreateMarketingConsentRequest {\n  /** Marketing consent to create. */\n  marketingConsent?: MarketingConsent;\n}\n\nexport interface CreateMarketingConsentResponse {\n  /** Newly created marketing consent. */\n  marketingConsent?: MarketingConsent;\n  /** Marketing consent confirmation link. */\n  link?: Link;\n}\n\nexport interface Link {\n  /** Link type. */\n  type?: LinkTypeWithLiterals;\n  /**\n   * The link's URL.\n   * @format WEB_URL\n   */\n  url?: string;\n}\n\nexport enum LinkType {\n  UNKNOWN_LINK_TYPE = 'UNKNOWN_LINK_TYPE',\n  CONFIRMATION = 'CONFIRMATION',\n  REVOKE_CONFIRMATION = 'REVOKE_CONFIRMATION',\n}\n\n/** @enumType */\nexport type LinkTypeWithLiterals =\n  | LinkType\n  | 'UNKNOWN_LINK_TYPE'\n  | 'CONFIRMATION'\n  | 'REVOKE_CONFIRMATION';\n\nexport interface UpdateMarketingConsentRequest {\n  /** Marketing consent to update. */\n  marketingConsent?: MarketingConsent;\n  /** Explicit list of fields to update */\n  mask: string[];\n}\n\nexport interface UpdateMarketingConsentResponse {\n  /** Updated marketing consent. */\n  marketingConsent?: MarketingConsent;\n  /** Marketing consent confirmation or cancelation link. */\n  link?: Link;\n}\n\nexport interface DeleteMarketingConsentRequest {\n  /**\n   * ID of the marketing consent to delete.\n   * @format GUID\n   */\n  marketingConsentId: string;\n}\n\nexport interface DeleteMarketingConsentResponse {}\n\nexport interface RemoveMarketingConsentRequest {\n  /** Marketing consent communication details. */\n  details: MarketingConsentDetails;\n  /** Information about the last revoke. */\n  lastRevokeActivity?: LastRevokeActivity;\n}\n\nexport interface RemoveMarketingConsentResponse {\n  /** The canceled marketing consent. */\n  marketingConsent?: MarketingConsent;\n}\n\nexport interface CreateMarketingConsentByTokenRequest {\n  /**\n   * Encrypted token with essential information\n   * @maxLength 5000\n   */\n  token?: string;\n}\n\nexport interface CreateMarketingConsentByTokenResponse {\n  /** The subscribed MarketingConsent */\n  marketingConsent?: MarketingConsent;\n}\n\nexport interface RemoveMarketingConsentByTokenRequest {\n  /**\n   * Encrypted token with essential information\n   * @maxLength 5000\n   */\n  token?: string;\n}\n\nexport interface RemoveMarketingConsentByTokenResponse {\n  /** The subscribed MarketingConsent */\n  marketingConsent?: MarketingConsent;\n}\n\nexport interface QueryMarketingConsentRequest {\n  /** Query options. */\n  query: CursorQuery;\n}\n\nexport interface CursorQuery extends CursorQueryPagingMethodOneOf {\n  /**\n   * Cursor paging options.\n   *\n   * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n   */\n  cursorPaging?: CursorPaging;\n  /**\n   * Filter object.\n   *\n   * Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters).\n   */\n  filter?: Record<string, any> | null;\n  /**\n   * Sort object.\n   *\n   * Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#sorting).\n   * @maxSize 5\n   */\n  sort?: Sorting[];\n}\n\n/** @oneof */\nexport interface CursorQueryPagingMethodOneOf {\n  /**\n   * Cursor paging options.\n   *\n   * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n   */\n  cursorPaging?: CursorPaging;\n}\n\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   * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n   * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n   *\n   * If multiple filters are provided, they are combined with AND operator.\n   *\n   * Example:\n   * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n   * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n   * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n   * @internal\n   * @maxSize 10\n   */\n  selectItemsBy?: Record<string, any>[] | null;\n  /**\n   * Origin point for geo-distance sorting on a GEO field\n   * results are ordered by distance from this point (ASC = nearest first, DESC = farthest first).\n   */\n  origin?: AddressLocation;\n}\n\nexport enum SortOrder {\n  ASC = 'ASC',\n  DESC = 'DESC',\n}\n\n/** @enumType */\nexport type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';\n\nexport interface AddressLocation {\n  /** Address latitude. */\n  latitude?: number | null;\n  /** Address longitude. */\n  longitude?: number | null;\n}\n\nexport interface CursorPaging {\n  /**\n   * Maximum number of items to return in the results.\n   * @max 100\n   */\n  limit?: number | null;\n  /**\n   * Pointer to the next or previous page in the list of results.\n   *\n   * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n   * Not relevant for the first request.\n   * @maxLength 16000\n   */\n  cursor?: string | null;\n}\n\nexport interface QueryMarketingConsentResponse {\n  /** List of marketing consents. */\n  marketingConsent?: MarketingConsent[];\n  /** Details on the paged set of results returned. */\n  pagingMetadata?: CursorPagingMetadata;\n}\n\nexport interface CursorPagingMetadata {\n  /** Number of items returned in current page. */\n  count?: number | null;\n  /** Cursor strings that point to the next page, previous page, or both. */\n  cursors?: Cursors;\n  /**\n   * Whether there are more pages to retrieve following the current page.\n   *\n   * + `true`: Another page of results can be retrieved.\n   * + `false`: This is the last page.\n   */\n  hasNext?: boolean | null;\n  /**\n   * Total number of items matching the filter.\n   * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n   * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n   * @internal\n   */\n  total?: number | null;\n}\n\nexport interface Cursors {\n  /**\n   * Cursor string pointing to the next page in the list of results.\n   * @maxLength 16000\n   */\n  next?: string | null;\n  /**\n   * Cursor pointing to the previous page in the list of results.\n   * @maxLength 16000\n   */\n  prev?: string | null;\n}\n\nexport interface UpsertMarketingConsentRequest {\n  /** Marketing consent to create or update. */\n  marketingConsent?: MarketingConsent;\n}\n\nexport interface UpsertMarketingConsentResponse {\n  /** Newly created or updated marketing consent. */\n  marketingConsent?: MarketingConsent;\n  /** Marketing consent confirmation or cancelation link. */\n  link?: Link;\n}\n\nexport interface BulkUpsertMarketingConsentRequest {\n  /**\n   * List of marketing consent information to update or create.\n   * @minSize 1\n   * @maxSize 500\n   */\n  info?: MarketingConsent[];\n}\n\nexport interface BulkUpsertMarketingConsentResponse {\n  /** List of created or updated marketing consents. */\n  results?: BulkUpsertMarketingConsentResult[];\n  /** Numbers of successful and failed actions. */\n  metadata?: Metadata;\n}\n\nexport interface BulkUpsertMarketingConsentResult {\n  /** Position of the newly created or updated marketing consent in the array. */\n  originalIndex?: number;\n  /** Newly created or updated marketing consent. */\n  marketingConsent?: MarketingConsent;\n  /**\n   * Information about the error. Only returns if the action fails.\n   * @maxLength 500\n   */\n  error?: string | null;\n  /** Marketing consent confirmation or cancelation link. */\n  link?: Link;\n}\n\nexport interface Metadata {\n  /** Number of successful actions. */\n  totalSuccess?: number;\n  /** Number of failed actions. */\n  totalFailure?: number;\n}\n\nexport interface GenerateLinkRequest\n  extends GenerateLinkRequestIdentifierOneOf {\n  /**\n   * Email address used for the marketing consent.\n   * @format EMAIL\n   */\n  email?: string;\n  /**\n   * Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent.\n   * @format PHONE\n   */\n  phone?: string;\n  /** The communication channel of the marketing consent. */\n  type?: MarketingConsentDetailsIdentifierTypeWithLiterals;\n  linkType?: LinkTypeWithLiterals;\n  /**\n   * Language of the page\n   * @format LANGUAGE\n   */\n  language?: string | null;\n  /** Arbitrary parameters for closing-the-loop. */\n  metadata?: Record<string, string>;\n}\n\n/** @oneof */\nexport interface GenerateLinkRequestIdentifierOneOf {\n  /**\n   * Email address used for the marketing consent.\n   * @format EMAIL\n   */\n  email?: string;\n  /**\n   * Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent.\n   * @format PHONE\n   */\n  phone?: string;\n}\n\nexport interface GenerateLinkResponse {\n  /** confirmation or revoke link */\n  link?: Link;\n}\n\nexport interface Empty {}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n  createdEvent?: EntityCreatedEvent;\n  updatedEvent?: EntityUpdatedEvent;\n  deletedEvent?: EntityDeletedEvent;\n  actionEvent?: ActionEvent;\n  /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n  _id?: string;\n  /**\n   * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n   * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n   */\n  entityFqdn?: string;\n  /**\n   * Event action name, placed at the top level to make it easier for users to dispatch messages.\n   * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n   */\n  slug?: string;\n  /** ID of the entity associated with the event. */\n  entityId?: string;\n  /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n  eventTime?: Date | null;\n  /**\n   * Whether the event was triggered as a result of a privacy regulation application\n   * (for example, GDPR).\n   */\n  triggeredByAnonymizeRequest?: boolean | null;\n  /** If present, indicates the action that triggered the event. */\n  originatedFrom?: string | null;\n  /**\n   * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number.\n   * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n   */\n  entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n  createdEvent?: EntityCreatedEvent;\n  updatedEvent?: EntityUpdatedEvent;\n  deletedEvent?: EntityDeletedEvent;\n  actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n  entity?: string;\n}\n\nexport interface RestoreInfo {\n  deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n  /**\n   * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n   * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n   * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n   */\n  currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n  /** Entity that was deleted. */\n  deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n  body?: string;\n}\n\nexport interface MessageEnvelope {\n  /**\n   * App instance ID.\n   * @format GUID\n   */\n  instanceId?: string | null;\n  /**\n   * Event type.\n   * @maxLength 150\n   */\n  eventType?: string;\n  /** The identification type and identity data. */\n  identity?: IdentificationData;\n  /** Stringify payload. */\n  data?: string;\n  /** Details related to the account */\n  accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n  /**\n   * ID of a site visitor that has not logged in to the site.\n   * @format GUID\n   */\n  anonymousVisitorId?: string;\n  /**\n   * ID of a site visitor that has logged in to the site.\n   * @format GUID\n   */\n  memberId?: string;\n  /**\n   * ID of a Wix user (site owner, contributor, etc.).\n   * @format GUID\n   */\n  wixUserId?: string;\n  /**\n   * ID of an app.\n   * @format GUID\n   */\n  appId?: string;\n  /** @readonly */\n  identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n  /**\n   * ID of a site visitor that has not logged in to the site.\n   * @format GUID\n   */\n  anonymousVisitorId?: string;\n  /**\n   * ID of a site visitor that has logged in to the site.\n   * @format GUID\n   */\n  memberId?: string;\n  /**\n   * ID of a Wix user (site owner, contributor, etc.).\n   * @format GUID\n   */\n  wixUserId?: string;\n  /**\n   * ID of an app.\n   * @format GUID\n   */\n  appId?: string;\n}\n\nexport enum WebhookIdentityType {\n  UNKNOWN = 'UNKNOWN',\n  ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n  MEMBER = 'MEMBER',\n  WIX_USER = 'WIX_USER',\n  APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n  | WebhookIdentityType\n  | 'UNKNOWN'\n  | 'ANONYMOUS_VISITOR'\n  | 'MEMBER'\n  | 'WIX_USER'\n  | 'APP';\n\nexport interface AccountInfo {\n  /**\n   * ID of the Wix account associated with the event.\n   * @format GUID\n   */\n  accountId?: string | null;\n  /**\n   * ID of the parent Wix account. Only included when accountId belongs to a child account.\n   * @format GUID\n   */\n  parentAccountId?: string | null;\n  /**\n   * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n   * @format GUID\n   */\n  siteId?: string | null;\n}\n\nexport interface 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 MarketingConsentCreatedEnvelope {\n  entity: MarketingConsent;\n  metadata: EventMetadata;\n}\n\n/**\n * Triggered when a marketing consent is created.\n * @permissionScope Manage_Wix_Rentals_App_Forms_submissions\n * @permissionScopeId SCOPE.RENTALS.MANAGE\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read Marketing Consents\n * @permissionScopeId SCOPE.DC-MARKETING.CONSENT-READ\n * @permissionScope Manage Events\n * @permissionScopeId SCOPE.EVENTS.MANAGE-EVENTS\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage Marketing Consents\n * @permissionScopeId SCOPE.DC-MARKETING.CONSENT-MANAGE\n * @permissionId MARKETING.CONSENT_READ\n * @webhook\n * @eventType wix.marketing.marketing_consent.v1.marketing_consent_created\n * @serviceIdentifier wix.marketing.v1.MarketingConsentService\n * @slug created\n */\nexport declare function onMarketingConsentCreated(\n  handler: (event: MarketingConsentCreatedEnvelope) => void | Promise<void>\n): void;\n\nexport interface MarketingConsentDeletedEnvelope {\n  metadata: EventMetadata;\n}\n\n/**\n * Triggered when a marketing consent is deleted.\n * @permissionScope Manage_Wix_Rentals_App_Forms_submissions\n * @permissionScopeId SCOPE.RENTALS.MANAGE\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read Marketing Consents\n * @permissionScopeId SCOPE.DC-MARKETING.CONSENT-READ\n * @permissionScope Manage Events\n * @permissionScopeId SCOPE.EVENTS.MANAGE-EVENTS\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage Marketing Consents\n * @permissionScopeId SCOPE.DC-MARKETING.CONSENT-MANAGE\n * @permissionId MARKETING.CONSENT_READ\n * @webhook\n * @eventType wix.marketing.marketing_consent.v1.marketing_consent_deleted\n * @serviceIdentifier wix.marketing.v1.MarketingConsentService\n * @slug deleted\n */\nexport declare function onMarketingConsentDeleted(\n  handler: (event: MarketingConsentDeletedEnvelope) => void | Promise<void>\n): void;\n\nexport interface MarketingConsentUpdatedEnvelope {\n  entity: MarketingConsent;\n  metadata: EventMetadata;\n  /** @hidden */\n  modifiedFields: Record<string, any>;\n}\n\n/**\n * Triggered when a marketing consent is updated.\n * @permissionScope Manage_Wix_Rentals_App_Forms_submissions\n * @permissionScopeId SCOPE.RENTALS.MANAGE\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read Marketing Consents\n * @permissionScopeId SCOPE.DC-MARKETING.CONSENT-READ\n * @permissionScope Manage Events\n * @permissionScopeId SCOPE.EVENTS.MANAGE-EVENTS\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage Marketing Consents\n * @permissionScopeId SCOPE.DC-MARKETING.CONSENT-MANAGE\n * @permissionId MARKETING.CONSENT_READ\n * @webhook\n * @eventType wix.marketing.marketing_consent.v1.marketing_consent_updated\n * @serviceIdentifier wix.marketing.v1.MarketingConsentService\n * @slug updated\n */\nexport declare function onMarketingConsentUpdated(\n  handler: (event: MarketingConsentUpdatedEnvelope) => void | Promise<void>\n): void;\n\n/**\n * Retrieves a marketing consent.\n * @param marketingConsentId - Marketing consent ID.\n * @public\n * @requiredField marketingConsentId\n * @permissionId MARKETING.CONSENT_READ\n * @applicableIdentity APP\n * @returns The requested marketing consent.\n * @fqn wix.marketing.v1.MarketingConsentService.GetMarketingConsent\n */\nexport async function getMarketingConsent(\n  marketingConsentId: string\n): Promise<\n  NonNullablePaths<\n    MarketingConsent,\n    | `details.email`\n    | `details.phone`\n    | `details.type`\n    | `state`\n    | `lastConfirmationActivity.source`\n    | `lastConfirmationActivity.optInLevel`\n    | `lastRevokeActivity.source`,\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    marketingConsentId: marketingConsentId,\n  });\n\n  const reqOpts =\n    ambassadorWixMarketingMarketingConsentV1MarketingConsent.getMarketingConsent(\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      ?.marketingConsent!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: { marketingConsentId: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['marketingConsentId']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Retrieves a marketing consent by its details.\n * Required fields:\n * - `details.type`.\n * - `details.email` OR `details.phone`.\n *\n * >**Note:** Due to the ongoing development of our new documentation portal, the query parameter is not displaying as expected. Use the `details` object located in the marketing consent object in the request. You can also see the code example for reference.\n * @param type - The communication channel of the marketing consent.\n * @public\n * @requiredField options.identifier\n * @requiredField type\n * @param options - Field options. The relevant `email` or `phone` **must** be passed.\n * @permissionId MARKETING.CONSENT_READ\n * @applicableIdentity APP\n * @fqn wix.marketing.v1.MarketingConsentService.GetMarketingConsentByIdentifier\n */\nexport async function getMarketingConsentByIdentifier(\n  type: MarketingConsentDetailsIdentifierTypeWithLiterals,\n  options?: GetMarketingConsentByIdentifierOptions\n): Promise<\n  NonNullablePaths<\n    GetMarketingConsentByIdentifierResponse,\n    | `marketingConsent.details.email`\n    | `marketingConsent.details.phone`\n    | `marketingConsent.details.type`\n    | `marketingConsent.state`\n    | `marketingConsent.lastConfirmationActivity.source`\n    | `marketingConsent.lastConfirmationActivity.optInLevel`\n    | `marketingConsent.lastRevokeActivity.source`\n    | `communicationEligibility.granted`,\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    type: type,\n    email: options?.email,\n    phone: options?.phone,\n    linkLanguage: options?.linkLanguage,\n  });\n\n  const reqOpts =\n    ambassadorWixMarketingMarketingConsentV1MarketingConsent.getMarketingConsentByIdentifier(\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          type: '$[0]',\n          email: '$[1].email',\n          phone: '$[1].phone',\n          linkLanguage: '$[1].linkLanguage',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['type', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface GetMarketingConsentByIdentifierOptions\n  extends GetMarketingConsentByIdentifierOptionsIdentifierOneOf {\n  /**\n   * Email address used for the marketing consent.\n   * @format EMAIL\n   */\n  email?: string;\n  /**\n   * Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent.\n   * @format PHONE\n   */\n  phone?: string;\n  /**\n   * Language of the page\n   * @format LANGUAGE\n   */\n  linkLanguage?: string | null;\n}\n\n/** @oneof */\nexport interface GetMarketingConsentByIdentifierOptionsIdentifierOneOf {\n  /**\n   * Email address used for the marketing consent.\n   * @format EMAIL\n   */\n  email?: string;\n  /**\n   * Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent.\n   * @format PHONE\n   */\n  phone?: string;\n}\n\n/**\n * Creates a confirmed marketing consent with a `state` of `CONFIRMED`.\n * Required fields:\n * - `details.type`.\n * - `details.email` OR `details.phone`.\n * - `lastConfirmationActivity`.\n *\n * To create a marketing consent with a different state, use Upsert Marketing Consent, or Bulk Upsert Marketing Consent.\n * @param marketingConsent - Marketing consent to create.\n * @public\n * @requiredField marketingConsent\n * @requiredField marketingConsent.details\n * @requiredField marketingConsent.lastConfirmationActivity\n * @permissionId MARKETING.CONSENT_UPSERT\n * @applicableIdentity APP\n * @returns Newly created marketing consent.\n * @fqn wix.marketing.v1.MarketingConsentService.CreateMarketingConsent\n */\nexport async function createMarketingConsent(\n  marketingConsent: NonNullablePaths<\n    MarketingConsent,\n    `details` | `lastConfirmationActivity`,\n    0\n  >\n): Promise<\n  NonNullablePaths<\n    MarketingConsent,\n    | `details.email`\n    | `details.phone`\n    | `details.type`\n    | `state`\n    | `lastConfirmationActivity.source`\n    | `lastConfirmationActivity.optInLevel`\n    | `lastRevokeActivity.source`,\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    marketingConsent: marketingConsent,\n  });\n\n  const reqOpts =\n    ambassadorWixMarketingMarketingConsentV1MarketingConsent.createMarketingConsent(\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      ?.marketingConsent!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: { marketingConsent: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['marketingConsent']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Updates a marketing consent.\n * Required fields:\n * - `details.type`.\n * - `details.email` OR `details.phone`.\n * - `state`.\n *\n * When a marketing consent's `state` is `PENDING` or `CONFIRMED`, the `info.lastConfirmationActivity` field is required.\n * When a marketing consent's `state` is `REVOKED`, the `info.lastRevokeActivity` field is required.\n *\n * >**Note:** For existing marketing consents with `{\"type\": \"EMAIL\"}`, you can't update the `state` to `UNKNOWN_STATE`. Trying to do so maintains the current state. However, you can create a new marketing consent and set the `state` to `UNKNOWN_STATE`. Note that you can't create more than a single consent per email or phone number.\n * @param _id - Marketing consent ID.\n * @public\n * @requiredField _id\n * @requiredField options.marketingConsent.details\n * @requiredField options.mask\n * @param options - Field options. The following fields **must** be passed: `details.type`, the relevant `email` OR `phone`, and `state`.\n * @permissionId MARKETING.CONSENT_UPDATE\n * @applicableIdentity APP\n * @returns Updated marketing consent.\n * @fqn wix.marketing.v1.MarketingConsentService.UpdateMarketingConsent\n */\nexport async function updateMarketingConsent(\n  _id: string,\n  options?: NonNullablePaths<\n    UpdateMarketingConsentOptions,\n    `marketingConsent.details` | `mask`,\n    1\n  >\n): Promise<\n  NonNullablePaths<\n    MarketingConsent,\n    | `details.email`\n    | `details.phone`\n    | `details.type`\n    | `state`\n    | `lastConfirmationActivity.source`\n    | `lastConfirmationActivity.optInLevel`\n    | `lastRevokeActivity.source`,\n    1\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    marketingConsent: { ...options?.marketingConsent, id: _id },\n    mask: options?.mask,\n  });\n\n  const reqOpts =\n    ambassadorWixMarketingMarketingConsentV1MarketingConsent.updateMarketingConsent(\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      ?.marketingConsent!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: { marketingConsent: '$[1].marketingConsent' },\n        explicitPathsToArguments: {\n          'marketingConsent.id': '$[0]',\n          mask: '$[1].mask',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['_id', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface UpdateMarketingConsentOptions {\n  marketingConsent?: {\n    /**\n     * Marketing consent ID.\n     * @format GUID\n     * @immutable\n     * @readonly\n     */\n    _id?: string | null;\n    /**\n     * Revision number.\n     * @readonly\n     */\n    revision?: string | null;\n    /** Marketing consent communication details. */\n    details?: MarketingConsentDetails;\n    /**\n     * Marketing consent state.\n     *\n     * Default: `UNKNOWN_STATE`.\n     */\n    state?: MarketingConsentStateWithLiterals;\n    /**\n     * Date and time the marketing consent was created.\n     * @readonly\n     */\n    _createdDate?: Date | null;\n    /**\n     * Date and time the marketing consent was updated.\n     * @readonly\n     */\n    _updatedDate?: Date | null;\n    /** Last confirmation activity of the marketing consent. */\n    lastConfirmationActivity?: LastConfirmationActivity;\n    /** Last revoke activity of the marketing consent. */\n    lastRevokeActivity?: LastRevokeActivity;\n    /** Additional fields. */\n    extendedFields?: ExtendedFields;\n  };\n  /** Explicit list of fields to update */\n  mask: string[];\n}\n\n/**\n * Deletes a marketing consent.\n * @param marketingConsentId - ID of the marketing consent to delete.\n * @public\n * @requiredField marketingConsentId\n * @permissionId MARKETING.CONSENT_DELETE\n * @applicableIdentity APP\n * @fqn wix.marketing.v1.MarketingConsentService.DeleteMarketingConsent\n */\nexport async function deleteMarketingConsent(\n  marketingConsentId: 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    marketingConsentId: marketingConsentId,\n  });\n\n  const reqOpts =\n    ambassadorWixMarketingMarketingConsentV1MarketingConsent.deleteMarketingConsent(\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: { marketingConsentId: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['marketingConsentId']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Removes a marketing consent. The consent is cancelled, and the `state` is updated to `REVOKED`.\n * The marketing consent entity still exists, but the recipient is no longer eligible to receive communication.\n * To delete a marketing consent entirely, use Delete Marketing Consent.\n *\n * Required fields:\n * - `details.type`.\n * - `details.email` OR `details.phone`.\n * - `info.lastRevokeActivity`.\n * @param details - Marketing consent communication details.\n * @public\n * @requiredField details\n * @requiredField details.identifier\n * @requiredField details.type\n * @param options - Field options. The `lastRevokeActivity` field **must** be passed.\n * @permissionId MARKETING.CONSENT_UPSERT\n * @applicableIdentity APP\n * @fqn wix.marketing.v1.MarketingConsentService.RemoveMarketingConsent\n */\nexport async function removeMarketingConsent(\n  details: NonNullablePaths<MarketingConsentDetails, `type`, 0>,\n  options?: RemoveMarketingConsentOptions\n): Promise<\n  NonNullablePaths<\n    RemoveMarketingConsentResponse,\n    | `marketingConsent.details.email`\n    | `marketingConsent.details.phone`\n    | `marketingConsent.details.type`\n    | `marketingConsent.state`\n    | `marketingConsent.lastConfirmationActivity.source`\n    | `marketingConsent.lastConfirmationActivity.optInLevel`\n    | `marketingConsent.lastRevokeActivity.source`,\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    details: details,\n    lastRevokeActivity: options?.lastRevokeActivity,\n  });\n\n  const reqOpts =\n    ambassadorWixMarketingMarketingConsentV1MarketingConsent.removeMarketingConsent(\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          details: '$[0]',\n          lastRevokeActivity: '$[1].lastRevokeActivity',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['details', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface RemoveMarketingConsentOptions {\n  /** Information about the last revoke. */\n  lastRevokeActivity?: LastRevokeActivity;\n}\n\n/**\n * Retrieves a list of marketing consents, given the provided paging, filtering, and sorting. Up to 100 marketing consents can be returned per request.\n *\n * The default `sort` is `id` in `ASC` order. For a detailed list of supported operations, see filtering and sorting for marketing consent properties. To learn how to query marketing consents, see API Query Language.\n * @public\n * @permissionId MARKETING.CONSENT_READ\n * @applicableIdentity APP\n * @fqn wix.marketing.v1.MarketingConsentService.QueryMarketingConsent\n */\nexport function queryMarketingConsent(): MarketingConsentQueryBuilder {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[0] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  return queryBuilder<\n    MarketingConsent,\n    'CURSOR',\n    QueryMarketingConsentRequest,\n    QueryMarketingConsentResponse\n  >({\n    func: async (payload: QueryMarketingConsentRequest) => {\n      const reqOpts =\n        ambassadorWixMarketingMarketingConsentV1MarketingConsent.queryMarketingConsent(\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: (query: QueryMarketingConsentRequest['query']) => {\n      const args = [query, {}] as [QueryMarketingConsentRequest['query'], {}];\n      return renameKeysFromSDKRequestToRESTRequest({\n        ...args?.[1],\n        query: args?.[0],\n      });\n    },\n    responseTransformer: ({\n      data,\n    }: HttpResponse<QueryMarketingConsentResponse>) => {\n      const transformedData = renameKeysFromRESTResponseToSDKResponse(\n        transformPaths(data, [])\n      );\n\n      return {\n        items: transformedData?.marketingConsent,\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 MarketingConsentQueryResult extends QueryCursorResult {\n  items: MarketingConsent[];\n  query: MarketingConsentQueryBuilder;\n  next: () => Promise<MarketingConsentQueryResult>;\n  prev: () => Promise<MarketingConsentQueryResult>;\n}\n\nexport interface MarketingConsentQueryBuilder {\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   */\n  eq: (\n    propertyName: 'details.email' | 'details.phone' | 'state',\n    value: any\n  ) => MarketingConsentQueryBuilder;\n  /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n  limit: (limit: number) => MarketingConsentQueryBuilder;\n  /** @param cursor - A pointer to specific record */\n  skipTo: (cursor: string) => MarketingConsentQueryBuilder;\n  find: () => Promise<MarketingConsentQueryResult>;\n}\n\n/**\n * @hidden\n * @fqn wix.marketing.v1.MarketingConsentService.QueryMarketingConsent\n * @requiredField query\n */\nexport async function typedQueryMarketingConsent(\n  query: MarketingConsentQuery\n): Promise<\n  NonNullablePaths<\n    QueryMarketingConsentResponse,\n    | `marketingConsent`\n    | `marketingConsent.${number}.details.email`\n    | `marketingConsent.${number}.details.phone`\n    | `marketingConsent.${number}.details.type`\n    | `marketingConsent.${number}.state`\n    | `marketingConsent.${number}.lastConfirmationActivity.source`\n    | `marketingConsent.${number}.lastConfirmationActivity.optInLevel`\n    | `marketingConsent.${number}.lastRevokeActivity.source`,\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    ambassadorWixMarketingMarketingConsentV1MarketingConsent.queryMarketingConsent(\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 MarketingConsentQuerySpec extends QuerySpec {\n  paging: 'cursor';\n  wql: [\n    {\n      fields: ['details.email', 'details.phone', 'state'];\n      operators: ['$eq'];\n      sort: 'NONE';\n    }\n  ];\n}\n\nexport type CommonQueryWithEntityContext = QuerySdkType<\n  MarketingConsent,\n  MarketingConsentQuerySpec\n>;\nexport type MarketingConsentQuery = {\n  /** \n  Cursor paging options.\n\n  Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).  \n  */\n  cursorPaging?: {\n    /** \n  Maximum number of items to return in the results. \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  Pass the relevant cursor token 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.\n\n  Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters).  \n  */\n  filter?: CommonQueryWithEntityContext['filter'] | null;\n  /** \n  Sort object.\n\n  Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#sorting). \n  @maxSize: 5 \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  When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n  a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n\n  If multiple filters are provided, they are combined with AND operator.\n\n  Example:\n  Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n  and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n  { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] } \n  @internal: undefined,\n  @maxSize: 10 \n  */\n    selectItemsBy?:\n      | NonNullable<\n          CommonQueryWithEntityContext['sort']\n        >[number]['selectItemsBy']\n      | null;\n    /** \n  Origin point for geo-distance sorting on a GEO field\n  results are ordered by distance from this point (ASC = nearest first, DESC = farthest first).  \n  */\n    origin?: NonNullable<\n      CommonQueryWithEntityContext['sort']\n    >[number]['origin'];\n  }[];\n};\n\nexport const utils = {\n  query: /*#__PURE__*/ createQueryUtils<\n    MarketingConsent,\n    MarketingConsentQuerySpec,\n    MarketingConsentQuery\n  >(),\n};\n\n/**\n * Creates or updates a marketing consent.\n * Required fields:\n * - `details.type`.\n * - `details.email` OR `details.phone`.\n * - `state`.\n *\n * When a marketing consent's `state` is `PENDING` or `CONFIRMED`, the `info.lastConfirmationActivity` field is required.\n * When a marketing consent's `state` is `REVOKED`, the `info.lastRevokeActivity` field is required.\n *\n * >**Note:** For existing marketing consents with `{\"type\": \"EMAIL\"}`, you can't update the `state` to `UNKNOWN_STATE`. Trying to do so maintains the current state. However, you can create a new marketing consent and set the `state` to `UNKNOWN_STATE`. Note that you can't create more than a single consent per email or phone number.\n * @param marketingConsent - Marketing consent to create or update.\n * @public\n * @requiredField marketingConsent\n * @requiredField marketingConsent.details\n * @requiredField marketingConsent.details.identifier\n * @requiredField marketingConsent.details.type\n * @permissionId MARKETING.CONSENT_UPSERT\n * @applicableIdentity APP\n * @fqn wix.marketing.v1.MarketingConsentService.UpsertMarketingConsent\n */\nexport async function upsertMarketingConsent(\n  marketingConsent: NonNullablePaths<\n    MarketingConsent,\n    `details` | `details.type`,\n    1\n  >\n): Promise<\n  NonNullablePaths<\n    UpsertMarketingConsentResponse,\n    | `marketingConsent.details.email`\n    | `marketingConsent.details.phone`\n    | `marketingConsent.details.type`\n    | `marketingConsent.state`\n    | `marketingConsent.lastConfirmationActivity.source`\n    | `marketingConsent.lastConfirmationActivity.optInLevel`\n    | `marketingConsent.lastRevokeActivity.source`\n    | `link.type`\n    | `link.url`,\n    2\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    marketingConsent: marketingConsent,\n  });\n\n  const reqOpts =\n    ambassadorWixMarketingMarketingConsentV1MarketingConsent.upsertMarketingConsent(\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: { marketingConsent: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['marketingConsent']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Creates or updates multiple marketing consents.\n * Required fields:\n * - `details.type`.\n * - `details.email` OR `details.phone`.\n * - `state`.\n *\n * When a marketing consent's `state` is `PENDING` or `CONFIRMED`, the `info.lastConfirmationActivity` field is required.\n * When a marketing consent's `state` is `REVOKED`, the `info.lastRevokeActivity` field is required.\n *\n * >**Note:** For existing marketing consents with `{\"type\": \"EMAIL\"}`, you can't update the `state` to `UNKNOWN_STATE`. Trying to do so maintains the current state. However, you can create a new marketing consent and set the `state` to `UNKNOWN_STATE`. Note that you can't create more than a single consent per email or phone number.\n * @param info - List of marketing consent information to update or create.\n * @public\n * @requiredField info\n * @requiredField info.details\n * @permissionId MARKETING.CONSENT_UPSERT\n * @applicableIdentity APP\n * @fqn wix.marketing.v1.MarketingConsentService.BulkUpsertMarketingConsent\n */\nexport async function bulkUpsertMarketingConsent(\n  info: NonNullablePaths<MarketingConsent, `details`, 0>[]\n): Promise<\n  NonNullablePaths<\n    BulkUpsertMarketingConsentResponse,\n    | `results`\n    | `results.${number}.originalIndex`\n    | `results.${number}.marketingConsent.details.email`\n    | `results.${number}.marketingConsent.details.phone`\n    | `results.${number}.marketingConsent.details.type`\n    | `results.${number}.marketingConsent.state`\n    | `results.${number}.marketingConsent.lastConfirmationActivity.source`\n    | `results.${number}.marketingConsent.lastConfirmationActivity.optInLevel`\n    | `results.${number}.marketingConsent.lastRevokeActivity.source`\n    | `results.${number}.link.type`\n    | `results.${number}.link.url`\n    | `metadata.totalSuccess`\n    | `metadata.totalFailure`,\n    4\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({ info: info });\n\n  const reqOpts =\n    ambassadorWixMarketingMarketingConsentV1MarketingConsent.bulkUpsertMarketingConsent(\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: { info: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['info']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKFloatToRESTFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformSDKFieldMaskToRESTFieldMask } from '@wix/sdk-runtime/transformations/field-mask';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nconst TRANSFORM_PATHS_0 = [\n  { path: 'marketingConsent.createdDate' },\n  { path: 'marketingConsent.updatedDate' },\n  { path: 'marketingConsent.lastConfirmationActivity.updatedDate' },\n  { path: 'marketingConsent.lastRevokeActivity.updatedDate' },\n];\nconst TRANSFORM_PATHS_1 = [{ path: 'mask' }];\nconst TRANSFORM_PATHS_2 = [{ path: 'lastRevokeActivity.updatedDate' }];\nconst TRANSFORM_PATHS_3 = [\n  { path: 'query.sort.origin.latitude' },\n  { path: 'query.sort.origin.longitude' },\n];\nconst TRANSFORM_PATHS_4 = [\n  { path: 'info.createdDate' },\n  { path: 'info.updatedDate' },\n  { path: 'info.lastConfirmationActivity.updatedDate' },\n  { path: 'info.lastRevokeActivity.updatedDate' },\n];\nconst TRANSFORM_PATHS_5 = [\n  { path: 'results.marketingConsent.createdDate' },\n  { path: 'results.marketingConsent.updatedDate' },\n  { path: 'results.marketingConsent.lastConfirmationActivity.updatedDate' },\n  { path: 'results.marketingConsent.lastRevokeActivity.updatedDate' },\n];\n\nfunction resolveWixMarketingV1MarketingConsentServiceUrl(\n  opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n  const domainToMappings = {\n    'www.wixapis.com': [\n      {\n        srcPath: '/marketing-consent',\n        destPath: '',\n      },\n    ],\n    'manage._base_domain_': [\n      {\n        srcPath: '/_api/marketing/v1',\n        destPath: '/v1',\n      },\n    ],\n    _: [\n      {\n        srcPath: '/_api/marketing-consent/v1/marketing-consent',\n        destPath: '/v1/marketing-consent',\n      },\n      {\n        srcPath: '/_api/marketing-consent/v1/bulk',\n        destPath: '/v1/bulk',\n      },\n      {\n        srcPath: '/marketing/marketing-consent/v1/bulk/marketing-consent',\n        destPath: '/v1/bulk/marketing-consent',\n      },\n    ],\n    '*.dev.wix-code.com': [\n      {\n        srcPath: '/marketing/marketing-consent/v1/bulk/marketing-consent',\n        destPath: '/v1/bulk/marketing-consent',\n      },\n      {\n        srcPath: '/marketing/marketing-consent/v1/marketing-consent',\n        destPath: '/v1/marketing-consent',\n      },\n    ],\n  };\n\n  return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_marketing_marketing-consent';\n\n/** Retrieves a marketing consent. */\nexport function getMarketingConsent(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __getMarketingConsent({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.marketing.marketing_consent.v1.marketing_consent',\n      method: 'GET' as any,\n      methodFqn: 'wix.marketing.v1.MarketingConsentService.GetMarketingConsent',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixMarketingV1MarketingConsentServiceUrl({\n        protoPath: '/v1/marketing-consent/{marketingConsentId}',\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_0,\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __getMarketingConsent;\n}\n\n/**\n * Retrieves a marketing consent by its details.\n * Required fields:\n * - `details.type`.\n * - `details.email` OR `details.phone`.\n *\n * >**Note:** Due to the ongoing development of our new documentation portal, the query parameter is not displaying as expected. Use the `details` object located in the marketing consent object in the request. You can also see the code example for reference.\n */\nexport function getMarketingConsentByIdentifier(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __getMarketingConsentByIdentifier({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.marketing.marketing_consent.v1.marketing_consent',\n      method: 'GET' as any,\n      methodFqn:\n        'wix.marketing.v1.MarketingConsentService.GetMarketingConsentByIdentifier',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixMarketingV1MarketingConsentServiceUrl({\n        protoPath: '/v1/marketing-consent/get-by',\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_0,\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __getMarketingConsentByIdentifier;\n}\n\n/**\n * Creates a confirmed marketing consent with a `state` of `CONFIRMED`.\n * Required fields:\n * - `details.type`.\n * - `details.email` OR `details.phone`.\n * - `lastConfirmationActivity`.\n *\n * To create a marketing consent with a different state, use Upsert Marketing Consent, or Bulk Upsert Marketing Consent.\n */\nexport function createMarketingConsent(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __createMarketingConsent({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKTimestampToRESTTimestamp,\n        paths: TRANSFORM_PATHS_0,\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.marketing.marketing_consent.v1.marketing_consent',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.marketing.v1.MarketingConsentService.CreateMarketingConsent',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixMarketingV1MarketingConsentServiceUrl({\n        protoPath: '/v1/marketing-consent',\n        data: serializedData,\n        host,\n      }),\n      data: serializedData,\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 __createMarketingConsent;\n}\n\n/**\n * Updates a marketing consent.\n * Required fields:\n * - `details.type`.\n * - `details.email` OR `details.phone`.\n * - `state`.\n *\n * When a marketing consent's `state` is `PENDING` or `CONFIRMED`, the `info.lastConfirmationActivity` field is required.\n * When a marketing consent's `state` is `REVOKED`, the `info.lastRevokeActivity` field is required.\n *\n * >**Note:** For existing marketing consents with `{\"type\": \"EMAIL\"}`, you can't update the `state` to `UNKNOWN_STATE`. Trying to do so maintains the current state. However, you can create a new marketing consent and set the `state` to `UNKNOWN_STATE`. Note that you can't create more than a single consent per email or phone number.\n */\nexport function updateMarketingConsent(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __updateMarketingConsent({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKFieldMaskToRESTFieldMask,\n        paths: TRANSFORM_PATHS_1,\n      },\n      {\n        transformFn: transformSDKTimestampToRESTTimestamp,\n        paths: TRANSFORM_PATHS_0,\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.marketing.marketing_consent.v1.marketing_consent',\n      method: 'PATCH' as any,\n      methodFqn:\n        'wix.marketing.v1.MarketingConsentService.UpdateMarketingConsent',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixMarketingV1MarketingConsentServiceUrl({\n        protoPath: '/v1/marketing-consent/{marketingConsent.id}',\n        data: serializedData,\n        host,\n      }),\n      data: serializedData,\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 __updateMarketingConsent;\n}\n\n/** Deletes a marketing consent. */\nexport function deleteMarketingConsent(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __deleteMarketingConsent({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.marketing.marketing_consent.v1.marketing_consent',\n      method: 'DELETE' as any,\n      methodFqn:\n        'wix.marketing.v1.MarketingConsentService.DeleteMarketingConsent',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixMarketingV1MarketingConsentServiceUrl({\n        protoPath: '/v1/marketing-consent/{marketingConsentId}',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n    };\n\n    return metadata;\n  }\n\n  return __deleteMarketingConsent;\n}\n\n/**\n * Removes a marketing consent. The consent is cancelled, and the `state` is updated to `REVOKED`.\n * The marketing consent entity still exists, but the recipient is no longer eligible to receive communication.\n * To delete a marketing consent entirely, use Delete Marketing Consent.\n *\n * Required fields:\n * - `details.type`.\n * - `details.email` OR `details.phone`.\n * - `info.lastRevokeActivity`.\n */\nexport function removeMarketingConsent(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __removeMarketingConsent({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKTimestampToRESTTimestamp,\n        paths: TRANSFORM_PATHS_2,\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.marketing.marketing_consent.v1.marketing_consent',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.marketing.v1.MarketingConsentService.RemoveMarketingConsent',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixMarketingV1MarketingConsentServiceUrl({\n        protoPath: '/v1/marketing-consent/remove',\n        data: serializedData,\n        host,\n      }),\n      data: serializedData,\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 __removeMarketingConsent;\n}\n\n/**\n * Retrieves a list of marketing consents, given the provided paging, filtering, and sorting. Up to 100 marketing consents can be returned per request.\n *\n * The default `sort` is `id` in `ASC` order. For a detailed list of supported operations, see filtering and sorting for marketing consent properties. To learn how to query marketing consents, see API Query Language.\n */\nexport function queryMarketingConsent(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __queryMarketingConsent({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKFloatToRESTFloat,\n        paths: TRANSFORM_PATHS_3,\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.marketing.marketing_consent.v1.marketing_consent',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.marketing.v1.MarketingConsentService.QueryMarketingConsent',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixMarketingV1MarketingConsentServiceUrl({\n        protoPath: '/v1/marketing-consent/query',\n        data: serializedData,\n        host,\n      }),\n      data: serializedData,\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 __queryMarketingConsent;\n}\n\n/**\n * Creates or updates a marketing consent.\n * Required fields:\n * - `details.type`.\n * - `details.email` OR `details.phone`.\n * - `state`.\n *\n * When a marketing consent's `state` is `PENDING` or `CONFIRMED`, the `info.lastConfirmationActivity` field is required.\n * When a marketing consent's `state` is `REVOKED`, the `info.lastRevokeActivity` field is required.\n *\n * >**Note:** For existing marketing consents with `{\"type\": \"EMAIL\"}`, you can't update the `state` to `UNKNOWN_STATE`. Trying to do so maintains the current state. However, you can create a new marketing consent and set the `state` to `UNKNOWN_STATE`. Note that you can't create more than a single consent per email or phone number.\n */\nexport function upsertMarketingConsent(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __upsertMarketingConsent({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKTimestampToRESTTimestamp,\n        paths: TRANSFORM_PATHS_0,\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.marketing.marketing_consent.v1.marketing_consent',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.marketing.v1.MarketingConsentService.UpsertMarketingConsent',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixMarketingV1MarketingConsentServiceUrl({\n        protoPath: '/v1/marketing-consent/upsert',\n        data: serializedData,\n        host,\n      }),\n      data: serializedData,\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 __upsertMarketingConsent;\n}\n\n/**\n * Creates or updates multiple marketing consents.\n * Required fields:\n * - `details.type`.\n * - `details.email` OR `details.phone`.\n * - `state`.\n *\n * When a marketing consent's `state` is `PENDING` or `CONFIRMED`, the `info.lastConfirmationActivity` field is required.\n * When a marketing consent's `state` is `REVOKED`, the `info.lastRevokeActivity` field is required.\n *\n * >**Note:** For existing marketing consents with `{\"type\": \"EMAIL\"}`, you can't update the `state` to `UNKNOWN_STATE`. Trying to do so maintains the current state. However, you can create a new marketing consent and set the `state` to `UNKNOWN_STATE`. Note that you can't create more than a single consent per email or phone number.\n */\nexport function bulkUpsertMarketingConsent(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __bulkUpsertMarketingConsent({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKTimestampToRESTTimestamp,\n        paths: TRANSFORM_PATHS_4,\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.marketing.marketing_consent.v1.marketing_consent',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.marketing.v1.MarketingConsentService.BulkUpsertMarketingConsent',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixMarketingV1MarketingConsentServiceUrl({\n        protoPath: '/v1/bulk/marketing-consent/upsert',\n        data: serializedData,\n        host,\n      }),\n      data: serializedData,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: TRANSFORM_PATHS_5,\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __bulkUpsertMarketingConsent;\n}\n","import {\n  getMarketingConsent as publicGetMarketingConsent,\n  getMarketingConsentByIdentifier as publicGetMarketingConsentByIdentifier,\n  createMarketingConsent as publicCreateMarketingConsent,\n  updateMarketingConsent as publicUpdateMarketingConsent,\n  deleteMarketingConsent as publicDeleteMarketingConsent,\n  removeMarketingConsent as publicRemoveMarketingConsent,\n  queryMarketingConsent as publicQueryMarketingConsent,\n  typedQueryMarketingConsent as publicTypedQueryMarketingConsent,\n  upsertMarketingConsent as publicUpsertMarketingConsent,\n  bulkUpsertMarketingConsent as publicBulkUpsertMarketingConsent,\n} from './marketing-marketing-consent-v1-marketing-consent-marketing-consent.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  MarketingConsentQuery,\n  MarketingConsentQueryBuilder,\n  typedQueryMarketingConsent as universalTypedQueryMarketingConsent,\n} from './marketing-marketing-consent-v1-marketing-consent-marketing-consent.universal.js';\nimport { onMarketingConsentCreated as publicOnMarketingConsentCreated } from './marketing-marketing-consent-v1-marketing-consent-marketing-consent.public.js';\nimport { onMarketingConsentDeleted as publicOnMarketingConsentDeleted } from './marketing-marketing-consent-v1-marketing-consent-marketing-consent.public.js';\nimport { onMarketingConsentUpdated as publicOnMarketingConsentUpdated } from './marketing-marketing-consent-v1-marketing-consent-marketing-consent.public.js';\n\nfunction customQueryMarketingConsent(httpClient: HttpClient) {\n  const router = /*#__PURE__*/ createQueryOverloadRouter({\n    builderQueryFunction: () => publicQueryMarketingConsent(httpClient)(),\n    typedQueryFunction: (query: MarketingConsentQuery) =>\n      publicTypedQueryMarketingConsent(httpClient)(query),\n    hasOptionsParameter: false,\n  });\n\n  function overloadedQuery(): MarketingConsentQueryBuilder;\n  function overloadedQuery(\n    query: MarketingConsentQuery\n  ): ReturnType<typeof universalTypedQueryMarketingConsent>;\n  function overloadedQuery(query?: MarketingConsentQuery): any {\n    return router(...arguments);\n  }\n\n  return overloadedQuery;\n}\n\nexport const getMarketingConsent: MaybeContext<\n  BuildRESTFunction<typeof publicGetMarketingConsent> &\n    typeof publicGetMarketingConsent\n> = /*#__PURE__*/ createRESTModule(publicGetMarketingConsent);\nexport const getMarketingConsentByIdentifier: MaybeContext<\n  BuildRESTFunction<typeof publicGetMarketingConsentByIdentifier> &\n    typeof publicGetMarketingConsentByIdentifier\n> = /*#__PURE__*/ createRESTModule(publicGetMarketingConsentByIdentifier);\nexport const createMarketingConsent: MaybeContext<\n  BuildRESTFunction<typeof publicCreateMarketingConsent> &\n    typeof publicCreateMarketingConsent\n> = /*#__PURE__*/ createRESTModule(publicCreateMarketingConsent);\nexport const updateMarketingConsent: MaybeContext<\n  BuildRESTFunction<typeof publicUpdateMarketingConsent> &\n    typeof publicUpdateMarketingConsent\n> = /*#__PURE__*/ createRESTModule(publicUpdateMarketingConsent);\nexport const deleteMarketingConsent: MaybeContext<\n  BuildRESTFunction<typeof publicDeleteMarketingConsent> &\n    typeof publicDeleteMarketingConsent\n> = /*#__PURE__*/ createRESTModule(publicDeleteMarketingConsent);\nexport const removeMarketingConsent: MaybeContext<\n  BuildRESTFunction<typeof publicRemoveMarketingConsent> &\n    typeof publicRemoveMarketingConsent\n> = /*#__PURE__*/ createRESTModule(publicRemoveMarketingConsent);\nexport const upsertMarketingConsent: MaybeContext<\n  BuildRESTFunction<typeof publicUpsertMarketingConsent> &\n    typeof publicUpsertMarketingConsent\n> = /*#__PURE__*/ createRESTModule(publicUpsertMarketingConsent);\nexport const bulkUpsertMarketingConsent: MaybeContext<\n  BuildRESTFunction<typeof publicBulkUpsertMarketingConsent> &\n    typeof publicBulkUpsertMarketingConsent\n> = /*#__PURE__*/ createRESTModule(publicBulkUpsertMarketingConsent);\nexport const queryMarketingConsent: MaybeContext<\n  BuildRESTFunction<typeof customQueryMarketingConsent> &\n    typeof customQueryMarketingConsent\n> = /*#__PURE__*/ createRESTModule(customQueryMarketingConsent);\n/**\n * Triggered when a marketing consent is created.\n */\nexport const onMarketingConsentCreated: BuildEventDefinition<\n  typeof publicOnMarketingConsentCreated\n> &\n  typeof publicOnMarketingConsentCreated = /*#__PURE__*/ createEventModule(\n  publicOnMarketingConsentCreated\n);\n/**\n * Triggered when a marketing consent is deleted.\n */\nexport const onMarketingConsentDeleted: BuildEventDefinition<\n  typeof publicOnMarketingConsentDeleted\n> &\n  typeof publicOnMarketingConsentDeleted = /*#__PURE__*/ createEventModule(\n  publicOnMarketingConsentDeleted\n);\n/**\n * Triggered when a marketing consent is updated.\n */\nexport const onMarketingConsentUpdated: BuildEventDefinition<\n  typeof publicOnMarketingConsentUpdated\n> &\n  typeof publicOnMarketingConsentUpdated = /*#__PURE__*/ createEventModule(\n  publicOnMarketingConsentUpdated\n);\n\nexport {\n  MarketingConsentDetailsIdentifierType,\n  MarketingConsentState,\n  Source,\n  OptInLevel,\n  LastRevokeActivitySource,\n  LinkType,\n  SortOrder,\n  WebhookIdentityType,\n} from './marketing-marketing-consent-v1-marketing-consent-marketing-consent.universal.js';\nexport {\n  MarketingConsent,\n  MarketingConsentDetails,\n  MarketingConsentDetailsIdentifierOneOf,\n  LastConfirmationActivity,\n  LastRevokeActivity,\n  ExtendedFields,\n  GetMarketingConsentRequest,\n  GetMarketingConsentResponse,\n  GetMarketingConsentByIdentifierRequest,\n  GetMarketingConsentByIdentifierRequestIdentifierOneOf,\n  GetMarketingConsentByIdentifierResponse,\n  CommunicationEligibility,\n  GetConsistentMarketingConsentByIdentifierRequest,\n  GetConsistentMarketingConsentByIdentifierRequestIdentifierOneOf,\n  GetConsistentMarketingConsentByIdentifierResponse,\n  CreateMarketingConsentRequest,\n  CreateMarketingConsentResponse,\n  Link,\n  UpdateMarketingConsentRequest,\n  UpdateMarketingConsentResponse,\n  DeleteMarketingConsentRequest,\n  DeleteMarketingConsentResponse,\n  RemoveMarketingConsentRequest,\n  RemoveMarketingConsentResponse,\n  CreateMarketingConsentByTokenRequest,\n  CreateMarketingConsentByTokenResponse,\n  RemoveMarketingConsentByTokenRequest,\n  RemoveMarketingConsentByTokenResponse,\n  QueryMarketingConsentRequest,\n  CursorQuery,\n  CursorQueryPagingMethodOneOf,\n  Sorting,\n  AddressLocation,\n  CursorPaging,\n  QueryMarketingConsentResponse,\n  CursorPagingMetadata,\n  Cursors,\n  UpsertMarketingConsentRequest,\n  UpsertMarketingConsentResponse,\n  BulkUpsertMarketingConsentRequest,\n  BulkUpsertMarketingConsentResponse,\n  BulkUpsertMarketingConsentResult,\n  Metadata,\n  GenerateLinkRequest,\n  GenerateLinkRequestIdentifierOneOf,\n  GenerateLinkResponse,\n  Empty,\n  DomainEvent,\n  DomainEventBodyOneOf,\n  EntityCreatedEvent,\n  RestoreInfo,\n  EntityUpdatedEvent,\n  EntityDeletedEvent,\n  ActionEvent,\n  MessageEnvelope,\n  IdentificationData,\n  IdentificationDataIdOneOf,\n  AccountInfo,\n  BaseEventMetadata,\n  EventMetadata,\n  AccountInfoMetadata,\n  MarketingConsentCreatedEnvelope,\n  MarketingConsentDeletedEnvelope,\n  MarketingConsentUpdatedEnvelope,\n  GetMarketingConsentByIdentifierOptions,\n  GetMarketingConsentByIdentifierOptionsIdentifierOneOf,\n  UpdateMarketingConsentOptions,\n  RemoveMarketingConsentOptions,\n  MarketingConsentQueryResult,\n  MarketingConsentQueryBuilder,\n  MarketingConsentQuerySpec,\n} from './marketing-marketing-consent-v1-marketing-consent-marketing-consent.universal.js';\nexport { utils } from './marketing-marketing-consent-v1-marketing-consent-marketing-consent.universal.js';\nexport {\n  MarketingConsentDetailsIdentifierTypeWithLiterals,\n  MarketingConsentStateWithLiterals,\n  SourceWithLiterals,\n  OptInLevelWithLiterals,\n  LastRevokeActivitySourceWithLiterals,\n  LinkTypeWithLiterals,\n  SortOrderWithLiterals,\n  WebhookIdentityTypeWithLiterals,\n  CommonQueryWithEntityContext,\n  MarketingConsentQuery,\n} from './marketing-marketing-consent-v1-marketing-consent-marketing-consent.universal.js';\n"],"mappings":"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","names":["renameKeysFromRESTResponseToSDKResponse","transformRESTTimestampToSDKTimestamp","transformPaths","payload","transformPaths","MarketingConsentDetailsIdentifierType","MarketingConsentState","Source","OptInLevel","LastRevokeActivitySource","LinkType","SortOrder","WebhookIdentityType","getMarketingConsent","getMarketingConsentByIdentifier","createMarketingConsent","updateMarketingConsent","deleteMarketingConsent","removeMarketingConsent","queryMarketingConsent","upsertMarketingConsent","bulkUpsertMarketingConsent","TRANSFORM_PATHS_0","TRANSFORM_PATHS_1","TRANSFORM_PATHS_2","getMarketingConsent","getMarketingConsentByIdentifier","createMarketingConsent","updateMarketingConsent","deleteMarketingConsent","removeMarketingConsent","queryMarketingConsent","typedQueryMarketingConsent","upsertMarketingConsent","bulkUpsertMarketingConsent","renameKeysFromRESTResponseToSDKResponse","transformPaths","transformRESTTimestampToSDKTimestamp","TRANSFORM_PATHS_0","TRANSFORM_PATHS_1","TRANSFORM_PATHS_2","queryMarketingConsent","typedQueryMarketingConsent","getMarketingConsent","getMarketingConsentByIdentifier","createMarketingConsent","updateMarketingConsent","deleteMarketingConsent","removeMarketingConsent","upsertMarketingConsent","bulkUpsertMarketingConsent","onMarketingConsentCreated","onMarketingConsentDeleted","onMarketingConsentUpdated"]}