{"version":3,"sources":["../../src/donations-v2-donation-campaign-donation-campaigns.public.ts","../../src/donations-v2-donation-campaign-donation-campaigns.universal.ts","../../src/donations-v2-donation-campaign-donation-campaigns.http.ts","../../src/donations-v2-donation-campaign-donation-campaigns.context.ts"],"sourcesContent":["import { renameKeysFromRESTResponseToSDKResponse } from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { transformRESTImageToSDKImage } from '@wix/sdk-runtime/transformations/image';\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  BulkCreateDonationCampaignsApplicationErrors,\n  BulkCreateDonationCampaignsOptions,\n  BulkCreateDonationCampaignsResponse,\n  BulkCreateDonationCampaignsValidationErrors,\n  BulkUpdateDonationCampaignTagsApplicationErrors,\n  BulkUpdateDonationCampaignTagsByFilterApplicationErrors,\n  BulkUpdateDonationCampaignTagsByFilterOptions,\n  BulkUpdateDonationCampaignTagsByFilterResponse,\n  BulkUpdateDonationCampaignTagsOptions,\n  BulkUpdateDonationCampaignTagsResponse,\n  BulkUpdateDonationCampaignsApplicationErrors,\n  BulkUpdateDonationCampaignsOptions,\n  BulkUpdateDonationCampaignsResponse,\n  BulkUpdateDonationCampaignsValidationErrors,\n  CreateDonationCampaignApplicationErrors,\n  CreateDonationCampaignValidationErrors,\n  DonationCampaign,\n  DonationCampaignCreatedEnvelope,\n  DonationCampaignDeletedEnvelope,\n  DonationCampaignQuery,\n  DonationCampaignStatusChangedEnvelope,\n  DonationCampaignTagsModifiedEnvelope,\n  DonationCampaignUpdatedEnvelope,\n  DonationCampaignsQueryBuilder,\n  GetDonationCampaignApplicationErrors,\n  GetDonationCampaignMetricsApplicationErrors,\n  GetDonationCampaignMetricsResponse,\n  MaskedDonationCampaign,\n  QueryDonationCampaignsApplicationErrors,\n  QueryDonationCampaignsResponse,\n  UpdateDonationCampaign,\n  UpdateDonationCampaignApplicationErrors,\n  UpdateDonationCampaignValidationErrors,\n  bulkCreateDonationCampaigns as universalBulkCreateDonationCampaigns,\n  bulkUpdateDonationCampaignTags as universalBulkUpdateDonationCampaignTags,\n  bulkUpdateDonationCampaignTagsByFilter as universalBulkUpdateDonationCampaignTagsByFilter,\n  bulkUpdateDonationCampaigns as universalBulkUpdateDonationCampaigns,\n  createDonationCampaign as universalCreateDonationCampaign,\n  getDonationCampaign as universalGetDonationCampaign,\n  getDonationCampaignMetrics as universalGetDonationCampaignMetrics,\n  queryDonationCampaigns as universalQueryDonationCampaigns,\n  typedQueryDonationCampaigns as universalTypedQueryDonationCampaigns,\n  updateDonationCampaign as universalUpdateDonationCampaign,\n} from './donations-v2-donation-campaign-donation-campaigns.universal.js';\n\nconst TRANSFORM_PATHS_0 = [\n  { path: 'entity.createdDate' },\n  { path: 'entity.updatedDate' },\n  { path: 'entity.campaignGoal.endDate' },\n  { path: 'metadata.eventTime' },\n];\nconst TRANSFORM_PATHS_1 = [{ path: 'entity.coverImage' }];\nconst TRANSFORM_PATHS_2 = [\n  { path: 'data.donationCampaign.createdDate' },\n  { path: 'data.donationCampaign.updatedDate' },\n  { path: 'data.donationCampaign.campaignGoal.endDate' },\n  { path: 'metadata.eventTime' },\n];\nconst TRANSFORM_PATHS_3 = [{ path: 'data.donationCampaign.coverImage' }];\nconst TRANSFORM_PATHS_4 = [\n  { path: 'entity.createdDate' },\n  { path: 'entity.updatedDate' },\n  { path: 'entity.campaignGoal.endDate' },\n  { path: 'metadata.eventTime' },\n  { path: 'modifiedFields.createdDate' },\n  { path: 'modifiedFields.updatedDate' },\n  { path: 'modifiedFields.campaignGoal.endDate' },\n];\nconst TRANSFORM_PATHS_5 = [\n  { path: 'entity.coverImage' },\n  { path: 'modifiedFields.coverImage' },\n];\nexport const __metadata = { PACKAGE_NAME: '@wix/donations' };\n\nexport function createDonationCampaign(\n  httpClient: HttpClient\n): CreateDonationCampaignSignature {\n  return (\n    donationCampaign: NonNullablePaths<\n      DonationCampaign,\n      `campaignGoal.targetAmount` | `donationFrequencies` | `name`,\n      1\n    >\n  ) =>\n    universalCreateDonationCampaign(\n      donationCampaign,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface CreateDonationCampaignSignature {\n  /**\n   * Creates a new donation campaign.\n   *\n   * The campaign is created in an active state and can immediately accept donations.\n   *\n   * > **Note:** Other than the fields marked as required, **one or both** of the following fields must be passed on create:\n   * > + `customAmountEnabled`\n   * > + `predefinedDonationAmounts`\n   *\n   * To create multiple donation campaigns in a single call, use [Bulk Create Donation Campaigns](https://dev.wix.com/docs/api-reference/business-solutions/donations/donation-campaigns/bulk-create-donation-campaigns).\n   * @param - Donation campaign to create.\n   * @returns Created donation campaign.\n   */\n  (\n    donationCampaign: NonNullablePaths<\n      DonationCampaign,\n      `campaignGoal.targetAmount` | `donationFrequencies` | `name`,\n      1\n    >\n  ): Promise<\n    NonNullablePaths<\n      DonationCampaign,\n      | `name`\n      | `archived`\n      | `status`\n      | `customAmountOptions.minimum.amount`\n      | `customAmountOptions.minimum.convertedAmount`\n      | `customAmountOptions.minimum.formattedAmount`\n      | `customAmountOptions.minimum.formattedConvertedAmount`\n      | `predefinedDonationAmounts`\n      | `predefinedDonationAmounts.${number}._id`\n      | `commentsEnabled`\n      | `donationFrequencies`\n      | `askDonorCoverFee`\n      | `tags.privateTags.tagIds`,\n      2\n    > & {\n      __applicationErrorsType?: CreateDonationCampaignApplicationErrors;\n      __validationErrorsType?: CreateDonationCampaignValidationErrors;\n    }\n  >;\n}\n\nexport function getDonationCampaign(\n  httpClient: HttpClient\n): GetDonationCampaignSignature {\n  return (donationCampaignId: string) =>\n    universalGetDonationCampaign(\n      donationCampaignId,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface GetDonationCampaignSignature {\n  /**\n   * Retrieves a donation campaign by ID.\n   * @param - ID of the donation campaign to retrieve.\n   * @returns Retrieved donation campaign.\n   */\n  (donationCampaignId: string): Promise<\n    NonNullablePaths<\n      DonationCampaign,\n      | `name`\n      | `archived`\n      | `status`\n      | `customAmountOptions.minimum.amount`\n      | `customAmountOptions.minimum.convertedAmount`\n      | `customAmountOptions.minimum.formattedAmount`\n      | `customAmountOptions.minimum.formattedConvertedAmount`\n      | `predefinedDonationAmounts`\n      | `predefinedDonationAmounts.${number}._id`\n      | `commentsEnabled`\n      | `donationFrequencies`\n      | `askDonorCoverFee`\n      | `tags.privateTags.tagIds`,\n      2\n    > & {\n      __applicationErrorsType?: GetDonationCampaignApplicationErrors;\n    }\n  >;\n}\n\nexport function updateDonationCampaign(\n  httpClient: HttpClient\n): UpdateDonationCampaignSignature {\n  return (\n    _id: string,\n    donationCampaign: NonNullablePaths<UpdateDonationCampaign, `revision`, 0>\n  ) =>\n    universalUpdateDonationCampaign(\n      _id,\n      donationCampaign,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface UpdateDonationCampaignSignature {\n  /**\n   * Updates a donation campaign. Supports partial updates.\n   *\n   * Each update increments the campaign's `revision` by 1. To prevent conflicts, you must provide the current `revision` in the request.\n   *\n   * You can update campaign settings like payment options, goals, and frequencies while maintaining the existing donation history.\n   *\n   * To update multiple donation campaigns in a single call, use [Bulk Update Donation Campaigns](https://dev.wix.com/docs/rest/business-solutions/donations/donation-campaigns/bulk-update-donation-campaigns).\n   * @param - Donation campaign ID.\n   * @returns Updated donation campaign.\n   */\n  (\n    _id: string,\n    donationCampaign: NonNullablePaths<UpdateDonationCampaign, `revision`, 0>\n  ): Promise<\n    NonNullablePaths<\n      DonationCampaign,\n      | `name`\n      | `archived`\n      | `status`\n      | `customAmountOptions.minimum.amount`\n      | `customAmountOptions.minimum.convertedAmount`\n      | `customAmountOptions.minimum.formattedAmount`\n      | `customAmountOptions.minimum.formattedConvertedAmount`\n      | `predefinedDonationAmounts`\n      | `predefinedDonationAmounts.${number}._id`\n      | `commentsEnabled`\n      | `donationFrequencies`\n      | `askDonorCoverFee`\n      | `tags.privateTags.tagIds`,\n      2\n    > & {\n      __applicationErrorsType?: UpdateDonationCampaignApplicationErrors;\n      __validationErrorsType?: UpdateDonationCampaignValidationErrors;\n    }\n  >;\n}\n\nexport function queryDonationCampaigns(\n  httpClient: HttpClient\n): QueryDonationCampaignsSignature {\n  return () =>\n    universalQueryDonationCampaigns(\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface QueryDonationCampaignsSignature {\n  /**\n   * Retrieves a list of donation campaigns, given the provided paging, filtering, and sorting.\n   *\n   * Query Donation Campaigns runs with these defaults, which you can override:\n   * - `createdDate` is sorted in `ASC` order\n   * - `cursorPaging.limit` is `100`\n   *\n   * To learn how to query donation campaigns, see [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language).\n   */\n  (): DonationCampaignsQueryBuilder;\n}\n\nexport function typedQueryDonationCampaigns(\n  httpClient: HttpClient\n): TypedQueryDonationCampaignsSignature {\n  return (query: DonationCampaignQuery) =>\n    universalTypedQueryDonationCampaigns(\n      query,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface TypedQueryDonationCampaignsSignature {\n  /** */\n  (query: DonationCampaignQuery): Promise<\n    NonNullablePaths<\n      QueryDonationCampaignsResponse,\n      | `donationCampaigns`\n      | `donationCampaigns.${number}.name`\n      | `donationCampaigns.${number}.archived`\n      | `donationCampaigns.${number}.status`\n      | `donationCampaigns.${number}.customAmountOptions.minimum.amount`\n      | `donationCampaigns.${number}.customAmountOptions.minimum.convertedAmount`\n      | `donationCampaigns.${number}.customAmountOptions.minimum.formattedAmount`\n      | `donationCampaigns.${number}.customAmountOptions.minimum.formattedConvertedAmount`\n      | `donationCampaigns.${number}.commentsEnabled`\n      | `donationCampaigns.${number}.askDonorCoverFee`,\n      4\n    > & {\n      __applicationErrorsType?: QueryDonationCampaignsApplicationErrors;\n    }\n  >;\n}\n\nexport function bulkCreateDonationCampaigns(\n  httpClient: HttpClient\n): BulkCreateDonationCampaignsSignature {\n  return (\n    donationCampaigns: NonNullablePaths<\n      DonationCampaign,\n      `campaignGoal.targetAmount` | `donationFrequencies` | `name`,\n      1\n    >[],\n    options?: BulkCreateDonationCampaignsOptions\n  ) =>\n    universalBulkCreateDonationCampaigns(\n      donationCampaigns,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface BulkCreateDonationCampaignsSignature {\n  /**\n   * Creates multiple donation campaigns in a single request.\n   *\n   * The campaigns are created in an active state and can immediately accept donations.\n   *\n   * > **Note:** Other than the fields marked as required, **one or both** of the following fields must be passed on create:\n   * > + `customAmountEnabled`\n   * > + `predefinedDonationAmounts`\n   *\n   * To create a single donation campaign, use [Create Donation Campaign](https://dev.wix.com/docs/rest/business-solutions/donations/donation-campaigns/create-donation-campaign).\n   * @param - Donation campaigns to create.\n   */\n  (\n    donationCampaigns: NonNullablePaths<\n      DonationCampaign,\n      `campaignGoal.targetAmount` | `donationFrequencies` | `name`,\n      1\n    >[],\n    options?: BulkCreateDonationCampaignsOptions\n  ): Promise<\n    NonNullablePaths<\n      BulkCreateDonationCampaignsResponse,\n      | `results`\n      | `results.${number}.itemMetadata.originalIndex`\n      | `results.${number}.itemMetadata.success`\n      | `results.${number}.itemMetadata.error.code`\n      | `results.${number}.itemMetadata.error.description`\n      | `results.${number}.item.name`\n      | `results.${number}.item.archived`\n      | `results.${number}.item.status`\n      | `results.${number}.item.commentsEnabled`\n      | `results.${number}.item.askDonorCoverFee`\n      | `bulkActionMetadata.totalSuccesses`\n      | `bulkActionMetadata.totalFailures`\n      | `bulkActionMetadata.undetailedFailures`,\n      4\n    > & {\n      __applicationErrorsType?: BulkCreateDonationCampaignsApplicationErrors;\n      __validationErrorsType?: BulkCreateDonationCampaignsValidationErrors;\n    }\n  >;\n}\n\nexport function bulkUpdateDonationCampaigns(\n  httpClient: HttpClient\n): BulkUpdateDonationCampaignsSignature {\n  return (\n    donationCampaigns: NonNullablePaths<\n      MaskedDonationCampaign,\n      `donationCampaign._id` | `donationCampaign.revision`,\n      1\n    >[],\n    options?: BulkUpdateDonationCampaignsOptions\n  ) =>\n    universalBulkUpdateDonationCampaigns(\n      donationCampaigns,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface BulkUpdateDonationCampaignsSignature {\n  /**\n   * Updates multiple donation campaigns in a single request.\n   *\n   * Each update increments the campaign's `revision` by 1. To prevent conflicts, you must provide the current `revision` for each campaign in the request.\n   *\n   * You can update campaign settings like payment options, goals, and frequencies while maintaining existing donation history.\n   *\n   * To update a single donation campaign, use [Update Donation Campaign](https://dev.wix.com/docs/rest/business-solutions/donations/donation-campaigns/update-donation-campaign).\n   * @param - Donation campaigns to update.\n   */\n  (\n    donationCampaigns: NonNullablePaths<\n      MaskedDonationCampaign,\n      `donationCampaign._id` | `donationCampaign.revision`,\n      1\n    >[],\n    options?: BulkUpdateDonationCampaignsOptions\n  ): Promise<\n    NonNullablePaths<\n      BulkUpdateDonationCampaignsResponse,\n      | `results`\n      | `results.${number}.itemMetadata.originalIndex`\n      | `results.${number}.itemMetadata.success`\n      | `results.${number}.itemMetadata.error.code`\n      | `results.${number}.itemMetadata.error.description`\n      | `results.${number}.item.name`\n      | `results.${number}.item.archived`\n      | `results.${number}.item.status`\n      | `results.${number}.item.commentsEnabled`\n      | `results.${number}.item.askDonorCoverFee`\n      | `bulkActionMetadata.totalSuccesses`\n      | `bulkActionMetadata.totalFailures`\n      | `bulkActionMetadata.undetailedFailures`,\n      4\n    > & {\n      __applicationErrorsType?: BulkUpdateDonationCampaignsApplicationErrors;\n      __validationErrorsType?: BulkUpdateDonationCampaignsValidationErrors;\n    }\n  >;\n}\n\nexport function getDonationCampaignMetrics(\n  httpClient: HttpClient\n): GetDonationCampaignMetricsSignature {\n  return (donationCampaignId: string) =>\n    universalGetDonationCampaignMetrics(\n      donationCampaignId,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface GetDonationCampaignMetricsSignature {\n  /**\n   * Retrieves metrics for a donation campaign.\n   *\n   * Returns the total number of successful donations and amount collected for the campaign.\n   * The `campaignGoal` must be configured before using this method.\n   *\n   * Currently supports metrics in the site's default currency only.\n   *\n   * > **Note:** This method provides aggregated metrics only. To retrieve individual donation details, use [Search Orders](https://dev.wix.com/docs/rest/business-solutions/e-commerce/orders/orders/search-orders) and filter by `lineItems.catalogReference.catalogItemId` equal to the donation campaign ID.\n   * @param - ID of the donation campaign to retrieve metrics for.\n   */\n  (donationCampaignId: string): Promise<\n    NonNullablePaths<\n      GetDonationCampaignMetricsResponse,\n      | `currencyMetricsList`\n      | `currencyMetricsList.${number}.currencyCode`\n      | `currencyMetricsList.${number}.donationCount`\n      | `currencyMetricsList.${number}.totalAmount.amount`\n      | `currencyMetricsList.${number}.totalAmount.convertedAmount`\n      | `currencyMetricsList.${number}.totalAmount.formattedAmount`\n      | `currencyMetricsList.${number}.totalAmount.formattedConvertedAmount`,\n      3\n    > & {\n      __applicationErrorsType?: GetDonationCampaignMetricsApplicationErrors;\n    }\n  >;\n}\n\nexport function bulkUpdateDonationCampaignTags(\n  httpClient: HttpClient\n): BulkUpdateDonationCampaignTagsSignature {\n  return (ids: string[], options?: BulkUpdateDonationCampaignTagsOptions) =>\n    universalBulkUpdateDonationCampaignTags(\n      ids,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface BulkUpdateDonationCampaignTagsSignature {\n  /**\n   * Updates tags on multiple donation campaigns by ID.\n   *\n   * Use this method to assign or remove tags from specific campaigns.\n   * A tag that appears in both assign and unassign lists will be assigned.\n   * @param - Donation campaign IDs.\n   */\n  (ids: string[], options?: BulkUpdateDonationCampaignTagsOptions): Promise<\n    NonNullablePaths<\n      BulkUpdateDonationCampaignTagsResponse,\n      | `results`\n      | `results.${number}.itemMetadata.originalIndex`\n      | `results.${number}.itemMetadata.success`\n      | `results.${number}.itemMetadata.error.code`\n      | `results.${number}.itemMetadata.error.description`\n      | `bulkActionMetadata.totalSuccesses`\n      | `bulkActionMetadata.totalFailures`\n      | `bulkActionMetadata.undetailedFailures`,\n      4\n    > & {\n      __applicationErrorsType?: BulkUpdateDonationCampaignTagsApplicationErrors;\n    }\n  >;\n}\n\nexport function bulkUpdateDonationCampaignTagsByFilter(\n  httpClient: HttpClient\n): BulkUpdateDonationCampaignTagsByFilterSignature {\n  return (\n    filter: Record<string, any>,\n    options?: BulkUpdateDonationCampaignTagsByFilterOptions\n  ) =>\n    universalBulkUpdateDonationCampaignTagsByFilter(\n      filter,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface BulkUpdateDonationCampaignTagsByFilterSignature {\n  /**\n   * Updates tags on multiple donation campaigns using filter criteria.\n   *\n   * An empty filter updates all campaigns. The operation is asynchronous and returns a job ID for monitoring progress.\n   *\n   * Learn more about working with [async jobs](https://dev.wix.com/docs/rest/business-management/async-job/introduction).\n   * @param - Filter object. An empty filter updates all campaigns.\n   *\n   * Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters).\n   */\n  (\n    filter: Record<string, any>,\n    options?: BulkUpdateDonationCampaignTagsByFilterOptions\n  ): Promise<\n    NonNullablePaths<\n      BulkUpdateDonationCampaignTagsByFilterResponse,\n      `jobId`,\n      0\n    > & {\n      __applicationErrorsType?: BulkUpdateDonationCampaignTagsByFilterApplicationErrors;\n    }\n  >;\n}\n\nexport const onDonationCampaignCreated = /*#__PURE__*/ EventDefinition(\n  'wix.donations.v2.donation_campaign_created',\n  true,\n  (event: DonationCampaignCreatedEnvelope) =>\n    renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(event, [\n        {\n          transformFn: transformRESTTimestampToSDKTimestamp,\n          paths: TRANSFORM_PATHS_0,\n        },\n        {\n          transformFn: transformRESTImageToSDKImage,\n          paths: TRANSFORM_PATHS_1,\n        },\n      ])\n    )\n)<DonationCampaignCreatedEnvelope>();\nexport const onDonationCampaignDeleted = /*#__PURE__*/ EventDefinition(\n  'wix.donations.v2.donation_campaign_deleted',\n  true,\n  (event: DonationCampaignDeletedEnvelope) =>\n    renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(event, [\n        {\n          transformFn: transformRESTTimestampToSDKTimestamp,\n          paths: TRANSFORM_PATHS_0,\n        },\n        {\n          transformFn: transformRESTImageToSDKImage,\n          paths: TRANSFORM_PATHS_1,\n        },\n      ])\n    )\n)<DonationCampaignDeletedEnvelope>();\nexport const onDonationCampaignStatusChanged = /*#__PURE__*/ EventDefinition(\n  'wix.donations.v2.donation_campaign_status_changed',\n  true,\n  (event: DonationCampaignStatusChangedEnvelope) =>\n    renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(event, [\n        {\n          transformFn: transformRESTTimestampToSDKTimestamp,\n          paths: TRANSFORM_PATHS_2,\n        },\n        {\n          transformFn: transformRESTImageToSDKImage,\n          paths: TRANSFORM_PATHS_3,\n        },\n      ])\n    )\n)<DonationCampaignStatusChangedEnvelope>();\nexport const onDonationCampaignTagsModified = /*#__PURE__*/ EventDefinition(\n  'wix.donations.v2.donation_campaign_tags_modified',\n  true,\n  (event: DonationCampaignTagsModifiedEnvelope) =>\n    renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(event, [\n        {\n          transformFn: transformRESTTimestampToSDKTimestamp,\n          paths: TRANSFORM_PATHS_2,\n        },\n        {\n          transformFn: transformRESTImageToSDKImage,\n          paths: TRANSFORM_PATHS_3,\n        },\n      ])\n    )\n)<DonationCampaignTagsModifiedEnvelope>();\nexport const onDonationCampaignUpdated = /*#__PURE__*/ EventDefinition(\n  'wix.donations.v2.donation_campaign_updated',\n  true,\n  (event: DonationCampaignUpdatedEnvelope) =>\n    renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(event, [\n        {\n          transformFn: transformRESTTimestampToSDKTimestamp,\n          paths: TRANSFORM_PATHS_4,\n        },\n        {\n          transformFn: transformRESTImageToSDKImage,\n          paths: TRANSFORM_PATHS_5,\n        },\n      ])\n    )\n)<DonationCampaignUpdatedEnvelope>();\n\nexport {\n  AccountInfo,\n  AccountInfoMetadata,\n  ActionEvent,\n  ApplicationError,\n  BaseEventMetadata,\n  BulkActionMetadata,\n  BulkCreateDonationCampaignsOptions,\n  BulkCreateDonationCampaignsRequest,\n  BulkCreateDonationCampaignsResponse,\n  BulkDonationCampaignResult,\n  BulkUpdateDonationCampaignTagsByFilterOptions,\n  BulkUpdateDonationCampaignTagsByFilterRequest,\n  BulkUpdateDonationCampaignTagsByFilterResponse,\n  BulkUpdateDonationCampaignTagsOptions,\n  BulkUpdateDonationCampaignTagsRequest,\n  BulkUpdateDonationCampaignTagsResponse,\n  BulkUpdateDonationCampaignTagsResult,\n  BulkUpdateDonationCampaignsOptions,\n  BulkUpdateDonationCampaignsRequest,\n  BulkUpdateDonationCampaignsResponse,\n  BulkUpdateDonationCampaignsResponseBulkDonationCampaignResult,\n  CampaignGoal,\n  CreateDonationCampaignRequest,\n  CreateDonationCampaignResponse,\n  CurrencyMetrics,\n  CursorPaging,\n  CursorPagingMetadata,\n  CursorQuery,\n  CursorQueryPagingMethodOneOf,\n  Cursors,\n  CustomAmountOptions,\n  DomainEvent,\n  DomainEventBodyOneOf,\n  DonationCampaign,\n  DonationCampaignCreatedEnvelope,\n  DonationCampaignDeletedEnvelope,\n  DonationCampaignQuerySpec,\n  DonationCampaignStatusChangedEnvelope,\n  DonationCampaignTagsModifiedEnvelope,\n  DonationCampaignUpdatedEnvelope,\n  DonationCampaignsQueryBuilder,\n  DonationCampaignsQueryResult,\n  Empty,\n  EntityCreatedEvent,\n  EntityDeletedEvent,\n  EntityUpdatedEvent,\n  EventMetadata,\n  ExtendedFields,\n  FocalPoint,\n  Frequency,\n  GetDonationCampaignMetricsRequest,\n  GetDonationCampaignMetricsResponse,\n  GetDonationCampaignRequest,\n  GetDonationCampaignResponse,\n  IdentificationData,\n  IdentificationDataIdOneOf,\n  ItemMetadata,\n  MaskedDonationCampaign,\n  MessageEnvelope,\n  MultiCurrencyPrice,\n  PredefinedAmount,\n  QueryDonationCampaignsRequest,\n  QueryDonationCampaignsResponse,\n  RestoreInfo,\n  SortOrder,\n  Sorting,\n  Status,\n  StatusChanged,\n  TagList,\n  Tags,\n  TagsModified,\n  UpdateDonationCampaign,\n  UpdateDonationCampaignRequest,\n  UpdateDonationCampaignResponse,\n  WebhookIdentityType,\n  utils,\n} from './donations-v2-donation-campaign-donation-campaigns.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 ambassadorWixDonationsV2DonationCampaign from './donations-v2-donation-campaign-donation-campaigns.http.js';\n// @ts-ignore\nimport { transformSDKImageToRESTImage } from '@wix/sdk-runtime/transformations/image';\nimport { transformRESTImageToSDKImage } from '@wix/sdk-runtime/transformations/image';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\n\nconst TRANSFORM_PATHS_0 = [{ path: 'donationCampaign.coverImage' }];\nconst TRANSFORM_PATHS_1 = [{ path: 'donationCampaigns.coverImage' }];\nconst TRANSFORM_PATHS_2 = [{ path: 'results.item.coverImage' }];\nconst TRANSFORM_PATHS_3 = [\n  { path: 'donationCampaigns.donationCampaign.coverImage' },\n];\n\nimport { createQueryUtils } from '@wix/sdk-runtime/query-builder-utils';\n\n/**\n * A donation campaign represents a fundraising initiative that allows collecting donations\n * for a specific cause or goal. Campaigns can be configured with various donation options,\n * including one-time and recurring payments, predefined amounts, and campaign goals.\n *\n * Use the Donation Campaigns API to create and manage donation campaigns on your site.\n */\nexport interface DonationCampaign {\n  /**\n   * Donation campaign ID.\n   * @format GUID\n   * @readonly\n   */\n  _id?: string | null;\n  /**\n   * Revision number, which increments by 1 each time the donation campaign is updated.\n   * To prevent conflicting changes, the current `revision` must be specified when updating the donation campaign.\n   *\n   * Ignored when creating a donation campaign.\n   * @readonly\n   */\n  revision?: string | null;\n  /**\n   * Date and time the donation campaign was created.\n   * @readonly\n   */\n  _createdDate?: Date | null;\n  /**\n   * Date and time the donation campaign was last updated.\n   * @readonly\n   */\n  _updatedDate?: Date | null;\n  /**\n   * Name of the donation campaign.\n   * @minLength 1\n   * @maxLength 65\n   */\n  name?: string;\n  /**\n   * Whether the donation campaign is archived and hidden from site visitors.\n   * Archived campaigns can't accept donations.\n   *\n   * Default: `false`\n   */\n  archived?: boolean;\n  /**\n   * Current status of the donation campaign.\n   *\n   * The status is automatically calculated based on campaign settings and current progress:\n   * - `COLLECTING`: Campaign is active and accepting donations\n   * - `EXPIRED`: Campaign has passed its end date and `acceptDonationsAfterEndDate` is `false`\n   * - `GOAL_REACHED`: Campaign has reached its target amount and `acceptDonationsAfterGoal` is `false`\n   * @readonly\n   */\n  status?: StatusWithLiterals;\n  /** Cover image for the donation campaign. */\n  coverImage?: string;\n  /**\n   * Whether donors can specify their own donation amount.\n   * If custom amounts are disabled, at least one predefined amount must be provided.\n   *\n   * Default: `false`\n   */\n  customAmountEnabled?: boolean | null;\n  /** Optional settings for custom donation amounts. */\n  customAmountOptions?: CustomAmountOptions;\n  /**\n   * Predefined donation amounts.\n   *\n   * Each amount can include an optional description explaining its impact. For example, \"Feed 5 families for a week\".\n   * @maxSize 20\n   */\n  predefinedDonationAmounts?: PredefinedAmount[];\n  /** Campaign fundraising goal. */\n  campaignGoal?: CampaignGoal;\n  /**\n   * Whether donors can add comments to their donations.\n   *\n   * Default: `false`\n   */\n  commentsEnabled?: boolean;\n  /**\n   * Donation frequencies available for this campaign.\n   *\n   * At least one frequency must be specified.\n   * @minSize 1\n   * @maxSize 4\n   */\n  donationFrequencies?: FrequencyWithLiterals[];\n  /**\n   * Whether to ask donors during checkout if they want to add 2.9% to their donation to cover fees.\n   *\n   * When `false`, fees are deducted from the donation amount,\n   * meaning the campaign receives less than the donor's original contribution.\n   *\n   * When `true`, donors are presented with an option in the checkout UI to\n   * add a 2.9% fee on top of their donation. This fee helps offset\n   * processing costs, ensuring more of the original donation reaches the campaign.\n   * The donor always has the choice — they are never automatically charged the fee.\n   *\n   * For recurring donations, if the donor opts to cover fees, the 2.9% fee\n   * is applied to each recurring payment (not just the first one).\n   *\n   * > **Notes:**\n   * > + The 2.9% rate is fixed and cannot be customized by campaign owners.\n   * > + This feature works with all payment methods and currencies.\n   *\n   * Default: `false`\n   */\n  askDonorCoverFee?: boolean;\n  /**\n   * Custom field data for the program definition object.\n   *\n   * [Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the app dashboard before they can be accessed with API calls.\n   */\n  extendedFields?: ExtendedFields;\n  /** Tags assigned to this donation campaign. */\n  tags?: Tags;\n}\n\nexport enum Status {\n  /** Campaign is actively accepting donations. */\n  COLLECTING = 'COLLECTING',\n  /** Campaign has passed its `endDate` and `acceptDonationsAfterEndDate` is `false`. */\n  EXPIRED = 'EXPIRED',\n  /** Campaign has reached its `targetAmount` and `acceptDonationsAfterGoal` is `false`. */\n  GOAL_REACHED = 'GOAL_REACHED',\n}\n\n/** @enumType */\nexport type StatusWithLiterals =\n  | Status\n  | 'COLLECTING'\n  | 'EXPIRED'\n  | 'GOAL_REACHED';\n\nexport interface FocalPoint {\n  /** X-coordinate of the focal point. */\n  x?: number;\n  /** Y-coordinate of the focal point. */\n  y?: number;\n  /** crop by height */\n  height?: number | null;\n  /** crop by width */\n  width?: number | null;\n}\n\n/** Configures custom donation amount settings, allowing donors to specify their own contribution amount within optional limits. */\nexport interface CustomAmountOptions {\n  /** Minimum donation amount. */\n  minimum?: MultiCurrencyPrice;\n  /** Maximum donation amount. */\n  maximum?: MultiCurrencyPrice;\n}\n\nexport interface MultiCurrencyPrice {\n  /**\n   * Amount.\n   * @decimalValue options { gte:0, lte:1000000000000000 }\n   */\n  amount?: string;\n  /**\n   * Converted amount.\n   * @readonly\n   * @decimalValue options { gte:0, lte:1000000000000000 }\n   */\n  convertedAmount?: string;\n  /**\n   * Amount formatted with currency symbol.\n   * @readonly\n   */\n  formattedAmount?: string;\n  /**\n   * Converted amount formatted with currency symbol.\n   * @readonly\n   */\n  formattedConvertedAmount?: string;\n}\n\nexport interface PredefinedAmount {\n  /**\n   * Predefined amount ID.\n   * You must provide this ID when creating or updating campaigns.\n   * @format GUID\n   */\n  _id?: string;\n  /**\n   * Donation amount.\n   *\n   * Currently supports the site's default currency only.\n   */\n  price?: MultiCurrencyPrice;\n  /**\n   * Description explaining the impact of this donation amount. For example, \"Feed 5 families for a week\" or \"Plant 10 trees\".\n   * @maxLength 200\n   */\n  description?: string | null;\n}\n\nexport interface CampaignGoal {\n  /**\n   * Target fundraising amount.\n   *\n   * Currently supports the site's default currency only.\n   */\n  targetAmount?: MultiCurrencyPrice;\n  /**\n   * Campaign end date in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n   *\n   * The behavior after this date is controlled by `acceptDonationsAfterEndDate`.\n   */\n  endDate?: Date | null;\n  /**\n   * Whether donations are accepted after `endDate`. This field is ignored if `endDate` is not set.\n   *\n   * Default: `false`\n   */\n  acceptDonationsAfterEndDate?: boolean | null;\n  /**\n   * Whether donations are accepted after reaching `targetAmount`.\n   *\n   * Default: `true`\n   */\n  acceptDonationsAfterGoal?: boolean | null;\n}\n\nexport enum Frequency {\n  /** One-time donation. */\n  ONE_TIME = 'ONE_TIME',\n  /** Weekly recurring donation. */\n  WEEK = 'WEEK',\n  /** Monthly recurring donation. */\n  MONTH = 'MONTH',\n  /** Yearly recurring donation. */\n  YEAR = 'YEAR',\n}\n\n/** @enumType */\nexport type FrequencyWithLiterals =\n  | Frequency\n  | 'ONE_TIME'\n  | 'WEEK'\n  | 'MONTH'\n  | 'YEAR';\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\n/**\n * Common object for tags.\n * Should be use as in this example:\n * message Foo {\n * option (.wix.api.decomposite_of) = \"wix.commons.v2.tags.Foo\";\n * string id = 1;\n * ...\n * Tags tags = 5\n * }\n *\n * example of taggable entity\n * {\n * id: \"123\"\n * tags: {\n * public_tags: {\n * tag_ids:[\"11\",\"22\"]\n * },\n * private_tags: {\n * tag_ids: [\"33\", \"44\"]\n * }\n * }\n * }\n */\nexport interface Tags {\n  /** Tags that require an additional permission in order to access them, typically restricted from site members and visitors. */\n  privateTags?: TagList;\n  /** Tags that are exposed to anyone with access to the entity, including site members and visitors. */\n  publicTags?: TagList;\n}\n\nexport interface TagList {\n  /**\n   * List of tag IDs.\n   * @maxSize 100\n   * @maxLength 5\n   */\n  tagIds?: string[];\n}\n\nexport interface TagsModified {\n  /** Updated donation campaign. */\n  donationCampaign?: DonationCampaign;\n  /** Tags that are assigned. */\n  assignedTags?: Tags;\n  /** Tags that are unassigned. */\n  unassignedTags?: Tags;\n}\n\nexport interface StatusChanged {\n  /** Donation campaign with updated status. */\n  donationCampaign?: DonationCampaign;\n  /** Previous status of the donation campaign. */\n  previousStatus?: StatusWithLiterals;\n  /** New status of the donation campaign. */\n  newStatus?: StatusWithLiterals;\n}\n\nexport interface CreateDonationCampaignRequest {\n  /** Donation campaign to create. */\n  donationCampaign: DonationCampaign;\n}\n\nexport interface CreateDonationCampaignResponse {\n  /** Created donation campaign. */\n  donationCampaign?: DonationCampaign;\n}\n\nexport interface GetDonationCampaignRequest {\n  /**\n   * ID of the donation campaign to retrieve.\n   * @format GUID\n   */\n  donationCampaignId: string;\n}\n\nexport interface GetDonationCampaignResponse {\n  /** Retrieved donation campaign. */\n  donationCampaign?: DonationCampaign;\n}\n\nexport interface UpdateDonationCampaignRequest {\n  /** Donation campaign to update. May be partial. */\n  donationCampaign: DonationCampaign;\n  /**\n   * Set of fields to update.\n   *\n   * Fields that aren't included in `fieldMask.paths` are ignored.\n   * @internal\n   */\n  fieldMask?: string[];\n}\n\nexport interface UpdateDonationCampaignResponse {\n  /** Updated donation campaign. */\n  donationCampaign?: DonationCampaign;\n}\n\nexport interface QueryDonationCampaignsRequest {\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 the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n   */\n  filter?: Record<string, any> | null;\n  /**\n   * Sort object.\n   *\n   * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n   * @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\nexport enum SortOrder {\n  ASC = 'ASC',\n  DESC = 'DESC',\n}\n\n/** @enumType */\nexport type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';\n\nexport interface CursorPaging {\n  /**\n   * 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 QueryDonationCampaignsResponse {\n  /** List of donation campaigns matching the query. */\n  donationCampaigns?: DonationCampaign[];\n  /** Paging metadata for handling large result sets. */\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 BulkCreateDonationCampaignsRequest {\n  /**\n   * Donation campaigns to create.\n   * @minSize 1\n   * @maxSize 100\n   */\n  donationCampaigns: DonationCampaign[];\n  /**\n   * Whether to return the created donation campaigns in the response.\n   *\n   * Default: `false`\n   */\n  returnEntity?: boolean;\n}\n\nexport interface BulkCreateDonationCampaignsResponse {\n  /**\n   * Results of the bulk create operation including campaigns and metadata.\n   * @minSize 1\n   * @maxSize 100\n   */\n  results?: BulkDonationCampaignResult[];\n  /** Metadata about the bulk operation. */\n  bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface ItemMetadata {\n  /**\n   * Item ID. Provided only whenever possible. For example, `itemId` can't be provided when item creation has failed.\n   * @format GUID\n   */\n  _id?: string | null;\n  /** Index of the item within the request array. Allows for correlation between request and response items. */\n  originalIndex?: number;\n  /** Whether the requested action for this item was successful. When `false`, the `error` field is returned. */\n  success?: boolean;\n  /** Details about the error in case of failure. */\n  error?: ApplicationError;\n}\n\nexport interface ApplicationError {\n  /** Error code. */\n  code?: string;\n  /** Description of the error. */\n  description?: string;\n  /** Data related to the error. */\n  data?: Record<string, any> | null;\n}\n\nexport interface BulkDonationCampaignResult {\n  /** Metadata about a single create operation. */\n  itemMetadata?: ItemMetadata;\n  /**\n   * Created campaign.\n   *\n   * Only present if `returnEntity` was `true`.\n   */\n  item?: DonationCampaign;\n}\n\nexport interface BulkActionMetadata {\n  /** Number of items that were successfully processed. */\n  totalSuccesses?: number;\n  /** Number of items that couldn't be processed. */\n  totalFailures?: number;\n  /** Number of failures without details because detailed failure threshold was exceeded. */\n  undetailedFailures?: number;\n}\n\nexport interface BulkUpdateDonationCampaignsRequest {\n  /**\n   * Donation campaigns to update.\n   * @minSize 1\n   * @maxSize 100\n   */\n  donationCampaigns: MaskedDonationCampaign[];\n  /**\n   * Whether to return the updated donation campaigns in the response.\n   *\n   * Default: `false`\n   */\n  returnEntity?: boolean;\n}\n\nexport interface MaskedDonationCampaign {\n  /** Donation campaign to update. */\n  donationCampaign?: DonationCampaign;\n  /**\n   * Set of fields to update.\n   * @internal\n   */\n  fieldMask?: string[];\n}\n\nexport interface BulkUpdateDonationCampaignsResponse {\n  /**\n   * Results of the bulk update operation.\n   * @minSize 1\n   * @maxSize 100\n   */\n  results?: BulkUpdateDonationCampaignsResponseBulkDonationCampaignResult[];\n  /** Metadata about the bulk operation. */\n  bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkUpdateDonationCampaignsResponseBulkDonationCampaignResult {\n  /** Metadata about a single update operation. */\n  itemMetadata?: ItemMetadata;\n  /**\n   * Updated campaign.\n   *\n   * Only present if `returnEntity` was `true`.\n   */\n  item?: DonationCampaign;\n}\n\nexport interface GetDonationCampaignMetricsRequest {\n  /**\n   * ID of the donation campaign to retrieve metrics for.\n   * @format GUID\n   */\n  donationCampaignId: string;\n}\n\nexport interface GetDonationCampaignMetricsResponse {\n  /**\n   * List of metrics per currency.\n   *\n   * Currently returns only the site's default currency.\n   * @maxSize 1\n   */\n  currencyMetricsList?: CurrencyMetrics[];\n}\n\nexport interface CurrencyMetrics {\n  /**\n   * Three-letter currency code in ISO-4217 alphabetic format.\n   * @maxLength 8\n   */\n  currencyCode?: string;\n  /** Total number of successful donations. */\n  donationCount?: number;\n  /** Total amount collected from all donations. */\n  totalAmount?: MultiCurrencyPrice;\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n  createdEvent?: EntityCreatedEvent;\n  updatedEvent?: EntityUpdatedEvent;\n  deletedEvent?: EntityDeletedEvent;\n  actionEvent?: ActionEvent;\n  /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n  _id?: string;\n  /**\n   * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n   * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n   */\n  entityFqdn?: string;\n  /**\n   * Event action name, placed at the top level to make it easier for users to dispatch messages.\n   * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n   */\n  slug?: string;\n  /** ID of the entity associated with the event. */\n  entityId?: string;\n  /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n  eventTime?: Date | null;\n  /**\n   * Whether the event was triggered as a result of a privacy regulation application\n   * (for example, GDPR).\n   */\n  triggeredByAnonymizeRequest?: boolean | null;\n  /** If present, indicates the action that triggered the event. */\n  originatedFrom?: string | null;\n  /**\n   * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number.\n   * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n   */\n  entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n  createdEvent?: EntityCreatedEvent;\n  updatedEvent?: EntityUpdatedEvent;\n  deletedEvent?: EntityDeletedEvent;\n  actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n  entity?: string;\n}\n\nexport interface RestoreInfo {\n  deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n  /**\n   * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n   * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n   * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n   */\n  currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n  /** Entity that was deleted. */\n  deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n  body?: string;\n}\n\nexport interface Empty {}\n\nexport interface BulkUpdateDonationCampaignTagsRequest {\n  /**\n   * Donation campaign IDs.\n   * @minSize 1\n   * @maxSize 100\n   * @format GUID\n   */\n  ids: string[];\n  /**\n   * Tags to assign.\n   * If a tag already exists on a campaign, it remains assigned.\n   */\n  assignTags?: Tags;\n  /**\n   * Tags to unassign.\n   * If a tag doesn't exist on a campaign, it's ignored.\n   */\n  unassignTags?: Tags;\n}\n\nexport interface BulkUpdateDonationCampaignTagsResponse {\n  /**\n   * Results of the tag update operation.\n   * @minSize 1\n   * @maxSize 100\n   */\n  results?: BulkUpdateDonationCampaignTagsResult[];\n  /** Metadata about the bulk operation. */\n  bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkUpdateDonationCampaignTagsResult {\n  /** Metadata about this specific tag update operation. */\n  itemMetadata?: ItemMetadata;\n}\n\nexport interface BulkUpdateDonationCampaignTagsByFilterRequest {\n  /**\n   * Filter object. An empty filter updates all campaigns.\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   * Tags to assign.\n   * If a tag already exists on a campaign, it remains assigned.\n   */\n  assignTags?: Tags;\n  /**\n   * Tags to unassign.\n   * If a tag doesn't exist on a campaign, it's ignored.\n   */\n  unassignTags?: Tags;\n}\n\nexport interface BulkUpdateDonationCampaignTagsByFilterResponse {\n  /**\n   * Job ID for tracking the operation.\n   *\n   * Learn more about working with [async jobs](https://dev.wix.com/docs/rest/business-management/async-job/introduction).\n   * @format GUID\n   */\n  jobId?: 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\n/** @docsIgnore */\nexport type CreateDonationCampaignApplicationErrors = {\n  code?: 'SITE_CURRENCY_UNAVAILABLE';\n  description?: string;\n  data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type CreateDonationCampaignValidationErrors =\n  | {\n      ruleName?: 'NO_PAYMENT_DEFINITION';\n    }\n  | {\n      ruleName?: 'NON_POSITIVE_CAMPAIGN_GOAL_AMOUNT';\n    }\n  | {\n      ruleName?: 'INVALID_CUSTOM_AMOUNT_RANGE';\n    }\n  | {\n      ruleName?: 'DUPLICATE_PREDEFINED_AMOUNTS';\n    }\n  | {\n      ruleName?: 'NON_POSITIVE_PREDEFINED_AMOUNT';\n    }\n  | {\n      ruleName?: 'EMPTY_CAMPAIGN_NAME';\n    };\n/** @docsIgnore */\nexport type GetDonationCampaignApplicationErrors = {\n  code?: 'SITE_CURRENCY_UNAVAILABLE';\n  description?: string;\n  data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type UpdateDonationCampaignApplicationErrors = {\n  code?: 'SITE_CURRENCY_UNAVAILABLE';\n  description?: string;\n  data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type UpdateDonationCampaignValidationErrors =\n  | {\n      ruleName?: 'NO_PAYMENT_DEFINITION';\n    }\n  | {\n      ruleName?: 'NON_POSITIVE_CAMPAIGN_GOAL_AMOUNT';\n    }\n  | {\n      ruleName?: 'INVALID_CUSTOM_AMOUNT_RANGE';\n    }\n  | {\n      ruleName?: 'DUPLICATE_PREDEFINED_AMOUNTS';\n    }\n  | {\n      ruleName?: 'NON_POSITIVE_PREDEFINED_AMOUNT';\n    }\n  | {\n      ruleName?: 'EMPTY_CAMPAIGN_NAME';\n    };\n/** @docsIgnore */\nexport type QueryDonationCampaignsApplicationErrors = {\n  code?: 'SITE_CURRENCY_UNAVAILABLE';\n  description?: string;\n  data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type BulkCreateDonationCampaignsApplicationErrors = {\n  code?: 'SITE_CURRENCY_UNAVAILABLE';\n  description?: string;\n  data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type BulkCreateDonationCampaignsValidationErrors =\n  | {\n      ruleName?: 'NO_PAYMENT_DEFINITION';\n    }\n  | {\n      ruleName?: 'NON_POSITIVE_CAMPAIGN_GOAL_AMOUNT';\n    }\n  | {\n      ruleName?: 'INVALID_CUSTOM_AMOUNT_RANGE';\n    }\n  | {\n      ruleName?: 'DUPLICATE_PREDEFINED_AMOUNTS';\n    }\n  | {\n      ruleName?: 'NON_POSITIVE_PREDEFINED_AMOUNT';\n    }\n  | {\n      ruleName?: 'EMPTY_CAMPAIGN_NAME';\n    };\n/** @docsIgnore */\nexport type BulkUpdateDonationCampaignsApplicationErrors = {\n  code?: 'SITE_CURRENCY_UNAVAILABLE';\n  description?: string;\n  data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type BulkUpdateDonationCampaignsValidationErrors =\n  | {\n      ruleName?: 'NO_PAYMENT_DEFINITION';\n    }\n  | {\n      ruleName?: 'NON_POSITIVE_CAMPAIGN_GOAL_AMOUNT';\n    }\n  | {\n      ruleName?: 'INVALID_CUSTOM_AMOUNT_RANGE';\n    }\n  | {\n      ruleName?: 'DUPLICATE_PREDEFINED_AMOUNTS';\n    }\n  | {\n      ruleName?: 'NON_POSITIVE_PREDEFINED_AMOUNT';\n    }\n  | {\n      ruleName?: 'EMPTY_CAMPAIGN_NAME';\n    };\n/** @docsIgnore */\nexport type GetDonationCampaignMetricsApplicationErrors =\n  | {\n      code?: 'CAMPAIGN_GOAL_NOT_SET';\n      description?: string;\n      data?: Record<string, any>;\n    }\n  | {\n      code?: 'SITE_CURRENCY_UNAVAILABLE';\n      description?: string;\n      data?: Record<string, any>;\n    }\n  | {\n      code?: 'METRICS_TEMPORARILY_UNAVAILABLE';\n      description?: string;\n      data?: Record<string, any>;\n    };\n/** @docsIgnore */\nexport type BulkUpdateDonationCampaignTagsApplicationErrors =\n  | {\n      code?: 'EMPTY_ASSIGN_AND_UNASSIGN_LISTS';\n      description?: string;\n      data?: Record<string, any>;\n    }\n  | {\n      code?: 'SITE_CURRENCY_UNAVAILABLE';\n      description?: string;\n      data?: Record<string, any>;\n    };\n/** @docsIgnore */\nexport type BulkUpdateDonationCampaignTagsByFilterApplicationErrors =\n  | {\n      code?: 'EMPTY_ASSIGN_AND_UNASSIGN_LISTS';\n      description?: string;\n      data?: Record<string, any>;\n    }\n  | {\n      code?: 'SITE_CURRENCY_UNAVAILABLE';\n      description?: string;\n      data?: Record<string, any>;\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 DonationCampaignCreatedEnvelope {\n  entity: DonationCampaign;\n  metadata: EventMetadata;\n}\n\n/**\n * Triggered when a donation campaign is created.\n * @permissionScope Manage Donation Campaigns\n * @permissionScopeId SCOPE.DONATIONS.MANAGE-CAMPAIGNS\n * @permissionId WIX_DONATIONS.DONATION_CAMPAIGN_READ_EVENTS\n * @webhook\n * @eventType wix.donations.v2.donation_campaign_created\n * @slug created\n */\nexport declare function onDonationCampaignCreated(\n  handler: (event: DonationCampaignCreatedEnvelope) => void | Promise<void>\n): void;\n\nexport interface DonationCampaignDeletedEnvelope {\n  entity: DonationCampaign;\n  metadata: EventMetadata;\n}\n\n/**\n * Triggered when a donation campaign is deleted.\n * @permissionScope Manage Donation Campaigns\n * @permissionScopeId SCOPE.DONATIONS.MANAGE-CAMPAIGNS\n * @permissionId WIX_DONATIONS.DONATION_CAMPAIGN_READ_EVENTS\n * @webhook\n * @eventType wix.donations.v2.donation_campaign_deleted\n * @slug deleted\n */\nexport declare function onDonationCampaignDeleted(\n  handler: (event: DonationCampaignDeletedEnvelope) => void | Promise<void>\n): void;\n\nexport interface DonationCampaignStatusChangedEnvelope {\n  data: StatusChanged;\n  metadata: EventMetadata;\n}\n\n/**\n * Triggered when a donation campaign's status changes.\n * @permissionScope Manage Donation Campaigns\n * @permissionScopeId SCOPE.DONATIONS.MANAGE-CAMPAIGNS\n * @permissionId WIX_DONATIONS.DONATION_CAMPAIGN_READ_EVENTS\n * @webhook\n * @eventType wix.donations.v2.donation_campaign_status_changed\n * @slug status_changed\n */\nexport declare function onDonationCampaignStatusChanged(\n  handler: (\n    event: DonationCampaignStatusChangedEnvelope\n  ) => void | Promise<void>\n): void;\n\nexport interface DonationCampaignTagsModifiedEnvelope {\n  data: TagsModified;\n  metadata: EventMetadata;\n}\n\n/**\n * Triggered when donation campaign tags are modified.\n * @permissionScope Manage Donation Campaigns\n * @permissionScopeId SCOPE.DONATIONS.MANAGE-CAMPAIGNS\n * @permissionId WIX_DONATIONS.DONATION_CAMPAIGN_READ_EVENTS\n * @webhook\n * @eventType wix.donations.v2.donation_campaign_tags_modified\n * @slug tags_modified\n */\nexport declare function onDonationCampaignTagsModified(\n  handler: (event: DonationCampaignTagsModifiedEnvelope) => void | Promise<void>\n): void;\n\nexport interface DonationCampaignUpdatedEnvelope {\n  entity: DonationCampaign;\n  metadata: EventMetadata;\n  /** @hidden */\n  modifiedFields: Record<string, any>;\n}\n\n/**\n * Triggered when a donation campaign is updated.\n * @permissionScope Manage Donation Campaigns\n * @permissionScopeId SCOPE.DONATIONS.MANAGE-CAMPAIGNS\n * @permissionId WIX_DONATIONS.DONATION_CAMPAIGN_READ_EVENTS\n * @webhook\n * @eventType wix.donations.v2.donation_campaign_updated\n * @slug updated\n */\nexport declare function onDonationCampaignUpdated(\n  handler: (event: DonationCampaignUpdatedEnvelope) => void | Promise<void>\n): void;\n\n/**\n * Creates a new donation campaign.\n *\n * The campaign is created in an active state and can immediately accept donations.\n *\n * > **Note:** Other than the fields marked as required, **one or both** of the following fields must be passed on create:\n * > + `customAmountEnabled`\n * > + `predefinedDonationAmounts`\n *\n * To create multiple donation campaigns in a single call, use [Bulk Create Donation Campaigns](https://dev.wix.com/docs/api-reference/business-solutions/donations/donation-campaigns/bulk-create-donation-campaigns).\n * @param donationCampaign - Donation campaign to create.\n * @public\n * @requiredField donationCampaign\n * @requiredField donationCampaign.campaignGoal.targetAmount\n * @requiredField donationCampaign.donationFrequencies\n * @requiredField donationCampaign.name\n * @permissionId WIX_DONATIONS.DONATION_CAMPAIGN_CREATE\n * @applicableIdentity APP\n * @returns Created donation campaign.\n * @fqn wix.donations.v2.DonationCampaignService.CreateDonationCampaign\n */\nexport async function createDonationCampaign(\n  donationCampaign: NonNullablePaths<\n    DonationCampaign,\n    `campaignGoal.targetAmount` | `donationFrequencies` | `name`,\n    1\n  >\n): Promise<\n  NonNullablePaths<\n    DonationCampaign,\n    | `name`\n    | `archived`\n    | `status`\n    | `customAmountOptions.minimum.amount`\n    | `customAmountOptions.minimum.convertedAmount`\n    | `customAmountOptions.minimum.formattedAmount`\n    | `customAmountOptions.minimum.formattedConvertedAmount`\n    | `predefinedDonationAmounts`\n    | `predefinedDonationAmounts.${number}._id`\n    | `commentsEnabled`\n    | `donationFrequencies`\n    | `askDonorCoverFee`\n    | `tags.privateTags.tagIds`,\n    2\n  > & {\n    __applicationErrorsType?: CreateDonationCampaignApplicationErrors;\n    __validationErrorsType?: CreateDonationCampaignValidationErrors;\n  }\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = transformPaths(\n    renameKeysFromSDKRequestToRESTRequest({\n      donationCampaign: donationCampaign,\n    }),\n    [\n      {\n        transformFn: transformSDKImageToRESTImage,\n        paths: TRANSFORM_PATHS_0,\n      },\n    ]\n  );\n\n  const reqOpts =\n    ambassadorWixDonationsV2DonationCampaign.createDonationCampaign(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(result.data, [\n        {\n          transformFn: transformRESTImageToSDKImage,\n          paths: TRANSFORM_PATHS_0,\n        },\n      ])\n    )?.donationCampaign!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: { donationCampaign: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['donationCampaign']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Retrieves a donation campaign by ID.\n * @param donationCampaignId - ID of the donation campaign to retrieve.\n * @public\n * @requiredField donationCampaignId\n * @permissionId WIX_DONATIONS.DONATION_CAMPAIGN_READ\n * @applicableIdentity APP\n * @returns Retrieved donation campaign.\n * @fqn wix.donations.v2.DonationCampaignService.GetDonationCampaign\n */\nexport async function getDonationCampaign(donationCampaignId: string): Promise<\n  NonNullablePaths<\n    DonationCampaign,\n    | `name`\n    | `archived`\n    | `status`\n    | `customAmountOptions.minimum.amount`\n    | `customAmountOptions.minimum.convertedAmount`\n    | `customAmountOptions.minimum.formattedAmount`\n    | `customAmountOptions.minimum.formattedConvertedAmount`\n    | `predefinedDonationAmounts`\n    | `predefinedDonationAmounts.${number}._id`\n    | `commentsEnabled`\n    | `donationFrequencies`\n    | `askDonorCoverFee`\n    | `tags.privateTags.tagIds`,\n    2\n  > & {\n    __applicationErrorsType?: GetDonationCampaignApplicationErrors;\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    donationCampaignId: donationCampaignId,\n  });\n\n  const reqOpts =\n    ambassadorWixDonationsV2DonationCampaign.getDonationCampaign(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(result.data, [\n        {\n          transformFn: transformRESTImageToSDKImage,\n          paths: TRANSFORM_PATHS_0,\n        },\n      ])\n    )?.donationCampaign!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: { donationCampaignId: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['donationCampaignId']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Updates a donation campaign. Supports partial updates.\n *\n * Each update increments the campaign's `revision` by 1. To prevent conflicts, you must provide the current `revision` in the request.\n *\n * You can update campaign settings like payment options, goals, and frequencies while maintaining the existing donation history.\n *\n * To update multiple donation campaigns in a single call, use [Bulk Update Donation Campaigns](https://dev.wix.com/docs/rest/business-solutions/donations/donation-campaigns/bulk-update-donation-campaigns).\n * @param _id - Donation campaign ID.\n * @public\n * @requiredField _id\n * @requiredField donationCampaign\n * @requiredField donationCampaign.revision\n * @permissionId WIX_DONATIONS.DONATION_CAMPAIGN_UPDATE\n * @applicableIdentity APP\n * @returns Updated donation campaign.\n * @fqn wix.donations.v2.DonationCampaignService.UpdateDonationCampaign\n */\nexport async function updateDonationCampaign(\n  _id: string,\n  donationCampaign: NonNullablePaths<UpdateDonationCampaign, `revision`, 0>\n): Promise<\n  NonNullablePaths<\n    DonationCampaign,\n    | `name`\n    | `archived`\n    | `status`\n    | `customAmountOptions.minimum.amount`\n    | `customAmountOptions.minimum.convertedAmount`\n    | `customAmountOptions.minimum.formattedAmount`\n    | `customAmountOptions.minimum.formattedConvertedAmount`\n    | `predefinedDonationAmounts`\n    | `predefinedDonationAmounts.${number}._id`\n    | `commentsEnabled`\n    | `donationFrequencies`\n    | `askDonorCoverFee`\n    | `tags.privateTags.tagIds`,\n    2\n  > & {\n    __applicationErrorsType?: UpdateDonationCampaignApplicationErrors;\n    __validationErrorsType?: UpdateDonationCampaignValidationErrors;\n  }\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[2] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = transformPaths(\n    renameKeysFromSDKRequestToRESTRequest({\n      donationCampaign: { ...donationCampaign, id: _id },\n    }),\n    [\n      {\n        transformFn: transformSDKImageToRESTImage,\n        paths: TRANSFORM_PATHS_0,\n      },\n    ]\n  );\n\n  const reqOpts =\n    ambassadorWixDonationsV2DonationCampaign.updateDonationCampaign(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(result.data, [\n        {\n          transformFn: transformRESTImageToSDKImage,\n          paths: TRANSFORM_PATHS_0,\n        },\n      ])\n    )?.donationCampaign!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: { donationCampaign: '$[1]' },\n        explicitPathsToArguments: { 'donationCampaign.id': '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['_id', 'donationCampaign']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface UpdateDonationCampaign {\n  /**\n   * Donation campaign ID.\n   * @format GUID\n   * @readonly\n   */\n  _id?: string | null;\n  /**\n   * Revision number, which increments by 1 each time the donation campaign is updated.\n   * To prevent conflicting changes, the current `revision` must be specified when updating the donation campaign.\n   *\n   * Ignored when creating a donation campaign.\n   * @readonly\n   */\n  revision?: string | null;\n  /**\n   * Date and time the donation campaign was created.\n   * @readonly\n   */\n  _createdDate?: Date | null;\n  /**\n   * Date and time the donation campaign was last updated.\n   * @readonly\n   */\n  _updatedDate?: Date | null;\n  /**\n   * Name of the donation campaign.\n   * @minLength 1\n   * @maxLength 65\n   */\n  name?: string;\n  /**\n   * Whether the donation campaign is archived and hidden from site visitors.\n   * Archived campaigns can't accept donations.\n   *\n   * Default: `false`\n   */\n  archived?: boolean;\n  /**\n   * Current status of the donation campaign.\n   *\n   * The status is automatically calculated based on campaign settings and current progress:\n   * - `COLLECTING`: Campaign is active and accepting donations\n   * - `EXPIRED`: Campaign has passed its end date and `acceptDonationsAfterEndDate` is `false`\n   * - `GOAL_REACHED`: Campaign has reached its target amount and `acceptDonationsAfterGoal` is `false`\n   * @readonly\n   */\n  status?: StatusWithLiterals;\n  /** Cover image for the donation campaign. */\n  coverImage?: string;\n  /**\n   * Whether donors can specify their own donation amount.\n   * If custom amounts are disabled, at least one predefined amount must be provided.\n   *\n   * Default: `false`\n   */\n  customAmountEnabled?: boolean | null;\n  /** Optional settings for custom donation amounts. */\n  customAmountOptions?: CustomAmountOptions;\n  /**\n   * Predefined donation amounts.\n   *\n   * Each amount can include an optional description explaining its impact. For example, \"Feed 5 families for a week\".\n   * @maxSize 20\n   */\n  predefinedDonationAmounts?: PredefinedAmount[];\n  /** Campaign fundraising goal. */\n  campaignGoal?: CampaignGoal;\n  /**\n   * Whether donors can add comments to their donations.\n   *\n   * Default: `false`\n   */\n  commentsEnabled?: boolean;\n  /**\n   * Donation frequencies available for this campaign.\n   *\n   * At least one frequency must be specified.\n   * @minSize 1\n   * @maxSize 4\n   */\n  donationFrequencies?: FrequencyWithLiterals[];\n  /**\n   * Whether to ask donors during checkout if they want to add 2.9% to their donation to cover fees.\n   *\n   * When `false`, fees are deducted from the donation amount,\n   * meaning the campaign receives less than the donor's original contribution.\n   *\n   * When `true`, donors are presented with an option in the checkout UI to\n   * add a 2.9% fee on top of their donation. This fee helps offset\n   * processing costs, ensuring more of the original donation reaches the campaign.\n   * The donor always has the choice — they are never automatically charged the fee.\n   *\n   * For recurring donations, if the donor opts to cover fees, the 2.9% fee\n   * is applied to each recurring payment (not just the first one).\n   *\n   * > **Notes:**\n   * > + The 2.9% rate is fixed and cannot be customized by campaign owners.\n   * > + This feature works with all payment methods and currencies.\n   *\n   * Default: `false`\n   */\n  askDonorCoverFee?: boolean;\n  /**\n   * Custom field data for the program definition object.\n   *\n   * [Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the app dashboard before they can be accessed with API calls.\n   */\n  extendedFields?: ExtendedFields;\n  /** Tags assigned to this donation campaign. */\n  tags?: Tags;\n}\n\n/**\n * Retrieves a list of donation campaigns, given the provided paging, filtering, and sorting.\n *\n * Query Donation Campaigns runs with these defaults, which you can override:\n * - `createdDate` is sorted in `ASC` order\n * - `cursorPaging.limit` is `100`\n *\n * To learn how to query donation campaigns, see [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language).\n * @public\n * @permissionId WIX_DONATIONS.DONATION_CAMPAIGN_READ\n * @applicableIdentity APP\n * @fqn wix.donations.v2.DonationCampaignService.QueryDonationCampaigns\n */\nexport function queryDonationCampaigns(): DonationCampaignsQueryBuilder {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[0] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  return queryBuilder<\n    DonationCampaign,\n    'CURSOR',\n    QueryDonationCampaignsRequest,\n    QueryDonationCampaignsResponse\n  >({\n    func: async (payload: QueryDonationCampaignsRequest) => {\n      const reqOpts =\n        ambassadorWixDonationsV2DonationCampaign.queryDonationCampaigns(\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: QueryDonationCampaignsRequest['query']) => {\n      const args = [query, {}] as [QueryDonationCampaignsRequest['query'], {}];\n      return renameKeysFromSDKRequestToRESTRequest({\n        ...args?.[1],\n        query: args?.[0],\n      });\n    },\n    responseTransformer: ({\n      data,\n    }: HttpResponse<QueryDonationCampaignsResponse>) => {\n      const transformedData = renameKeysFromRESTResponseToSDKResponse(\n        transformPaths(data, [\n          {\n            transformFn: transformRESTImageToSDKImage,\n            paths: TRANSFORM_PATHS_1,\n          },\n        ])\n      );\n\n      return {\n        items: transformedData?.donationCampaigns,\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 DonationCampaignsQueryResult extends QueryCursorResult {\n  items: DonationCampaign[];\n  query: DonationCampaignsQueryBuilder;\n  next: () => Promise<DonationCampaignsQueryResult>;\n  prev: () => Promise<DonationCampaignsQueryResult>;\n}\n\nexport interface DonationCampaignsQueryBuilder {\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   */\n  eq: (\n    propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'archived',\n    value: any\n  ) => DonationCampaignsQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   */\n  ne: (\n    propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'archived',\n    value: any\n  ) => DonationCampaignsQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   */\n  ge: (\n    propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name',\n    value: any\n  ) => DonationCampaignsQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   */\n  gt: (\n    propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name',\n    value: any\n  ) => DonationCampaignsQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   */\n  le: (\n    propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name',\n    value: any\n  ) => DonationCampaignsQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   */\n  lt: (\n    propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name',\n    value: any\n  ) => DonationCampaignsQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `string`.\n   * @param string - String to compare against. Case-insensitive.\n   */\n  startsWith: (\n    propertyName: '_id' | 'name',\n    value: string\n  ) => DonationCampaignsQueryBuilder;\n  in: (\n    propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'archived',\n    value: any\n  ) => DonationCampaignsQueryBuilder;\n  exists: (\n    propertyName:\n      | '_id'\n      | '_createdDate'\n      | '_updatedDate'\n      | 'name'\n      | 'archived'\n      | 'tags',\n    value: boolean\n  ) => DonationCampaignsQueryBuilder;\n  /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n  ascending: (\n    ...propertyNames: Array<\n      '_id' | '_createdDate' | '_updatedDate' | 'name' | 'archived' | 'tags'\n    >\n  ) => DonationCampaignsQueryBuilder;\n  /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n  descending: (\n    ...propertyNames: Array<\n      '_id' | '_createdDate' | '_updatedDate' | 'name' | 'archived' | 'tags'\n    >\n  ) => DonationCampaignsQueryBuilder;\n  /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n  limit: (limit: number) => DonationCampaignsQueryBuilder;\n  /** @param cursor - A pointer to specific record */\n  skipTo: (cursor: string) => DonationCampaignsQueryBuilder;\n  find: () => Promise<DonationCampaignsQueryResult>;\n}\n\n/**\n * @hidden\n * @fqn wix.donations.v2.DonationCampaignService.QueryDonationCampaigns\n * @requiredField query\n */\nexport async function typedQueryDonationCampaigns(\n  query: DonationCampaignQuery\n): Promise<\n  NonNullablePaths<\n    QueryDonationCampaignsResponse,\n    | `donationCampaigns`\n    | `donationCampaigns.${number}.name`\n    | `donationCampaigns.${number}.archived`\n    | `donationCampaigns.${number}.status`\n    | `donationCampaigns.${number}.customAmountOptions.minimum.amount`\n    | `donationCampaigns.${number}.customAmountOptions.minimum.convertedAmount`\n    | `donationCampaigns.${number}.customAmountOptions.minimum.formattedAmount`\n    | `donationCampaigns.${number}.customAmountOptions.minimum.formattedConvertedAmount`\n    | `donationCampaigns.${number}.commentsEnabled`\n    | `donationCampaigns.${number}.askDonorCoverFee`,\n    4\n  > & {\n    __applicationErrorsType?: QueryDonationCampaignsApplicationErrors;\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    ambassadorWixDonationsV2DonationCampaign.queryDonationCampaigns(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(result.data, [\n        {\n          transformFn: transformRESTImageToSDKImage,\n          paths: TRANSFORM_PATHS_1,\n        },\n      ])\n    )!;\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 DonationCampaignQuerySpec extends QuerySpec {\n  paging: 'cursor';\n  wql: [\n    {\n      fields: [\n        '_createdDate',\n        '_id',\n        '_updatedDate',\n        'archived',\n        'name',\n        'tags'\n      ];\n      operators: '*';\n      sort: 'BOTH';\n    }\n  ];\n}\n\nexport type CommonQueryWithEntityContext = QuerySdkType<\n  DonationCampaign,\n  DonationCampaignQuerySpec\n>;\nexport type DonationCampaignQuery = {\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 the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).  \n  */\n  filter?: CommonQueryWithEntityContext['filter'] | null;\n  /** \n  Sort object.\n\n  Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section). \n  @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};\n\nexport const utils = {\n  query: /*#__PURE__*/ createQueryUtils<\n    DonationCampaign,\n    DonationCampaignQuerySpec,\n    DonationCampaignQuery\n  >(),\n};\n\n/**\n * Creates multiple donation campaigns in a single request.\n *\n * The campaigns are created in an active state and can immediately accept donations.\n *\n * > **Note:** Other than the fields marked as required, **one or both** of the following fields must be passed on create:\n * > + `customAmountEnabled`\n * > + `predefinedDonationAmounts`\n *\n * To create a single donation campaign, use [Create Donation Campaign](https://dev.wix.com/docs/rest/business-solutions/donations/donation-campaigns/create-donation-campaign).\n * @param donationCampaigns - Donation campaigns to create.\n * @public\n * @requiredField donationCampaigns\n * @requiredField donationCampaigns.campaignGoal.targetAmount\n * @requiredField donationCampaigns.donationFrequencies\n * @requiredField donationCampaigns.name\n * @permissionId WIX_DONATIONS.DONATION_CAMPAIGN_CREATE\n * @applicableIdentity APP\n * @fqn wix.donations.v2.DonationCampaignService.BulkCreateDonationCampaigns\n */\nexport async function bulkCreateDonationCampaigns(\n  donationCampaigns: NonNullablePaths<\n    DonationCampaign,\n    `campaignGoal.targetAmount` | `donationFrequencies` | `name`,\n    1\n  >[],\n  options?: BulkCreateDonationCampaignsOptions\n): Promise<\n  NonNullablePaths<\n    BulkCreateDonationCampaignsResponse,\n    | `results`\n    | `results.${number}.itemMetadata.originalIndex`\n    | `results.${number}.itemMetadata.success`\n    | `results.${number}.itemMetadata.error.code`\n    | `results.${number}.itemMetadata.error.description`\n    | `results.${number}.item.name`\n    | `results.${number}.item.archived`\n    | `results.${number}.item.status`\n    | `results.${number}.item.commentsEnabled`\n    | `results.${number}.item.askDonorCoverFee`\n    | `bulkActionMetadata.totalSuccesses`\n    | `bulkActionMetadata.totalFailures`\n    | `bulkActionMetadata.undetailedFailures`,\n    4\n  > & {\n    __applicationErrorsType?: BulkCreateDonationCampaignsApplicationErrors;\n    __validationErrorsType?: BulkCreateDonationCampaignsValidationErrors;\n  }\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[2] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = transformPaths(\n    renameKeysFromSDKRequestToRESTRequest({\n      donationCampaigns: donationCampaigns,\n      returnEntity: options?.returnEntity,\n    }),\n    [\n      {\n        transformFn: transformSDKImageToRESTImage,\n        paths: TRANSFORM_PATHS_1,\n      },\n    ]\n  );\n\n  const reqOpts =\n    ambassadorWixDonationsV2DonationCampaign.bulkCreateDonationCampaigns(\n      payload\n    );\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(result.data, [\n        {\n          transformFn: transformRESTImageToSDKImage,\n          paths: TRANSFORM_PATHS_2,\n        },\n      ])\n    )!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: {\n          donationCampaigns: '$[0]',\n          returnEntity: '$[1].returnEntity',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['donationCampaigns', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface BulkCreateDonationCampaignsOptions {\n  /**\n   * Whether to return the created donation campaigns in the response.\n   *\n   * Default: `false`\n   */\n  returnEntity?: boolean;\n}\n\n/**\n * Updates multiple donation campaigns in a single request.\n *\n * Each update increments the campaign's `revision` by 1. To prevent conflicts, you must provide the current `revision` for each campaign in the request.\n *\n * You can update campaign settings like payment options, goals, and frequencies while maintaining existing donation history.\n *\n * To update a single donation campaign, use [Update Donation Campaign](https://dev.wix.com/docs/rest/business-solutions/donations/donation-campaigns/update-donation-campaign).\n * @param donationCampaigns - Donation campaigns to update.\n * @public\n * @requiredField donationCampaigns\n * @requiredField donationCampaigns.donationCampaign._id\n * @requiredField donationCampaigns.donationCampaign.revision\n * @permissionId WIX_DONATIONS.DONATION_CAMPAIGN_UPDATE\n * @applicableIdentity APP\n * @fqn wix.donations.v2.DonationCampaignService.BulkUpdateDonationCampaigns\n */\nexport async function bulkUpdateDonationCampaigns(\n  donationCampaigns: NonNullablePaths<\n    MaskedDonationCampaign,\n    `donationCampaign._id` | `donationCampaign.revision`,\n    1\n  >[],\n  options?: BulkUpdateDonationCampaignsOptions\n): Promise<\n  NonNullablePaths<\n    BulkUpdateDonationCampaignsResponse,\n    | `results`\n    | `results.${number}.itemMetadata.originalIndex`\n    | `results.${number}.itemMetadata.success`\n    | `results.${number}.itemMetadata.error.code`\n    | `results.${number}.itemMetadata.error.description`\n    | `results.${number}.item.name`\n    | `results.${number}.item.archived`\n    | `results.${number}.item.status`\n    | `results.${number}.item.commentsEnabled`\n    | `results.${number}.item.askDonorCoverFee`\n    | `bulkActionMetadata.totalSuccesses`\n    | `bulkActionMetadata.totalFailures`\n    | `bulkActionMetadata.undetailedFailures`,\n    4\n  > & {\n    __applicationErrorsType?: BulkUpdateDonationCampaignsApplicationErrors;\n    __validationErrorsType?: BulkUpdateDonationCampaignsValidationErrors;\n  }\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[2] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = transformPaths(\n    renameKeysFromSDKRequestToRESTRequest({\n      donationCampaigns: donationCampaigns,\n      returnEntity: options?.returnEntity,\n    }),\n    [\n      {\n        transformFn: transformSDKImageToRESTImage,\n        paths: TRANSFORM_PATHS_3,\n      },\n    ]\n  );\n\n  const reqOpts =\n    ambassadorWixDonationsV2DonationCampaign.bulkUpdateDonationCampaigns(\n      payload\n    );\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(result.data, [\n        {\n          transformFn: transformRESTImageToSDKImage,\n          paths: TRANSFORM_PATHS_2,\n        },\n      ])\n    )!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: {\n          donationCampaigns: '$[0]',\n          returnEntity: '$[1].returnEntity',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['donationCampaigns', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface BulkUpdateDonationCampaignsOptions {\n  /**\n   * Whether to return the updated donation campaigns in the response.\n   *\n   * Default: `false`\n   */\n  returnEntity?: boolean;\n}\n\n/**\n * Retrieves metrics for a donation campaign.\n *\n * Returns the total number of successful donations and amount collected for the campaign.\n * The `campaignGoal` must be configured before using this method.\n *\n * Currently supports metrics in the site's default currency only.\n *\n * > **Note:** This method provides aggregated metrics only. To retrieve individual donation details, use [Search Orders](https://dev.wix.com/docs/rest/business-solutions/e-commerce/orders/orders/search-orders) and filter by `lineItems.catalogReference.catalogItemId` equal to the donation campaign ID.\n * @param donationCampaignId - ID of the donation campaign to retrieve metrics for.\n * @public\n * @requiredField donationCampaignId\n * @permissionId WIX_DONATIONS.DONATION_CAMPAIGN_READ\n * @applicableIdentity APP\n * @fqn wix.donations.v2.DonationCampaignService.GetDonationCampaignMetrics\n */\nexport async function getDonationCampaignMetrics(\n  donationCampaignId: string\n): Promise<\n  NonNullablePaths<\n    GetDonationCampaignMetricsResponse,\n    | `currencyMetricsList`\n    | `currencyMetricsList.${number}.currencyCode`\n    | `currencyMetricsList.${number}.donationCount`\n    | `currencyMetricsList.${number}.totalAmount.amount`\n    | `currencyMetricsList.${number}.totalAmount.convertedAmount`\n    | `currencyMetricsList.${number}.totalAmount.formattedAmount`\n    | `currencyMetricsList.${number}.totalAmount.formattedConvertedAmount`,\n    3\n  > & {\n    __applicationErrorsType?: GetDonationCampaignMetricsApplicationErrors;\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    donationCampaignId: donationCampaignId,\n  });\n\n  const reqOpts =\n    ambassadorWixDonationsV2DonationCampaign.getDonationCampaignMetrics(\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: { donationCampaignId: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['donationCampaignId']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Updates tags on multiple donation campaigns by ID.\n *\n * Use this method to assign or remove tags from specific campaigns.\n * A tag that appears in both assign and unassign lists will be assigned.\n * @param ids - Donation campaign IDs.\n * @public\n * @requiredField ids\n * @permissionId WIX_DONATIONS.DONATION_CAMPAIGN_UPDATE_TAGS\n * @applicableIdentity APP\n * @fqn wix.donations.v2.DonationCampaignService.BulkUpdateDonationCampaignTags\n */\nexport async function bulkUpdateDonationCampaignTags(\n  ids: string[],\n  options?: BulkUpdateDonationCampaignTagsOptions\n): Promise<\n  NonNullablePaths<\n    BulkUpdateDonationCampaignTagsResponse,\n    | `results`\n    | `results.${number}.itemMetadata.originalIndex`\n    | `results.${number}.itemMetadata.success`\n    | `results.${number}.itemMetadata.error.code`\n    | `results.${number}.itemMetadata.error.description`\n    | `bulkActionMetadata.totalSuccesses`\n    | `bulkActionMetadata.totalFailures`\n    | `bulkActionMetadata.undetailedFailures`,\n    4\n  > & {\n    __applicationErrorsType?: BulkUpdateDonationCampaignTagsApplicationErrors;\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    ids: ids,\n    assignTags: options?.assignTags,\n    unassignTags: options?.unassignTags,\n  });\n\n  const reqOpts =\n    ambassadorWixDonationsV2DonationCampaign.bulkUpdateDonationCampaignTags(\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          ids: '$[0]',\n          assignTags: '$[1].assignTags',\n          unassignTags: '$[1].unassignTags',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['ids', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface BulkUpdateDonationCampaignTagsOptions {\n  /**\n   * Tags to assign.\n   * If a tag already exists on a campaign, it remains assigned.\n   */\n  assignTags?: Tags;\n  /**\n   * Tags to unassign.\n   * If a tag doesn't exist on a campaign, it's ignored.\n   */\n  unassignTags?: Tags;\n}\n\n/**\n * Updates tags on multiple donation campaigns using filter criteria.\n *\n * An empty filter updates all campaigns. The operation is asynchronous and returns a job ID for monitoring progress.\n *\n * Learn more about working with [async jobs](https://dev.wix.com/docs/rest/business-management/async-job/introduction).\n * @param filter - Filter object. An empty filter updates all campaigns.\n *\n * Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters).\n * @public\n * @requiredField filter\n * @permissionId WIX_DONATIONS.DONATION_CAMPAIGN_UPDATE_TAGS\n * @applicableIdentity APP\n * @fqn wix.donations.v2.DonationCampaignService.BulkUpdateDonationCampaignTagsByFilter\n */\nexport async function bulkUpdateDonationCampaignTagsByFilter(\n  filter: Record<string, any>,\n  options?: BulkUpdateDonationCampaignTagsByFilterOptions\n): Promise<\n  NonNullablePaths<\n    BulkUpdateDonationCampaignTagsByFilterResponse,\n    `jobId`,\n    0\n  > & {\n    __applicationErrorsType?: BulkUpdateDonationCampaignTagsByFilterApplicationErrors;\n  }\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[2] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    filter: filter,\n    assignTags: options?.assignTags,\n    unassignTags: options?.unassignTags,\n  });\n\n  const reqOpts =\n    ambassadorWixDonationsV2DonationCampaign.bulkUpdateDonationCampaignTagsByFilter(\n      payload\n    );\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: {\n          filter: '$[0]',\n          assignTags: '$[1].assignTags',\n          unassignTags: '$[1].unassignTags',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['filter', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface BulkUpdateDonationCampaignTagsByFilterOptions {\n  /**\n   * Tags to assign.\n   * If a tag already exists on a campaign, it remains assigned.\n   */\n  assignTags?: Tags;\n  /**\n   * Tags to unassign.\n   * If a tag doesn't exist on a campaign, it's ignored.\n   */\n  unassignTags?: Tags;\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKFloatToRESTFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTFloatToSDKFloat } 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: 'donationCampaign.createdDate' },\n  { path: 'donationCampaign.updatedDate' },\n  { path: 'donationCampaign.coverImage.urlExpirationDate' },\n  { path: 'donationCampaign.campaignGoal.endDate' },\n];\nconst TRANSFORM_PATHS_1 = [\n  { path: 'donationCampaign.coverImage.focalPoint.x' },\n  { path: 'donationCampaign.coverImage.focalPoint.y' },\n];\nconst TRANSFORM_PATHS_2 = [{ path: 'fieldMask' }];\nconst TRANSFORM_PATHS_3 = [\n  { path: 'donationCampaigns.createdDate' },\n  { path: 'donationCampaigns.updatedDate' },\n  { path: 'donationCampaigns.coverImage.urlExpirationDate' },\n  { path: 'donationCampaigns.campaignGoal.endDate' },\n];\nconst TRANSFORM_PATHS_4 = [\n  { path: 'donationCampaigns.coverImage.focalPoint.x' },\n  { path: 'donationCampaigns.coverImage.focalPoint.y' },\n];\nconst TRANSFORM_PATHS_5 = [\n  { path: 'results.item.createdDate' },\n  { path: 'results.item.updatedDate' },\n  { path: 'results.item.coverImage.urlExpirationDate' },\n  { path: 'results.item.campaignGoal.endDate' },\n];\nconst TRANSFORM_PATHS_6 = [\n  { path: 'results.item.coverImage.focalPoint.x' },\n  { path: 'results.item.coverImage.focalPoint.y' },\n];\nconst TRANSFORM_PATHS_7 = [{ path: 'donationCampaigns.fieldMask' }];\nconst TRANSFORM_PATHS_8 = [\n  { path: 'donationCampaigns.donationCampaign.createdDate' },\n  { path: 'donationCampaigns.donationCampaign.updatedDate' },\n  { path: 'donationCampaigns.donationCampaign.coverImage.urlExpirationDate' },\n  { path: 'donationCampaigns.donationCampaign.campaignGoal.endDate' },\n];\nconst TRANSFORM_PATHS_9 = [\n  { path: 'donationCampaigns.donationCampaign.coverImage.focalPoint.x' },\n  { path: 'donationCampaigns.donationCampaign.coverImage.focalPoint.y' },\n];\n\nfunction resolveWixDonationsV2DonationCampaignServiceUrl(\n  opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n  const domainToMappings = {\n    'manage._base_domain_': [\n      {\n        srcPath: '/_api/donation-campaign-service/v2',\n        destPath: '/v2',\n      },\n    ],\n    _: [\n      {\n        srcPath: '/_api/donation-campaign-service/v2',\n        destPath: '/v2',\n      },\n    ],\n    '*.dev.wix-code.com': [\n      {\n        srcPath: '/_api/donation-campaign-service/v2',\n        destPath: '/v2',\n      },\n    ],\n    'editor._base_domain_': [\n      {\n        srcPath: '/_api/donation-campaign-service/v2',\n        destPath: '/v2',\n      },\n    ],\n    'blocks._base_domain_': [\n      {\n        srcPath: '/_api/donation-campaign-service/v2',\n        destPath: '/v2',\n      },\n    ],\n    'create.editorx': [\n      {\n        srcPath: '/_api/donation-campaign-service/v2',\n        destPath: '/v2',\n      },\n    ],\n    'www.wixapis.com': [\n      {\n        srcPath: '/donation-campaigns/v2',\n        destPath: '/v2',\n      },\n    ],\n    'www._base_domain_': [\n      {\n        srcPath: '/_api/donation-campaign-service/v2',\n        destPath: '/v2',\n      },\n    ],\n  };\n\n  return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_donations_donation-campaigns';\n\n/**\n * Creates a new donation campaign.\n *\n * The campaign is created in an active state and can immediately accept donations.\n *\n * > **Note:** Other than the fields marked as required, **one or both** of the following fields must be passed on create:\n * > + `customAmountEnabled`\n * > + `predefinedDonationAmounts`\n *\n * To create multiple donation campaigns in a single call, use [Bulk Create Donation Campaigns](https://dev.wix.com/docs/api-reference/business-solutions/donations/donation-campaigns/bulk-create-donation-campaigns).\n */\nexport function createDonationCampaign(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __createDonationCampaign({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKTimestampToRESTTimestamp,\n        paths: TRANSFORM_PATHS_0,\n      },\n      {\n        transformFn: transformSDKFloatToRESTFloat,\n        paths: TRANSFORM_PATHS_1,\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.donations.v2.donation_campaign',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.donations.v2.DonationCampaignService.CreateDonationCampaign',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixDonationsV2DonationCampaignServiceUrl({\n        protoPath: '/v2/donation-campaigns',\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            transformFn: transformRESTFloatToSDKFloat,\n            paths: TRANSFORM_PATHS_1,\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __createDonationCampaign;\n}\n\n/** Retrieves a donation campaign by ID. */\nexport function getDonationCampaign(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __getDonationCampaign({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.donations.v2.donation_campaign',\n      method: 'GET' as any,\n      methodFqn: 'wix.donations.v2.DonationCampaignService.GetDonationCampaign',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixDonationsV2DonationCampaignServiceUrl({\n        protoPath: '/v2/donation-campaigns/{donationCampaignId}',\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            transformFn: transformRESTFloatToSDKFloat,\n            paths: TRANSFORM_PATHS_1,\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __getDonationCampaign;\n}\n\n/**\n * Updates a donation campaign. Supports partial updates.\n *\n * Each update increments the campaign's `revision` by 1. To prevent conflicts, you must provide the current `revision` in the request.\n *\n * You can update campaign settings like payment options, goals, and frequencies while maintaining the existing donation history.\n *\n * To update multiple donation campaigns in a single call, use [Bulk Update Donation Campaigns](https://dev.wix.com/docs/rest/business-solutions/donations/donation-campaigns/bulk-update-donation-campaigns).\n */\nexport function updateDonationCampaign(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __updateDonationCampaign({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKFieldMaskToRESTFieldMask,\n        paths: TRANSFORM_PATHS_2,\n      },\n      {\n        transformFn: transformSDKTimestampToRESTTimestamp,\n        paths: TRANSFORM_PATHS_0,\n      },\n      {\n        transformFn: transformSDKFloatToRESTFloat,\n        paths: TRANSFORM_PATHS_1,\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.donations.v2.donation_campaign',\n      method: 'PATCH' as any,\n      methodFqn:\n        'wix.donations.v2.DonationCampaignService.UpdateDonationCampaign',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixDonationsV2DonationCampaignServiceUrl({\n        protoPath: '/v2/donation-campaigns/{donationCampaign.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            transformFn: transformRESTFloatToSDKFloat,\n            paths: TRANSFORM_PATHS_1,\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __updateDonationCampaign;\n}\n\n/**\n * Retrieves a list of donation campaigns, given the provided paging, filtering, and sorting.\n *\n * Query Donation Campaigns runs with these defaults, which you can override:\n * - `createdDate` is sorted in `ASC` order\n * - `cursorPaging.limit` is `100`\n *\n * To learn how to query donation campaigns, see [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language).\n */\nexport function queryDonationCampaigns(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __queryDonationCampaigns({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.donations.v2.donation_campaign',\n      method: 'GET' as any,\n      methodFqn:\n        'wix.donations.v2.DonationCampaignService.QueryDonationCampaigns',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixDonationsV2DonationCampaignServiceUrl({\n        protoPath: '/v2/donation-campaigns/query',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload, true),\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: TRANSFORM_PATHS_3,\n          },\n          {\n            transformFn: transformRESTFloatToSDKFloat,\n            paths: TRANSFORM_PATHS_4,\n          },\n        ]),\n      fallback: [\n        {\n          method: 'POST' as any,\n          url: resolveWixDonationsV2DonationCampaignServiceUrl({\n            protoPath: '/v2/donation-campaigns/query',\n            data: payload,\n            host,\n          }),\n          data: payload,\n        },\n      ],\n    };\n\n    return metadata;\n  }\n\n  return __queryDonationCampaigns;\n}\n\n/**\n * Creates multiple donation campaigns in a single request.\n *\n * The campaigns are created in an active state and can immediately accept donations.\n *\n * > **Note:** Other than the fields marked as required, **one or both** of the following fields must be passed on create:\n * > + `customAmountEnabled`\n * > + `predefinedDonationAmounts`\n *\n * To create a single donation campaign, use [Create Donation Campaign](https://dev.wix.com/docs/rest/business-solutions/donations/donation-campaigns/create-donation-campaign).\n */\nexport function bulkCreateDonationCampaigns(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __bulkCreateDonationCampaigns({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKTimestampToRESTTimestamp,\n        paths: TRANSFORM_PATHS_3,\n      },\n      {\n        transformFn: transformSDKFloatToRESTFloat,\n        paths: TRANSFORM_PATHS_4,\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.donations.v2.donation_campaign',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.donations.v2.DonationCampaignService.BulkCreateDonationCampaigns',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixDonationsV2DonationCampaignServiceUrl({\n        protoPath: '/v2/bulk/donation-campaigns/create',\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            transformFn: transformRESTFloatToSDKFloat,\n            paths: TRANSFORM_PATHS_6,\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __bulkCreateDonationCampaigns;\n}\n\n/**\n * Updates multiple donation campaigns in a single request.\n *\n * Each update increments the campaign's `revision` by 1. To prevent conflicts, you must provide the current `revision` for each campaign in the request.\n *\n * You can update campaign settings like payment options, goals, and frequencies while maintaining existing donation history.\n *\n * To update a single donation campaign, use [Update Donation Campaign](https://dev.wix.com/docs/rest/business-solutions/donations/donation-campaigns/update-donation-campaign).\n */\nexport function bulkUpdateDonationCampaigns(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __bulkUpdateDonationCampaigns({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKFieldMaskToRESTFieldMask,\n        paths: TRANSFORM_PATHS_7,\n      },\n      {\n        transformFn: transformSDKTimestampToRESTTimestamp,\n        paths: TRANSFORM_PATHS_8,\n      },\n      {\n        transformFn: transformSDKFloatToRESTFloat,\n        paths: TRANSFORM_PATHS_9,\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.donations.v2.donation_campaign',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.donations.v2.DonationCampaignService.BulkUpdateDonationCampaigns',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixDonationsV2DonationCampaignServiceUrl({\n        protoPath: '/v2/bulk/donation-campaigns/update',\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            transformFn: transformRESTFloatToSDKFloat,\n            paths: TRANSFORM_PATHS_6,\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __bulkUpdateDonationCampaigns;\n}\n\n/**\n * Retrieves metrics for a donation campaign.\n *\n * Returns the total number of successful donations and amount collected for the campaign.\n * The `campaignGoal` must be configured before using this method.\n *\n * Currently supports metrics in the site's default currency only.\n *\n * > **Note:** This method provides aggregated metrics only. To retrieve individual donation details, use [Search Orders](https://dev.wix.com/docs/rest/business-solutions/e-commerce/orders/orders/search-orders) and filter by `lineItems.catalogReference.catalogItemId` equal to the donation campaign ID.\n */\nexport function getDonationCampaignMetrics(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __getDonationCampaignMetrics({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.donations.v2.donation_campaign',\n      method: 'GET' as any,\n      methodFqn:\n        'wix.donations.v2.DonationCampaignService.GetDonationCampaignMetrics',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixDonationsV2DonationCampaignServiceUrl({\n        protoPath: '/v2/donation-campaigns/{donationCampaignId}/metrics',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n    };\n\n    return metadata;\n  }\n\n  return __getDonationCampaignMetrics;\n}\n\n/**\n * Updates tags on multiple donation campaigns by ID.\n *\n * Use this method to assign or remove tags from specific campaigns.\n * A tag that appears in both assign and unassign lists will be assigned.\n */\nexport function bulkUpdateDonationCampaignTags(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __bulkUpdateDonationCampaignTags({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.donations.v2.donation_campaign',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.donations.v2.DonationCampaignService.BulkUpdateDonationCampaignTags',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixDonationsV2DonationCampaignServiceUrl({\n        protoPath: '/v2/bulk/donation-campaigns/update-tags',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __bulkUpdateDonationCampaignTags;\n}\n\n/**\n * Updates tags on multiple donation campaigns using filter criteria.\n *\n * An empty filter updates all campaigns. The operation is asynchronous and returns a job ID for monitoring progress.\n *\n * Learn more about working with [async jobs](https://dev.wix.com/docs/rest/business-management/async-job/introduction).\n */\nexport function bulkUpdateDonationCampaignTagsByFilter(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __bulkUpdateDonationCampaignTagsByFilter({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.donations.v2.donation_campaign',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.donations.v2.DonationCampaignService.BulkUpdateDonationCampaignTagsByFilter',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixDonationsV2DonationCampaignServiceUrl({\n        protoPath: '/v2/bulk/donation-campaigns/update-tags-by-filter',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __bulkUpdateDonationCampaignTagsByFilter;\n}\n","import {\n  createDonationCampaign as publicCreateDonationCampaign,\n  getDonationCampaign as publicGetDonationCampaign,\n  updateDonationCampaign as publicUpdateDonationCampaign,\n  queryDonationCampaigns as publicQueryDonationCampaigns,\n  typedQueryDonationCampaigns as publicTypedQueryDonationCampaigns,\n  bulkCreateDonationCampaigns as publicBulkCreateDonationCampaigns,\n  bulkUpdateDonationCampaigns as publicBulkUpdateDonationCampaigns,\n  getDonationCampaignMetrics as publicGetDonationCampaignMetrics,\n  bulkUpdateDonationCampaignTags as publicBulkUpdateDonationCampaignTags,\n  bulkUpdateDonationCampaignTagsByFilter as publicBulkUpdateDonationCampaignTagsByFilter,\n} from './donations-v2-donation-campaign-donation-campaigns.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  DonationCampaignQuery,\n  DonationCampaignsQueryBuilder,\n  typedQueryDonationCampaigns as universalTypedQueryDonationCampaigns,\n} from './donations-v2-donation-campaign-donation-campaigns.universal.js';\nimport { onDonationCampaignCreated as publicOnDonationCampaignCreated } from './donations-v2-donation-campaign-donation-campaigns.public.js';\nimport { onDonationCampaignDeleted as publicOnDonationCampaignDeleted } from './donations-v2-donation-campaign-donation-campaigns.public.js';\nimport { onDonationCampaignStatusChanged as publicOnDonationCampaignStatusChanged } from './donations-v2-donation-campaign-donation-campaigns.public.js';\nimport { onDonationCampaignTagsModified as publicOnDonationCampaignTagsModified } from './donations-v2-donation-campaign-donation-campaigns.public.js';\nimport { onDonationCampaignUpdated as publicOnDonationCampaignUpdated } from './donations-v2-donation-campaign-donation-campaigns.public.js';\n\nfunction customQueryDonationCampaigns(httpClient: HttpClient) {\n  const router = /*#__PURE__*/ createQueryOverloadRouter({\n    builderQueryFunction: () => publicQueryDonationCampaigns(httpClient)(),\n    typedQueryFunction: (query: DonationCampaignQuery) =>\n      publicTypedQueryDonationCampaigns(httpClient)(query),\n    hasOptionsParameter: false,\n  });\n\n  function overloadedQuery(): DonationCampaignsQueryBuilder;\n  function overloadedQuery(\n    query: DonationCampaignQuery\n  ): ReturnType<typeof universalTypedQueryDonationCampaigns>;\n  function overloadedQuery(query?: DonationCampaignQuery): any {\n    return router(...arguments);\n  }\n\n  return overloadedQuery;\n}\n\nexport const createDonationCampaign: MaybeContext<\n  BuildRESTFunction<typeof publicCreateDonationCampaign> &\n    typeof publicCreateDonationCampaign\n> = /*#__PURE__*/ createRESTModule(publicCreateDonationCampaign);\nexport const getDonationCampaign: MaybeContext<\n  BuildRESTFunction<typeof publicGetDonationCampaign> &\n    typeof publicGetDonationCampaign\n> = /*#__PURE__*/ createRESTModule(publicGetDonationCampaign);\nexport const updateDonationCampaign: MaybeContext<\n  BuildRESTFunction<typeof publicUpdateDonationCampaign> &\n    typeof publicUpdateDonationCampaign\n> = /*#__PURE__*/ createRESTModule(publicUpdateDonationCampaign);\nexport const bulkCreateDonationCampaigns: MaybeContext<\n  BuildRESTFunction<typeof publicBulkCreateDonationCampaigns> &\n    typeof publicBulkCreateDonationCampaigns\n> = /*#__PURE__*/ createRESTModule(publicBulkCreateDonationCampaigns);\nexport const bulkUpdateDonationCampaigns: MaybeContext<\n  BuildRESTFunction<typeof publicBulkUpdateDonationCampaigns> &\n    typeof publicBulkUpdateDonationCampaigns\n> = /*#__PURE__*/ createRESTModule(publicBulkUpdateDonationCampaigns);\nexport const getDonationCampaignMetrics: MaybeContext<\n  BuildRESTFunction<typeof publicGetDonationCampaignMetrics> &\n    typeof publicGetDonationCampaignMetrics\n> = /*#__PURE__*/ createRESTModule(publicGetDonationCampaignMetrics);\nexport const bulkUpdateDonationCampaignTags: MaybeContext<\n  BuildRESTFunction<typeof publicBulkUpdateDonationCampaignTags> &\n    typeof publicBulkUpdateDonationCampaignTags\n> = /*#__PURE__*/ createRESTModule(publicBulkUpdateDonationCampaignTags);\nexport const bulkUpdateDonationCampaignTagsByFilter: MaybeContext<\n  BuildRESTFunction<typeof publicBulkUpdateDonationCampaignTagsByFilter> &\n    typeof publicBulkUpdateDonationCampaignTagsByFilter\n> = /*#__PURE__*/ createRESTModule(\n  publicBulkUpdateDonationCampaignTagsByFilter\n);\nexport const queryDonationCampaigns: MaybeContext<\n  BuildRESTFunction<typeof customQueryDonationCampaigns> &\n    typeof customQueryDonationCampaigns\n> = /*#__PURE__*/ createRESTModule(customQueryDonationCampaigns);\n/**\n * Triggered when a donation campaign is created.\n */\nexport const onDonationCampaignCreated: BuildEventDefinition<\n  typeof publicOnDonationCampaignCreated\n> &\n  typeof publicOnDonationCampaignCreated = /*#__PURE__*/ createEventModule(\n  publicOnDonationCampaignCreated\n);\n/**\n * Triggered when a donation campaign is deleted.\n */\nexport const onDonationCampaignDeleted: BuildEventDefinition<\n  typeof publicOnDonationCampaignDeleted\n> &\n  typeof publicOnDonationCampaignDeleted = /*#__PURE__*/ createEventModule(\n  publicOnDonationCampaignDeleted\n);\n/**\n * Triggered when a donation campaign's status changes.\n */\nexport const onDonationCampaignStatusChanged: BuildEventDefinition<\n  typeof publicOnDonationCampaignStatusChanged\n> &\n  typeof publicOnDonationCampaignStatusChanged =\n  /*#__PURE__*/ createEventModule(publicOnDonationCampaignStatusChanged);\n/**\n * Triggered when donation campaign tags are modified.\n */\nexport const onDonationCampaignTagsModified: BuildEventDefinition<\n  typeof publicOnDonationCampaignTagsModified\n> &\n  typeof publicOnDonationCampaignTagsModified = /*#__PURE__*/ createEventModule(\n  publicOnDonationCampaignTagsModified\n);\n/**\n * Triggered when a donation campaign is updated.\n */\nexport const onDonationCampaignUpdated: BuildEventDefinition<\n  typeof publicOnDonationCampaignUpdated\n> &\n  typeof publicOnDonationCampaignUpdated = /*#__PURE__*/ createEventModule(\n  publicOnDonationCampaignUpdated\n);\n\nexport {\n  Status,\n  Frequency,\n  SortOrder,\n  WebhookIdentityType,\n} from './donations-v2-donation-campaign-donation-campaigns.universal.js';\nexport {\n  DonationCampaign,\n  FocalPoint,\n  CustomAmountOptions,\n  MultiCurrencyPrice,\n  PredefinedAmount,\n  CampaignGoal,\n  ExtendedFields,\n  Tags,\n  TagList,\n  TagsModified,\n  StatusChanged,\n  CreateDonationCampaignRequest,\n  CreateDonationCampaignResponse,\n  GetDonationCampaignRequest,\n  GetDonationCampaignResponse,\n  UpdateDonationCampaignRequest,\n  UpdateDonationCampaignResponse,\n  QueryDonationCampaignsRequest,\n  CursorQuery,\n  CursorQueryPagingMethodOneOf,\n  Sorting,\n  CursorPaging,\n  QueryDonationCampaignsResponse,\n  CursorPagingMetadata,\n  Cursors,\n  BulkCreateDonationCampaignsRequest,\n  BulkCreateDonationCampaignsResponse,\n  ItemMetadata,\n  ApplicationError,\n  BulkDonationCampaignResult,\n  BulkActionMetadata,\n  BulkUpdateDonationCampaignsRequest,\n  MaskedDonationCampaign,\n  BulkUpdateDonationCampaignsResponse,\n  BulkUpdateDonationCampaignsResponseBulkDonationCampaignResult,\n  GetDonationCampaignMetricsRequest,\n  GetDonationCampaignMetricsResponse,\n  CurrencyMetrics,\n  DomainEvent,\n  DomainEventBodyOneOf,\n  EntityCreatedEvent,\n  RestoreInfo,\n  EntityUpdatedEvent,\n  EntityDeletedEvent,\n  ActionEvent,\n  Empty,\n  BulkUpdateDonationCampaignTagsRequest,\n  BulkUpdateDonationCampaignTagsResponse,\n  BulkUpdateDonationCampaignTagsResult,\n  BulkUpdateDonationCampaignTagsByFilterRequest,\n  BulkUpdateDonationCampaignTagsByFilterResponse,\n  MessageEnvelope,\n  IdentificationData,\n  IdentificationDataIdOneOf,\n  AccountInfo,\n  BaseEventMetadata,\n  EventMetadata,\n  AccountInfoMetadata,\n  DonationCampaignCreatedEnvelope,\n  DonationCampaignDeletedEnvelope,\n  DonationCampaignStatusChangedEnvelope,\n  DonationCampaignTagsModifiedEnvelope,\n  DonationCampaignUpdatedEnvelope,\n  UpdateDonationCampaign,\n  DonationCampaignsQueryResult,\n  DonationCampaignsQueryBuilder,\n  DonationCampaignQuerySpec,\n  BulkCreateDonationCampaignsOptions,\n  BulkUpdateDonationCampaignsOptions,\n  BulkUpdateDonationCampaignTagsOptions,\n  BulkUpdateDonationCampaignTagsByFilterOptions,\n} from './donations-v2-donation-campaign-donation-campaigns.universal.js';\nexport { utils } from './donations-v2-donation-campaign-donation-campaigns.universal.js';\nexport {\n  StatusWithLiterals,\n  FrequencyWithLiterals,\n  SortOrderWithLiterals,\n  WebhookIdentityTypeWithLiterals,\n  CreateDonationCampaignApplicationErrors,\n  CreateDonationCampaignValidationErrors,\n  GetDonationCampaignApplicationErrors,\n  UpdateDonationCampaignApplicationErrors,\n  UpdateDonationCampaignValidationErrors,\n  QueryDonationCampaignsApplicationErrors,\n  BulkCreateDonationCampaignsApplicationErrors,\n  BulkCreateDonationCampaignsValidationErrors,\n  BulkUpdateDonationCampaignsApplicationErrors,\n  BulkUpdateDonationCampaignsValidationErrors,\n  GetDonationCampaignMetricsApplicationErrors,\n  BulkUpdateDonationCampaignTagsApplicationErrors,\n  BulkUpdateDonationCampaignTagsByFilterApplicationErrors,\n  CommonQueryWithEntityContext,\n  DonationCampaignQuery,\n} from './donations-v2-donation-campaign-donation-campaigns.universal.js';\n"],"mappings":"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","names":["renameKeysFromRESTResponseToSDKResponse","transformRESTImageToSDKImage","transformRESTTimestampToSDKTimestamp","transformPaths","payload","transformPaths","TRANSFORM_PATHS_0","TRANSFORM_PATHS_1","TRANSFORM_PATHS_2","TRANSFORM_PATHS_3","Status","Frequency","SortOrder","WebhookIdentityType","createDonationCampaign","getDonationCampaign","updateDonationCampaign","queryDonationCampaigns","bulkCreateDonationCampaigns","bulkUpdateDonationCampaigns","getDonationCampaignMetrics","bulkUpdateDonationCampaignTags","bulkUpdateDonationCampaignTagsByFilter","TRANSFORM_PATHS_0","TRANSFORM_PATHS_1","TRANSFORM_PATHS_2","TRANSFORM_PATHS_3","TRANSFORM_PATHS_4","TRANSFORM_PATHS_5","createDonationCampaign","getDonationCampaign","updateDonationCampaign","queryDonationCampaigns","typedQueryDonationCampaigns","bulkCreateDonationCampaigns","bulkUpdateDonationCampaigns","getDonationCampaignMetrics","bulkUpdateDonationCampaignTags","bulkUpdateDonationCampaignTagsByFilter","renameKeysFromRESTResponseToSDKResponse","transformPaths","transformRESTTimestampToSDKTimestamp","TRANSFORM_PATHS_0","transformRESTImageToSDKImage","TRANSFORM_PATHS_1","TRANSFORM_PATHS_2","TRANSFORM_PATHS_3","TRANSFORM_PATHS_4","TRANSFORM_PATHS_5","queryDonationCampaigns","typedQueryDonationCampaigns","createDonationCampaign","getDonationCampaign","updateDonationCampaign","bulkCreateDonationCampaigns","bulkUpdateDonationCampaigns","getDonationCampaignMetrics","bulkUpdateDonationCampaignTags","bulkUpdateDonationCampaignTagsByFilter","onDonationCampaignCreated","onDonationCampaignDeleted","onDonationCampaignStatusChanged","onDonationCampaignTagsModified","onDonationCampaignUpdated"]}