{"version":3,"sources":["../../src/pricing-plans-v3-plan-plans-v-3.http.ts","../../src/pricing-plans-v3-plan-plans-v-3.types.ts","../../src/pricing-plans-v3-plan-plans-v-3.meta.ts"],"sourcesContent":["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: 'plan.createdDate' },\n  { path: 'plan.updatedDate' },\n  {\n    path: 'plan.pricingVariants.priceOverrides.overrides.conditions.validFromDate',\n  },\n  {\n    path: 'plan.pricingVariants.priceOverrides.overrides.conditions.validUntilDate',\n  },\n  {\n    path: 'plan.pricingVariants.feeOverrides.overrides.conditions.validFromDate',\n  },\n  {\n    path: 'plan.pricingVariants.feeOverrides.overrides.conditions.validUntilDate',\n  },\n  {\n    path: 'plan.startDateSettings.fixedDateOptions.startDates',\n    isRepeated: true,\n  },\n  { path: 'plan.startDateSettings.dateRangeOptions.startDate' },\n  { path: 'plan.startDateSettings.dateRangeOptions.endDate' },\n];\nconst TRANSFORM_PATHS_1 = [\n  { path: 'plans.createdDate' },\n  { path: 'plans.updatedDate' },\n  {\n    path: 'plans.pricingVariants.priceOverrides.overrides.conditions.validFromDate',\n  },\n  {\n    path: 'plans.pricingVariants.priceOverrides.overrides.conditions.validUntilDate',\n  },\n  {\n    path: 'plans.pricingVariants.feeOverrides.overrides.conditions.validFromDate',\n  },\n  {\n    path: 'plans.pricingVariants.feeOverrides.overrides.conditions.validUntilDate',\n  },\n  {\n    path: 'plans.startDateSettings.fixedDateOptions.startDates',\n    isRepeated: true,\n  },\n  { path: 'plans.startDateSettings.dateRangeOptions.startDate' },\n  { path: 'plans.startDateSettings.dateRangeOptions.endDate' },\n];\nconst TRANSFORM_PATHS_2 = [{ path: 'fieldMask' }];\nconst TRANSFORM_PATHS_3 = [{ path: 'plans.fieldMask' }];\nconst TRANSFORM_PATHS_4 = [\n  { path: 'plans.plan.createdDate' },\n  { path: 'plans.plan.updatedDate' },\n  {\n    path: 'plans.plan.pricingVariants.priceOverrides.overrides.conditions.validFromDate',\n  },\n  {\n    path: 'plans.plan.pricingVariants.priceOverrides.overrides.conditions.validUntilDate',\n  },\n  {\n    path: 'plans.plan.pricingVariants.feeOverrides.overrides.conditions.validFromDate',\n  },\n  {\n    path: 'plans.plan.pricingVariants.feeOverrides.overrides.conditions.validUntilDate',\n  },\n  {\n    path: 'plans.plan.startDateSettings.fixedDateOptions.startDates',\n    isRepeated: true,\n  },\n  { path: 'plans.plan.startDateSettings.dateRangeOptions.startDate' },\n  { path: 'plans.plan.startDateSettings.dateRangeOptions.endDate' },\n];\nconst TRANSFORM_PATHS_5 = [\n  { path: 'results.item.createdDate' },\n  { path: 'results.item.updatedDate' },\n  {\n    path: 'results.item.pricingVariants.priceOverrides.overrides.conditions.validFromDate',\n  },\n  {\n    path: 'results.item.pricingVariants.priceOverrides.overrides.conditions.validUntilDate',\n  },\n  {\n    path: 'results.item.pricingVariants.feeOverrides.overrides.conditions.validFromDate',\n  },\n  {\n    path: 'results.item.pricingVariants.feeOverrides.overrides.conditions.validUntilDate',\n  },\n  {\n    path: 'results.item.startDateSettings.fixedDateOptions.startDates',\n    isRepeated: true,\n  },\n  { path: 'results.item.startDateSettings.dateRangeOptions.startDate' },\n  { path: 'results.item.startDateSettings.dateRangeOptions.endDate' },\n];\nconst TRANSFORM_PATHS_6 = [\n  { path: 'search.aggregations.range.buckets.from' },\n  { path: 'search.aggregations.range.buckets.to' },\n  { path: 'search.aggregations.nested.nestedAggregations.range.buckets.from' },\n  { path: 'search.aggregations.nested.nestedAggregations.range.buckets.to' },\n];\nconst TRANSFORM_PATHS_7 = [\n  { path: 'aggregationData.results.ranges.results.from' },\n  { path: 'aggregationData.results.ranges.results.to' },\n  {\n    path: 'aggregationData.results.groupedByValue.results.nestedResults.ranges.results.from',\n  },\n  {\n    path: 'aggregationData.results.groupedByValue.results.nestedResults.ranges.results.to',\n  },\n  { path: 'aggregationData.results.nested.results.results.*.range.from' },\n  { path: 'aggregationData.results.nested.results.results.*.range.to' },\n  { path: 'aggregationData.results.scalar.value' },\n  {\n    path: 'aggregationData.results.groupedByValue.results.nestedResults.scalar.value',\n  },\n  { path: 'aggregationData.results.nested.results.results.*.scalar.value' },\n];\n\nfunction resolveWixPricingPlansPlansV3PlanServiceUrl(\n  opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n  const domainToMappings = {\n    'manage._base_domain_': [\n      {\n        srcPath: '/_api/pricing-plans/v3',\n        destPath: '/v3',\n      },\n    ],\n    'www.wixapis.com': [\n      {\n        srcPath: '/pricing-plans/v3',\n        destPath: '/v3',\n      },\n    ],\n    'www._base_domain_': [\n      {\n        srcPath: '/_api/pricing-plans/v3',\n        destPath: '/v3',\n      },\n    ],\n    '*.dev.wix-code.com': [\n      {\n        srcPath: '/_api/pricing-plans',\n        destPath: '/v3',\n      },\n      {\n        srcPath: '/_api/pricing-plans/v3',\n        destPath: '/v3',\n      },\n      {\n        srcPath: '/_api/pricing-plans/plans',\n        destPath: '/v3/plans',\n      },\n      {\n        srcPath: '/_api/pricing-plans/bulk',\n        destPath: '/v3/bulk',\n      },\n    ],\n    'editor._base_domain_': [\n      {\n        srcPath: '/_api/pricing-plans/v3',\n        destPath: '/v3',\n      },\n    ],\n    'blocks._base_domain_': [\n      {\n        srcPath: '/_api/pricing-plans/v3',\n        destPath: '/v3',\n      },\n    ],\n    'create.editorx': [\n      {\n        srcPath: '/_api/pricing-plans/v3',\n        destPath: '/v3',\n      },\n    ],\n    '*.wixapps.net': [\n      {\n        srcPath: '/_api/pricing-plans/v3',\n        destPath: '/v3',\n      },\n    ],\n    'editor.wixapps.net': [\n      {\n        srcPath: '/_api/pricing-plans/v3',\n        destPath: '/v3',\n      },\n    ],\n    _: [\n      {\n        srcPath: '/_api/pricing-plans/v3',\n        destPath: '/v3',\n      },\n    ],\n    'apps._base_domain_': [\n      {\n        srcPath: '/_api/pricing-plans/v3',\n        destPath: '/v3',\n      },\n    ],\n    'dev._base_domain_': [\n      {\n        srcPath: '/_api/pricing-plans/v3',\n        destPath: '/v3',\n      },\n    ],\n    'api._api_base_domain_': [\n      {\n        srcPath: '/pricing-plans',\n        destPath: '',\n      },\n    ],\n  };\n\n  return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nfunction resolveWixPricingPlansPlansV3PlanCatalogUrl(\n  opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n  const domainToMappings = {\n    'manage._base_domain_': [\n      {\n        srcPath: '/_api/plan-catalog',\n        destPath: '',\n      },\n    ],\n    _: [\n      {\n        srcPath: '/_api/plan-catalog',\n        destPath: '',\n      },\n    ],\n    'www.wixapis.com': [\n      {\n        srcPath:\n          '/pricing-plans/ecom-integration/v3/plan-configuration-constraints',\n        destPath: '/v3/plan-configuration-constraints',\n      },\n      {\n        srcPath: '/pricing-plans/ecom-integration/v3/plan-preview',\n        destPath: '/v3/plan-preview',\n      },\n    ],\n    '*.dev.wix-code.com': [\n      {\n        srcPath:\n          '/_api/pricing-plans/ecom-integration/v3/plan-configuration-constraints',\n        destPath: '/v3/plan-configuration-constraints',\n      },\n      {\n        srcPath: '/_api/pricing-plans/ecom-integration/v3/plan-preview',\n        destPath: '/v3/plan-preview',\n      },\n      {\n        srcPath: '/_api/plan-catalog',\n        destPath: '',\n      },\n    ],\n    'editor._base_domain_': [\n      {\n        srcPath: '/_api/plan-catalog',\n        destPath: '',\n      },\n    ],\n    'blocks._base_domain_': [\n      {\n        srcPath: '/_api/plan-catalog',\n        destPath: '',\n      },\n    ],\n    'create.editorx': [\n      {\n        srcPath: '/_api/plan-catalog',\n        destPath: '',\n      },\n    ],\n    'editor.wixapps.net': [\n      {\n        srcPath: '/_api/plan-catalog',\n        destPath: '',\n      },\n    ],\n    'apps._base_domain_': [\n      {\n        srcPath: '/_api/plan-catalog',\n        destPath: '',\n      },\n    ],\n    'dev._base_domain_': [\n      {\n        srcPath: '/_api/plan-catalog',\n        destPath: '',\n      },\n    ],\n  };\n\n  return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_pricing-plans_plans-v-3';\n\n/**\n * TODO: exposure must go back to PRIVATE. It's PUBLIC only so the storefront can call it directly\n * while the Pricing Plans frontend server isn't serving this call yet.\n */\nexport function getPlanConfigurationConstraints(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __getPlanConfigurationConstraints({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.pricing_plans.v3.plan',\n      method: 'GET' as any,\n      methodFqn:\n        'wix.pricing_plans.plans.v3.PlanCatalog.GetPlanConfigurationConstraints',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixPricingPlansPlansV3PlanCatalogUrl({\n        protoPath: '/v3/plan-configuration-constraints',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n    };\n\n    return metadata;\n  }\n\n  return __getPlanConfigurationConstraints;\n}\n\n/**\n * Retrieves a plan with the pricing that applies to a specific member.\n *\n * The returned plan is the stored plan with the member-specific price and fee overrides configured on\n * it applied to the selected pricing variant, so it shows what this member would actually be charged\n * rather than the plan's list price. A plan with no overrides is returned unchanged.\n *\n * Use this to render a plan on a storefront before the member adds it to the cart.\n */\nexport function getPlanPreview(payload: object): RequestOptionsFactory<any> {\n  function __getPlanPreview({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.pricing_plans.v3.plan',\n      method: 'GET' as any,\n      methodFqn: 'wix.pricing_plans.plans.v3.PlanCatalog.GetPlanPreview',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixPricingPlansPlansV3PlanCatalogUrl({\n        protoPath: '/v3/plan-preview',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: TRANSFORM_PATHS_0,\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __getPlanPreview;\n}\n\n/**\n * Retrieves several plans at once with the pricing that applies to a specific member.\n *\n * The batch form of Get Plan Preview. Use it to render a plan list or pricing table in a single call\n * rather than one call per plan.\n *\n * Pass a selector per plan. Leave `variantId` unset to apply overrides to every variant of that plan,\n * or set it to apply them to one. A plan is returned once even if several selectors reference it.\n */\nexport function listPlanPreviews(payload: object): RequestOptionsFactory<any> {\n  function __listPlanPreviews({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.pricing_plans.v3.plan',\n      method: 'POST' as any,\n      methodFqn: 'wix.pricing_plans.plans.v3.PlanCatalog.ListPlanPreviews',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixPricingPlansPlansV3PlanCatalogUrl({\n        protoPath: '/v3/plan-preview/previews',\n        data: payload,\n        host,\n      }),\n      data: payload,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: TRANSFORM_PATHS_1,\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __listPlanPreviews;\n}\n\n/**\n * Creates a plan with specified billing terms and a pricing strategy.\n *\n *\n * To create the most common types of plans:\n * - **One-time**: Specify a `billingCycle` that's the desired duration and set `endType` to `CYCLES_COMPLETED` and `cyclesCompletedDetails.billingCycleCount` to `1`.\n * - **Recurring**: Define the recurrence rule using the plan's `billingCycle` object.\n * - **Free plan**: Set the plan's `flatRate.amount` to `0` and `maxPurchasesPerBuyer` to `1`.\n */\nexport function createPlan(payload: object): RequestOptionsFactory<any> {\n  function __createPlan({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKTimestampToRESTTimestamp,\n        paths: TRANSFORM_PATHS_0,\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.pricing_plans.v3.plan',\n      method: 'POST' as any,\n      methodFqn: 'wix.pricing_plans.plans.v3.PlanService.CreatePlan',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixPricingPlansPlansV3PlanServiceUrl({\n        protoPath: '/v3/plans',\n        data: serializedData,\n        host,\n      }),\n      data: serializedData,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: TRANSFORM_PATHS_0,\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __createPlan;\n}\n\n/** Retrieves a plan by ID. */\nexport function getPlan(payload: object): RequestOptionsFactory<any> {\n  function __getPlan({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.pricing_plans.v3.plan',\n      method: 'GET' as any,\n      methodFqn: 'wix.pricing_plans.plans.v3.PlanService.GetPlan',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixPricingPlansPlansV3PlanServiceUrl({\n        protoPath: '/v3/plans/{planId}',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: TRANSFORM_PATHS_0,\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __getPlan;\n}\n\n/**\n * Updates a single plan.\n *\n * To update multiple plans at once, call Bulk Update Plans.\n */\nexport function updatePlan(payload: object): RequestOptionsFactory<any> {\n  function __updatePlan({ 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    const metadata = {\n      entityFqdn: 'wix.pricing_plans.v3.plan',\n      method: 'PATCH' as any,\n      methodFqn: 'wix.pricing_plans.plans.v3.PlanService.UpdatePlan',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixPricingPlansPlansV3PlanServiceUrl({\n        protoPath: '/v3/plans/{plan.id}',\n        data: serializedData,\n        host,\n      }),\n      data: serializedData,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: TRANSFORM_PATHS_0,\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __updatePlan;\n}\n\n/**\n * Updates multiple plans at once.\n *\n * You can't change plan names with this method.\n *\n * To update a single plan, call Update Plan.\n */\nexport function bulkUpdatePlans(payload: object): RequestOptionsFactory<any> {\n  function __bulkUpdatePlans({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKFieldMaskToRESTFieldMask,\n        paths: TRANSFORM_PATHS_3,\n      },\n      {\n        transformFn: transformSDKTimestampToRESTTimestamp,\n        paths: TRANSFORM_PATHS_4,\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.pricing_plans.v3.plan',\n      method: 'POST' as any,\n      methodFqn: 'wix.pricing_plans.plans.v3.PlanService.BulkUpdatePlans',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixPricingPlansPlansV3PlanServiceUrl({\n        protoPath: '/v3/bulk/plans/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    };\n\n    return metadata;\n  }\n\n  return __bulkUpdatePlans;\n}\n\n/**\n * Adds or removes tags on multiple plans.\n *\n * Specify which tags to assign and which tags to unassign. A tag that appears in both the list to\n * assign and the list to unassign is assigned. Tags that don't exist are ignored.\n */\nexport function bulkUpdatePlanTags(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __bulkUpdatePlanTags({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.pricing_plans.v3.plan',\n      method: 'POST' as any,\n      methodFqn: 'wix.pricing_plans.plans.v3.PlanService.BulkUpdatePlanTags',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixPricingPlansPlansV3PlanServiceUrl({\n        protoPath: '/v3/bulk/plans/update-tags',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __bulkUpdatePlanTags;\n}\n\n/**\n * Asynchronously updates tags on multiple plans that match the provided filter criteria.\n *\n * Specify which tags to assign and which tags to unassign. A tag that appears in both the list to\n * assign and the list to unassign is assigned. Tags that don't exist are ignored. An empty filter\n * updates all plans.\n *\n * To check the status of the bulk update, pass the returned `jobId` to\n * [Get Async Job](https://dev.wix.com/docs/api-reference/business-management/async-job/get-async-job).\n */\nexport function bulkUpdatePlanTagsByFilter(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __bulkUpdatePlanTagsByFilter({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.pricing_plans.v3.plan',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.pricing_plans.plans.v3.PlanService.BulkUpdatePlanTagsByFilter',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixPricingPlansPlansV3PlanServiceUrl({\n        protoPath: '/v3/bulk/plans/update-tags-by-filter',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __bulkUpdatePlanTagsByFilter;\n}\n\n/** Deletes a plan. */\nexport function deletePlan(payload: object): RequestOptionsFactory<any> {\n  function __deletePlan({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.pricing_plans.v3.plan',\n      method: 'DELETE' as any,\n      methodFqn: 'wix.pricing_plans.plans.v3.PlanService.DeletePlan',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixPricingPlansPlansV3PlanServiceUrl({\n        protoPath: '/v3/plans/{planId}',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n    };\n\n    return metadata;\n  }\n\n  return __deletePlan;\n}\n\n/**\n * Creates a query to retrieve a list of plans.\n *\n * The `queryPlans()` method builds a query to retrieve a list of plans and returns a [`PlansQueryBuilder`](https://dev.wix.com/docs/sdk/backend-modules/pricing-plans/plans-v3/plans-query-builder/ascending) object.\n *\n * The returned object contains the query definition, which is typically used to run the query using the [`find()`](https://dev.wix.com/docs/sdk/backend-modules/pricing-plans/plans-v3/plans-query-builder/find) method.\n *\n * You can refine the query by chaining `PlansQueryBuilder` methods onto the query. `PlansQueryBuilder` methods enable you to sort, filter, and control the results `queryPlans()` returns.\n *\n * `queryPlans()` runs with these `PlansQueryBuilder` defaults, which you can override:\n *\n * - [`limit(50)`](https://dev.wix.com/docs/sdk/backend-modules/pricing-plans/plans-v3/plans-query-builder/limit)\n */\nexport function queryPlans(payload: object): RequestOptionsFactory<any> {\n  function __queryPlans({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.pricing_plans.v3.plan',\n      method: 'GET' as any,\n      methodFqn: 'wix.pricing_plans.plans.v3.PlanService.QueryPlans',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixPricingPlansPlansV3PlanServiceUrl({\n        protoPath: '/v3/plans/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_1,\n          },\n        ]),\n      fallback: [\n        {\n          method: 'POST' as any,\n          url: resolveWixPricingPlansPlansV3PlanServiceUrl({\n            protoPath: '/v3/plans/query',\n            data: payload,\n            host,\n          }),\n          data: payload,\n        },\n      ],\n    };\n\n    return metadata;\n  }\n\n  return __queryPlans;\n}\n\n/**\n * Retrieves a list of plans that match the provided search query and optionally performs aggregations on the data queried.\n *\n * To learn about working with queries, see [Search, Query and List Methods](https://dev.wix.com/docs/rest/articles/get-started/search-query-and-list-methods).\n */\nexport function searchPlans(payload: object): RequestOptionsFactory<any> {\n  function __searchPlans({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKFloatToRESTFloat,\n        paths: TRANSFORM_PATHS_6,\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.pricing_plans.v3.plan',\n      method: 'GET' as any,\n      methodFqn: 'wix.pricing_plans.plans.v3.PlanService.SearchPlans',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixPricingPlansPlansV3PlanServiceUrl({\n        protoPath: '/v3/plans/search',\n        data: serializedData,\n        host,\n      }),\n      params: toURLSearchParams(serializedData, true),\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: TRANSFORM_PATHS_1,\n          },\n          {\n            transformFn: transformRESTFloatToSDKFloat,\n            paths: TRANSFORM_PATHS_7,\n          },\n        ]),\n      fallback: [\n        {\n          method: 'POST' as any,\n          url: resolveWixPricingPlansPlansV3PlanServiceUrl({\n            protoPath: '/v3/plans/search',\n            data: serializedData,\n            host,\n          }),\n          data: serializedData,\n        },\n      ],\n    };\n\n    return metadata;\n  }\n\n  return __searchPlans;\n}\n\n/**\n * Counts plans by the provided filter.\n *\n * To learn about working with queries, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n */\nexport function countPlans(payload: object): RequestOptionsFactory<any> {\n  function __countPlans({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.pricing_plans.v3.plan',\n      method: 'POST' as any,\n      methodFqn: 'wix.pricing_plans.plans.v3.PlanService.CountPlans',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixPricingPlansPlansV3PlanServiceUrl({\n        protoPath: '/v3/plans/count',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __countPlans;\n}\n","export interface Plan {\n  /**\n   * Plan ID.\n   * @format GUID\n   * @readonly\n   */\n  id?: string | null;\n  /**\n   * Revision number, which increments by 1 each time the plan is updated.\n   * @readonly\n   */\n  revision?: string | null;\n  /**\n   * Date and time the plan was created.\n   * @readonly\n   */\n  createdDate?: Date | null;\n  /**\n   * Date and time the plan was last updated.\n   * @readonly\n   */\n  updatedDate?: Date | null;\n  /**\n   * Plan name displayed to customers.\n   * @minLength 1\n   * @maxLength 50\n   */\n  name?: string;\n  /**\n   * Plan description that explains what customers get with this plan.\n   * @maxLength 450\n   */\n  description?: string | null;\n  /** Plan image displayed during checkout and on the site's **Plans & Pricing** page. */\n  image?: Image;\n  /**\n   * Unique identifier for this plan within the Wix site. If not provided, generated automatically from the plan name.\n   * @format URL_SLUG\n   * @maxLength 255\n   */\n  slug?: string | null;\n  /**\n   * Terms and conditions text that customers must agree to when purchasing this plan.\n   * @maxLength 3000\n   */\n  termsAndConditions?: string | null;\n  /**\n   * Deprecated. Use `purchase_limits` with `PER_MEMBER_LIFETIME` type instead.\n   * Maximum number of times the same customer can purchase this plan. Use `0` for unlimited purchases or `1` to limit to one purchase per customer.\n   * @max 10\n   * @deprecated Deprecated. Use `purchase_limits` with `PER_MEMBER_LIFETIME` type instead.\n   * Maximum number of times the same customer can purchase this plan. Use `0` for unlimited purchases or `1` to limit to one purchase per customer.\n   * @replacedBy purchase_limits\n   * @targetRemovalDate 2026-11-30\n   */\n  maxPurchasesPerBuyer?: number;\n  /**\n   * Pricing variants that define different billing and pricing options for this plan. Currently limited to 1 variant per plan.\n   * @minSize 1\n   * @maxSize 20\n   */\n  pricingVariants?: PricingVariant[];\n  /**\n   * List of text snippets describing what the plan offers. For display purposes only.\n   * @maxSize 500\n   */\n  perks?: Perk[];\n  /**\n   * Plan visibility. Determines whether the plan is returned to site visitors and site members.\n   *\n   * Default: `PUBLIC`\n   */\n  visibility?: VisibilityWithLiterals;\n  /**\n   * Deprecated. Whether the plan is marked as available for online purchase.\n   * This value isn't enforced. Setting it to `false` doesn't prevent customers from purchasing the plan.\n   * @deprecated Deprecated. Whether the plan is marked as available for online purchase.\n   * This value isn't enforced. Setting it to `false` doesn't prevent customers from purchasing the plan.\n   * @targetRemovalDate 2027-04-30\n   */\n  buyable?: boolean;\n  /**\n   * Current status of the plan.\n   * @internal\n   */\n  status?: StatusWithLiterals;\n  /**\n   * ID of the form associated with the plan at checkout.\n   * @format GUID\n   */\n  formId?: string | null;\n  /** Whether buyers can cancel their subscription to this plan. */\n  buyerCanCancel?: boolean;\n  /**\n   * Whether the plan is archived. Archived plans are not visible and can't be purchased anymore, but existing purchases remain in effect. Private to support backwards compatibility\n   * @internal\n   */\n  archived?: boolean;\n  /**\n   * Whether the plan is marked as primary. Private to support backwards compatibility\n   * @internal\n   */\n  primary?: boolean;\n  /**\n   * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n   * When the site currency changes, monetary amounts stored on the plan (prices, fees, and override amounts)\n   * are automatically rounded to the number of decimal places supported by the new currency.\n   * @readonly\n   * @format CURRENCY\n   */\n  currency?: string;\n  /**\n   * Plan edit UI form type\n   * @internal\n   * @maxLength 255\n   */\n  formType?: string | null;\n  /**\n   * Terms and conditions settings\n   * @internal\n   */\n  termsAndConditionsSettings?: TermsAndConditionsSettings;\n  /**\n   * Thank you page settings\n   * @internal\n   */\n  thankYouPageSettings?: ThankYouPageSettings;\n  /**\n   * A legacy index for sorting plans. Needed for backwards compatibility with Velo sites. Ignored on create.\n   * @internal\n   * @readonly\n   */\n  displayIndex?: number | null;\n  /**\n   * Caps how many subscriptions buyers can have or the site can sell for this plan.\n   * When multiple types are present, all must pass (AND logic).\n   * Duplicate types are rejected by the server.\n   * @maxSize 4\n   */\n  purchaseLimits?: PurchaseLimit[];\n  /** The settings of the benefit distribution for subscriptions to this plan */\n  benefitDistributionSettings?: BenefitDistributionSettings;\n  /**\n   * Settings that control when subscriptions to this plan start.\n   * Applied during purchase to calculate the subscription start date and validate customer-selected start dates.\n   * The settings apply only to pricing variants with a compatible `billing_terms.start_type`:\n   * `FIXED_DATE` and `DAY_OF_MONTH` apply to variants with the `ON_PURCHASE` start type,\n   * while `DATE_RANGE` applies to variants with the `CUSTOM` start type.\n   */\n  startDateSettings?: StartDateSettings;\n  /** Tags that can be assigned to this plan for classification and filtering. */\n  tags?: Tags;\n  /** Data extensions. Learn more about [extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions). */\n  extendedFields?: ExtendedFields;\n}\n\nexport interface Image {\n  /**\n   * WixMedia image ID.\n   * @maxLength 255\n   */\n  id?: string;\n  /**\n   * Original image height.\n   * @readonly\n   */\n  height?: number;\n  /**\n   * Original image width.\n   * @readonly\n   */\n  width?: number;\n  /**\n   * Image alt text.\n   * @maxLength 1000\n   */\n  altText?: string | null;\n}\n\nexport interface PricingVariant {\n  /**\n   * Pricing variant ID.\n   * @format GUID\n   */\n  id?: string;\n  /**\n   * Name for this pricing variant, such as \"Monthly\" or \"Yearly\".\n   * @minLength 1\n   * @maxLength 255\n   */\n  name?: string;\n  /**\n   * Number of days customers can use the plan for free before the first charge. Set to `0` for no free trial.\n   * @max 999\n   */\n  freeTrialDays?: number;\n  /**\n   * Additional fees applied to this pricing variant.\n   * @maxSize 5\n   */\n  fees?: Fee[];\n  /** Billing configuration that defines when and how often customers are charged. */\n  billingTerms?: BillingTerms;\n  /**\n   * Promotional message displayed with this pricing variant.\n   * @maxLength 255\n   */\n  promotion?: string | null;\n  /**\n   * Pricing strategies that determine how much customers pay. Currently limited to 1 strategy per variant.\n   * @minSize 1\n   * @maxSize 1\n   */\n  pricingStrategies?: PricingStrategy[];\n  /**\n   * Whether this pricing variant is visible to customers. Defaults to `true` when not set.\n   * At least one variant per plan must remain visible.\n   * Variant-level visibility is independent from plan-level visibility (`Plan.visibility`).\n   */\n  visible?: boolean | null;\n  /**\n   * IDs of the categories this variant belongs to. Categories group variants across plans\n   * (for example into a \"Monthly / Yearly\" selector) independently of billing cycle. Optional.\n   * @format GUID\n   * @maxSize 1\n   */\n  categoryIds?: string[];\n  /**\n   * Rules that override this pricing variant's price for purchases that meet their conditions.\n   * Applied during purchase. An override that matches the purchase always replaces the variant's original price,\n   * even when the resulting price is higher. If multiple overrides match the same purchase, the lowest resulting\n   * price among them wins - the original price doesn't participate in this comparison.\n   * The overridden price applies to every billing cycle of the resulting subscription, not only the first payment.\n   * Updates replace the entire list of overrides. To remove all overrides, set this field to `null` -\n   * an empty overrides list isn't accepted.\n   */\n  priceOverrides?: PriceOverrides;\n  /**\n   * Rules that override specific fees of this pricing variant for purchases that meet their conditions.\n   * Applied during purchase. If multiple overrides apply to the same fee, the lowest resulting fee amount wins, with a waived fee counting as `0`.\n   * Updates replace the entire list of overrides. To remove all overrides, set this field to `null` -\n   * an empty overrides list isn't accepted.\n   */\n  feeOverrides?: FeeOverrides;\n}\n\nexport interface FlatRate {\n  /**\n   * Fixed monetary amount.\n   * @decimalValue options { gte:0, maxScale:4 }\n   */\n  amount?: string;\n}\n\n/** At least one of custom_amount or predefined_amounts must be set. They can both be active simultaneously. */\nexport interface CustomerChosenPrice {\n  /** Option for customers to write the price they want themselves. */\n  customAmount?: CustomAmount;\n  /** Option for customers to choose the price they want from predefined values. */\n  predefinedAmounts?: PredefinedAmounts;\n}\n\nexport interface CustomAmount {\n  /**\n   * The min value a customer can enter.\n   * @decimalValue options { gt:0, maxScale:4 }\n   * @minLength 1\n   */\n  minAmount?: string;\n  /**\n   * The max value a customer can enter. Setting this value is optional.\n   * @decimalValue options { gt:0, maxScale:4 }\n   */\n  maxAmount?: string | null;\n}\n\nexport interface PredefinedAmounts {\n  /**\n   * The predefined monetary amount that is chosen by default. Must be one of the values in amounts. Cannot be empty.\n   * @decimalValue options { gt:0, maxScale:4 }\n   * @minLength 1\n   */\n  defaultAmount?: string;\n  /**\n   * The predefined monetary amount values that customers can choose from. Cannot be empty.\n   * @decimalValue options { gt:0, maxScale:4 }\n   * @minSize 1\n   * @maxSize 10\n   */\n  amounts?: string[];\n}\n\nexport interface Fee extends FeePriceOptionOneOf {\n  /** Fixed monetary amount for the fee. */\n  fixedAmountOptions?: FixedAmountOption;\n  /** @format GUID */\n  id?: string;\n  /** Pricing type used for this fee. */\n  priceType?: PriceTypeWithLiterals;\n  /**\n   * Fee name displayed to customers, such as \"Setup Fee\" or \"Processing Fee\".\n   * @minLength 1\n   * @maxLength 40\n   */\n  name?: string;\n  /** When this fee is charged during the customer's plan lifecycle. */\n  appliedAt?: AppliedAtWithLiterals;\n}\n\n/** @oneof */\nexport interface FeePriceOptionOneOf {\n  /** Fixed monetary amount for the fee. */\n  fixedAmountOptions?: FixedAmountOption;\n}\n\nexport enum PriceType {\n  /** Fee is charged as a fixed monetary amount. */\n  FIXED_AMOUNT = 'FIXED_AMOUNT',\n}\n\n/** @enumType */\nexport type PriceTypeWithLiterals = PriceType | 'FIXED_AMOUNT';\n\nexport interface FixedAmountOption {\n  /**\n   * Fixed monetary amount.\n   * @decimalValue options { gt:0, maxScale:4 }\n   */\n  amount?: string;\n}\n\nexport enum AppliedAt {\n  /** Fee is added to the first payment. */\n  FIRST_PAYMENT = 'FIRST_PAYMENT',\n}\n\n/** @enumType */\nexport type AppliedAtWithLiterals = AppliedAt | 'FIRST_PAYMENT';\n\nexport interface BillingTerms extends BillingTermsEndOptionOneOf {\n  /** How many billing cycles the plan lasts. */\n  cyclesCompletedDetails?: CyclesCompletedDetails;\n  /** Duration of each billing cycle, such as 1 month or 2 weeks. Can't be less than 7 days. Only applicable for recurring plans. */\n  billingCycle?: V3Duration;\n  /** When the billing starts. */\n  startType?: StartTypeWithLiterals;\n  /** How long the plan remains active. Plans can run until canceled or for a specific number of billing cycles. Plan duration can't exceed 10 years. */\n  endType?: EndTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface BillingTermsEndOptionOneOf {\n  /** How many billing cycles the plan lasts. */\n  cyclesCompletedDetails?: CyclesCompletedDetails;\n}\n\nexport interface V3Duration {\n  /** Duration of period. */\n  period?: PeriodWithLiterals;\n  /**\n   * Number of periods.\n   * @min 1\n   */\n  count?: string;\n}\n\nexport enum Period {\n  DAY = 'DAY',\n  WEEK = 'WEEK',\n  MONTH = 'MONTH',\n  YEAR = 'YEAR',\n}\n\n/** @enumType */\nexport type PeriodWithLiterals = Period | 'DAY' | 'WEEK' | 'MONTH' | 'YEAR';\n\nexport enum StartType {\n  /** Billing starts immediately after purchase. */\n  ON_PURCHASE = 'ON_PURCHASE',\n  /** Customer can choose when billing starts. */\n  CUSTOM = 'CUSTOM',\n}\n\n/** @enumType */\nexport type StartTypeWithLiterals = StartType | 'ON_PURCHASE' | 'CUSTOM';\n\nexport enum EndType {\n  /** Plan continues until customer cancels. */\n  UNTIL_CANCELLED = 'UNTIL_CANCELLED',\n  /** Plan ends after a specified number of billing cycles. */\n  CYCLES_COMPLETED = 'CYCLES_COMPLETED',\n}\n\n/** @enumType */\nexport type EndTypeWithLiterals =\n  | EndType\n  | 'UNTIL_CANCELLED'\n  | 'CYCLES_COMPLETED';\n\nexport interface CyclesCompletedDetails {\n  /**\n   * Number of billing cycles before the plan automatically ends. For example, if `billingCycle` is 3 months and `billingCycleCount` is 4, the customer will be charged 4 times over 12 months before the plan expires. Only applicable if `endType` is `CYCLES_COMPLETED`.\n   * @min 1\n   * @max 2000\n   */\n  billingCycleCount?: string;\n}\n\nexport interface PricingStrategy extends PricingStrategyStrategyOneOf {\n  /** Single fixed cost charged regardless of usage. */\n  flatRate?: FlatRate;\n  /**\n   * Varied cost charged based on how much customers want to spend.\n   * @internal\n   */\n  customerChosenPrice?: CustomerChosenPrice;\n}\n\n/** @oneof */\nexport interface PricingStrategyStrategyOneOf {\n  /** Single fixed cost charged regardless of usage. */\n  flatRate?: FlatRate;\n  /**\n   * Varied cost charged based on how much customers want to spend.\n   * @internal\n   */\n  customerChosenPrice?: CustomerChosenPrice;\n}\n\n/** Price override rules of a pricing variant. */\nexport interface PriceOverrides {\n  /**\n   * Price override rules.\n   * @minSize 1\n   * @maxSize 10\n   */\n  overrides?: PriceOverride[];\n}\n\n/**\n * Overrides the pricing variant's price for purchases that meet the specified conditions.\n * For example, a custom price for selected customers, a discount for returning customers, or a limited-time discount.\n */\nexport interface PriceOverride extends PriceOverrideOverrideOptionOneOf {\n  /** Options for the `FIXED_PRICE` override type. */\n  fixedPriceOptions?: FixedPriceOptions;\n  /** Options for the `PERCENTAGE_DISCOUNT` override type. */\n  percentageDiscountOptions?: PercentageDiscountOptions;\n  /**\n   * Price override ID. Must be unique within the pricing variant.\n   * @format GUID\n   */\n  id?: string;\n  /** Conditions a purchase must meet for this override to apply. */\n  conditions?: PurchaseConditions;\n  /** How the pricing variant's price is overridden. */\n  overrideType?: PriceOverrideOverrideTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface PriceOverrideOverrideOptionOneOf {\n  /** Options for the `FIXED_PRICE` override type. */\n  fixedPriceOptions?: FixedPriceOptions;\n  /** Options for the `PERCENTAGE_DISCOUNT` override type. */\n  percentageDiscountOptions?: PercentageDiscountOptions;\n}\n\n/** Conditions a purchase must meet for an override to apply. All specified conditions must be met. */\nexport interface PurchaseConditions\n  extends PurchaseConditionsCustomerEligibilityOptionOneOf {\n  /** Options for the `SPECIFIC_MEMBERS` customer eligibility. */\n  specificMembersOptions?: SpecificMembersOptions;\n  /** Which customers the override applies to. */\n  customerEligibility?: CustomerEligibilityWithLiterals;\n  /**\n   * Date and time from which the override applies. The purchase must happen on or after this exact instant.\n   * When `valid_until_date` is also set, must be earlier than `valid_until_date` - equal values are rejected.\n   */\n  validFromDate?: Date | null;\n  /** Date and time until which the override applies. The purchase must happen before this exact instant. */\n  validUntilDate?: Date | null;\n}\n\n/** @oneof */\nexport interface PurchaseConditionsCustomerEligibilityOptionOneOf {\n  /** Options for the `SPECIFIC_MEMBERS` customer eligibility. */\n  specificMembersOptions?: SpecificMembersOptions;\n}\n\nexport enum CustomerEligibility {\n  /** The override applies to all customers. */\n  ALL = 'ALL',\n  /**\n   * The override applies only to returning customers - members with at least 1 plan subscription on the site,\n   * counted across all plans by the member's contact. Pending, active, paused, ended, and canceled subscriptions\n   * count; draft subscriptions don't.\n   */\n  RETURNING = 'RETURNING',\n  /** The override applies only to the specified members. */\n  SPECIFIC_MEMBERS = 'SPECIFIC_MEMBERS',\n}\n\n/** @enumType */\nexport type CustomerEligibilityWithLiterals =\n  | CustomerEligibility\n  | 'ALL'\n  | 'RETURNING'\n  | 'SPECIFIC_MEMBERS';\n\nexport interface SpecificMembersOptions {\n  /**\n   * IDs of the members the override applies to. The logged-in buyer must be one of these members.\n   * @minSize 1\n   * @maxSize 50\n   * @format GUID\n   */\n  memberIds?: string[];\n}\n\nexport enum PriceOverrideOverrideType {\n  /** The pricing variant's price is replaced with a fixed price. */\n  FIXED_PRICE = 'FIXED_PRICE',\n  /** The pricing variant's price is reduced by a percentage. */\n  PERCENTAGE_DISCOUNT = 'PERCENTAGE_DISCOUNT',\n}\n\n/** @enumType */\nexport type PriceOverrideOverrideTypeWithLiterals =\n  | PriceOverrideOverrideType\n  | 'FIXED_PRICE'\n  | 'PERCENTAGE_DISCOUNT';\n\nexport interface FixedPriceOptions {\n  /**\n   * Price that replaces the pricing variant's original price. Can be higher than the original price.\n   * @decimalValue options { gte:0, maxScale:4 }\n   */\n  amount?: string;\n}\n\nexport interface PercentageDiscountOptions {\n  /**\n   * Percentage to deduct from the pricing variant's original price. For example, `12.5` for a 12.5% discount.\n   * The discounted price is rounded to the number of decimal places supported by the plan's currency.\n   * @decimalValue options { gt:0, lte:100, maxScale:2 }\n   */\n  percentage?: string;\n}\n\n/** Fee override rules of a pricing variant. */\nexport interface FeeOverrides {\n  /**\n   * Fee override rules.\n   * @minSize 1\n   * @maxSize 10\n   */\n  overrides?: FeeOverride[];\n}\n\n/**\n * Overrides a specific fee of the pricing variant for purchases that meet the specified conditions.\n * The override either replaces the fee's amount or removes the fee from the purchase entirely.\n * For example, a custom setup fee for selected customers.\n */\nexport interface FeeOverride extends FeeOverrideOverrideOptionOneOf {\n  /** Options for the `FIXED_AMOUNT` override type. */\n  fixedAmountOptions?: FixedAmountOptions;\n  /**\n   * Fee override ID. Must be unique within the pricing variant.\n   * @format GUID\n   */\n  id?: string;\n  /**\n   * ID of the fee on the same pricing variant that this override applies to.\n   * @format GUID\n   */\n  feeId?: string;\n  /** Conditions a purchase must meet for this override to apply. */\n  conditions?: PurchaseConditions;\n  /** How the fee is overridden. */\n  overrideType?: OverrideTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface FeeOverrideOverrideOptionOneOf {\n  /** Options for the `FIXED_AMOUNT` override type. */\n  fixedAmountOptions?: FixedAmountOptions;\n}\n\nexport enum OverrideType {\n  /** The fee's amount is replaced with a fixed amount. */\n  FIXED_AMOUNT = 'FIXED_AMOUNT',\n  /** The fee isn't applied to the purchase at all. */\n  WAIVED = 'WAIVED',\n}\n\n/** @enumType */\nexport type OverrideTypeWithLiterals = OverrideType | 'FIXED_AMOUNT' | 'WAIVED';\n\nexport interface FixedAmountOptions {\n  /**\n   * Amount that replaces the fee's original amount.\n   * Must be greater than `0`. To remove the fee from the purchase, use the `WAIVED` override type instead.\n   * @decimalValue options { gt:0, maxScale:4 }\n   */\n  amount?: string;\n}\n\nexport interface Perk {\n  /**\n   * Perk ID.\n   * @format GUID\n   */\n  id?: string;\n  /**\n   * Perk description.\n   * @minLength 1\n   * @maxLength 1400\n   */\n  description?: string;\n}\n\nexport enum Visibility {\n  /** Plan is returned to site visitors and site members. */\n  PUBLIC = 'PUBLIC',\n  /**\n   * Plan is returned only to Wix users and apps with the appropriate permissions. It isn't returned to site visitors and site members.\n   *\n   * Visibility doesn't affect whether the plan can be purchased.\n   */\n  PRIVATE = 'PRIVATE',\n}\n\n/** @enumType */\nexport type VisibilityWithLiterals = Visibility | 'PUBLIC' | 'PRIVATE';\n\nexport enum Status {\n  ACTIVE = 'ACTIVE',\n}\n\n/** @enumType */\nexport type StatusWithLiterals = Status | 'ACTIVE';\n\nexport interface TermsAndConditionsSettings {\n  /** Whether customers must accept terms and conditions before purchasing. */\n  acceptRequired?: boolean;\n  /** Whether the terms and conditions checkbox is checked by default. */\n  acceptedByDefault?: boolean;\n}\n\nexport interface ThankYouPageSettings {\n  /**\n   * Thank you page title\n   * @maxLength 100\n   */\n  title?: string;\n  /**\n   * Thank you page message\n   * @maxLength 100000\n   */\n  message?: string;\n  /**\n   * Thank you page button text\n   * @maxLength 40\n   */\n  buttonText?: string;\n  /**\n   * Thank you page button link\n   * @maxLength 200\n   */\n  buttonLink?: string | null;\n}\n\nexport interface PurchaseLimit {\n  /** The type of purchase limit. */\n  type?: PurchaseLimitTypeWithLiterals;\n  /**\n   * The maximum number of subscriptions allowed.\n   * @min 1\n   * @max 10000\n   */\n  maxCount?: number;\n}\n\n/** Supported purchase limit types. Each type caps subscriptions along a different dimension. */\nexport enum PurchaseLimitType {\n  /** Limits the total number of subscriptions (any status) a single member can have over their lifetime. */\n  PER_MEMBER_LIFETIME = 'PER_MEMBER_LIFETIME',\n  /** Limits the number of ongoing (ACTIVE, PENDING, PAUSED) subscriptions a single member can have at any time. */\n  PER_MEMBER_ACTIVE = 'PER_MEMBER_ACTIVE',\n  /** Limits the total number of ongoing (ACTIVE, PENDING, PAUSED) subscriptions across all members at any time. */\n  TOTAL_ACTIVE = 'TOTAL_ACTIVE',\n  /** Limits the total number of subscriptions ever created (any status) across all members. */\n  TOTAL_SOLD = 'TOTAL_SOLD',\n}\n\n/** @enumType */\nexport type PurchaseLimitTypeWithLiterals =\n  | PurchaseLimitType\n  | 'PER_MEMBER_LIFETIME'\n  | 'PER_MEMBER_ACTIVE'\n  | 'TOTAL_ACTIVE'\n  | 'TOTAL_SOLD';\n\nexport interface BenefitDistributionSettings\n  extends BenefitDistributionSettingsDistributionStrategyOneOf {\n  /** Custom schedule */\n  customScheduleOptions?: CustomScheduleOptions;\n  /** The distribution strategy of the benefits for this subscription, which is used to determine how the benefits are distributed in each cycle. */\n  distributionStrategyType?: DistributionStrategyTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface BenefitDistributionSettingsDistributionStrategyOneOf {\n  /** Custom schedule */\n  customScheduleOptions?: CustomScheduleOptions;\n}\n\nexport enum DurationUnit {\n  UNKNOWN = 'UNKNOWN',\n  DAY = 'DAY',\n  WEEK = 'WEEK',\n  MONTH = 'MONTH',\n  YEAR = 'YEAR',\n}\n\n/** @enumType */\nexport type DurationUnitWithLiterals =\n  | DurationUnit\n  | 'UNKNOWN'\n  | 'DAY'\n  | 'WEEK'\n  | 'MONTH'\n  | 'YEAR';\n\nexport interface Duration {\n  /** Duration unit: DAY, WEEK, MONTH, YEAR */\n  unit?: DurationUnitWithLiterals;\n  /**\n   * Amount of units. For example,  1 MONTH, 1 YEAR, 2 WEEKS, etc. Optional. Default is 1.\n   * @min 1\n   */\n  count?: number | null;\n}\n\nexport enum DistributionStrategyType {\n  UNKNOWN_DISTRIBUTION_STRATEGY_TYPE = 'UNKNOWN_DISTRIBUTION_STRATEGY_TYPE',\n  PER_BILLING_CYCLE = 'PER_BILLING_CYCLE',\n  CUSTOM_SCHEDULE = 'CUSTOM_SCHEDULE',\n}\n\n/** @enumType */\nexport type DistributionStrategyTypeWithLiterals =\n  | DistributionStrategyType\n  | 'UNKNOWN_DISTRIBUTION_STRATEGY_TYPE'\n  | 'PER_BILLING_CYCLE'\n  | 'CUSTOM_SCHEDULE';\n\nexport interface CustomScheduleOptions {\n  /** Cycle duration */\n  cycleDuration?: Duration;\n}\n\n/**\n * Settings that control when subscriptions to a plan start.\n * Complements `BillingTerms.start_type`, which determines who chooses the start date:\n * the system (`ON_PURCHASE`) or the customer (`CUSTOM`). These settings define how the system\n * calculates the start date (`FIXED_DATE`, `DAY_OF_MONTH`) or which dates the customer can select (`DATE_RANGE`).\n */\nexport interface StartDateSettings\n  extends StartDateSettingsStartDateOptionOneOf {\n  /** Subscription starts on the earliest of the configured fixed dates that hasn't passed. */\n  fixedDateOptions?: FixedDateOptions;\n  /** Subscription starts on a specific day of each month. */\n  dayOfMonthOptions?: DayOfMonthOptions;\n  /** Customer selects a start date within a date range. */\n  dateRangeOptions?: DateRangeOptions;\n  /** How the subscription start date is determined. */\n  type?: StartDateTypeWithLiterals;\n  /**\n   * Message displayed to customers when no start date is available. For example, when every fixed start date or the end of the date range has passed.\n   * Applicable only when `type` is `FIXED_DATE`, or `DATE_RANGE` with `date_range_options.end_date` set -\n   * in other configurations a start date is always available and the message is ignored.\n   * @minLength 1\n   * @maxLength 512\n   */\n  startDateUnavailableMessage?: string | null;\n}\n\n/** @oneof */\nexport interface StartDateSettingsStartDateOptionOneOf {\n  /** Subscription starts on the earliest of the configured fixed dates that hasn't passed. */\n  fixedDateOptions?: FixedDateOptions;\n  /** Subscription starts on a specific day of each month. */\n  dayOfMonthOptions?: DayOfMonthOptions;\n  /** Customer selects a start date within a date range. */\n  dateRangeOptions?: DateRangeOptions;\n}\n\nexport enum StartDateType {\n  /**\n   * Subscription starts on the earliest of the configured fixed dates that hasn't passed.\n   * Applies only to pricing variants with the `ON_PURCHASE` start type.\n   */\n  FIXED_DATE = 'FIXED_DATE',\n  /**\n   * Subscription starts on a specific day of each month.\n   * Applies only to pricing variants with the `ON_PURCHASE` start type.\n   */\n  DAY_OF_MONTH = 'DAY_OF_MONTH',\n  /**\n   * Customer selects a start date within a date range.\n   * Applies only to pricing variants with the `CUSTOM` start type.\n   */\n  DATE_RANGE = 'DATE_RANGE',\n}\n\n/** @enumType */\nexport type StartDateTypeWithLiterals =\n  | StartDateType\n  | 'FIXED_DATE'\n  | 'DAY_OF_MONTH'\n  | 'DATE_RANGE';\n\nexport interface FixedDateOptions {\n  /**\n   * Dates on which a subscription can start. A purchase starts the subscription on the earliest\n   * listed date that hasn't passed in the site's time zone. A purchase made on one of the dates\n   * starts the subscription immediately. When every date has passed the plan can't be purchased\n   * and `start_date_unavailable_message` is displayed. Only the calendar date in the site's time\n   * zone is used, the time of day is ignored. Order doesn't matter. Dates must be unique.\n   * @maxSize 5\n   */\n  startDates?: Date[] | null;\n}\n\nexport interface DayOfMonthOptions {\n  /**\n   * Day of the month the subscription starts. For months with fewer days, the subscription starts on the last day of the month.\n   * If the purchase happens on the configured day, the subscription starts on that same day.\n   * Only determines the subscription start date - subsequent billing cycles follow the\n   * pricing variant's `billing_terms.billing_cycle` from that start date.\n   * @min 1\n   * @max 31\n   */\n  dayOfMonth?: number;\n}\n\nexport interface DateRangeOptions {\n  /**\n   * Date and time from which the customer can select the subscription start date.\n   * The selected start date must be on or after this exact instant.\n   */\n  startDate?: Date | null;\n  /**\n   * Date and time until which the customer can select the subscription start date. If not set, the range is open-ended.\n   * The selected start date must be before this exact instant.\n   * Must be later than `start_date`.\n   */\n  endDate?: Date | null;\n}\n\n/**\n * Common object for tags.\n * Should be used as in this example:\n * message Foo {\n * string id = 1;\n * ...\n * Tags tags = 5\n * }\n *\n * example of taggable entity\n * {\n * id: \"123\"\n * tags: {\n * 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, normally not given to site members or visitors. */\n  privateTags?: TagList;\n  /** Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors. */\n  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 ExtendedFields {\n  /**\n   * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n   * The value of each key is structured according to the schema defined when the extended fields were configured.\n   *\n   * You can only access fields for which you have the appropriate permissions.\n   *\n   * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n   */\n  namespaces?: Record<string, Record<string, any>>;\n}\n\nexport interface PlanTranslated {\n  /** The translated plan. */\n  plan?: Plan;\n  /**\n   * The language code of the translation.\n   * @maxLength 20\n   * @format LANGUAGE_TAG\n   */\n  language?: string;\n}\n\nexport interface PlanTranslationDeleted {\n  /**\n   * The ID of the plan.\n   * @format GUID\n   */\n  planId?: string;\n  /**\n   * The language code of the translation.\n   * @maxLength 20\n   * @format LANGUAGE_TAG\n   */\n  language?: string;\n}\n\nexport interface PlanTagsModified {\n  /** The plan whose tags were modified. */\n  plan?: Plan;\n  /** Tags assigned to the plan. */\n  assignedTags?: Tags;\n  /** Tags unassigned from the plan. */\n  unassignedTags?: Tags;\n}\n\nexport interface ValidateOptionsRequest {\n  /**\n   * The plan id, which corresponds to catalogItemId in catalog item reference\n   * @format GUID\n   */\n  planId?: string;\n  /** The specific options selected for this plan */\n  options?: Options;\n  /**\n   * The id of the member buying the plan\n   * @format GUID\n   */\n  memberId?: string;\n}\n\n/**\n * The choices a buyer makes about a plan, carried in the `options` field of an eCommerce line item's\n * `catalogReference`.\n *\n * `catalogReference.appId` must be the Wix Pricing Plans app ID `1522827f-c56c-a5c9-2ac9-00f9e6ae12d3`\n * and `catalogReference.catalogItemId` must be the plan ID. Wix Pricing Plans reads this object to price\n * and validate the line item.\n */\nexport interface Options extends OptionsOptionsOneOf {\n  /** Options for buying a plan. Applies when `type` is `PLAN`. */\n  planOptions?: PlanOptions;\n  /**\n   * Options for a top-up. Applies when `type` is `TOP_UP`.\n   * @internal\n   */\n  topUpOptions?: TopUpOptions;\n  /** What the buyer is purchasing. Determines which options object below applies. */\n  type?: TypeWithLiterals;\n}\n\n/** @oneof */\nexport interface OptionsOptionsOneOf {\n  /** Options for buying a plan. Applies when `type` is `PLAN`. */\n  planOptions?: PlanOptions;\n  /**\n   * Options for a top-up. Applies when `type` is `TOP_UP`.\n   * @internal\n   */\n  topUpOptions?: TopUpOptions;\n}\n\nexport enum Type {\n  /** Buying a plan. Set `planOptions`. */\n  PLAN = 'PLAN',\n  /** @internal */\n  TOP_UP = 'TOP_UP',\n}\n\n/** @enumType */\nexport type TypeWithLiterals = Type | 'PLAN';\n\nexport interface PlanOptions extends PlanOptionsPricingStrategyOptionsOneOf {\n  /**\n   * Customer input for the customer chosen price strategy.\n   * @internal\n   */\n  customerChosenPriceOptions?: CustomerChosenPriceOptions;\n  /**\n   * ID of the pricing variant the buyer selected, from the plan's `pricingVariants`.\n   *\n   * Required. This is how you choose between a plan's billing options, for example monthly versus yearly.\n   * A catalog reference whose variant ID isn't on the plan fails to add to the cart with ITEM_NOT_FOUND_IN_CATALOG.\n   * @format GUID\n   */\n  pricingVariantId?: string;\n  /**\n   * Date the subscription should start.\n   *\n   * Set this only when the selected pricing variant's `billingTerms.startType` is `CUSTOM`, which means the\n   * plan lets the buyer choose when billing begins. The merchant can restrict that choice to a date range,\n   * and a date outside it is rejected at checkout with a `start-date-not-in-permitted-range` violation.\n   *\n   * When `startType` is `ON_PURCHASE`, Wix works the start date out from the plan's own settings. If those\n   * don't produce one, a value set here is used as a fallback.\n   */\n  startDate?: Date | null;\n  /**\n   * ID of the Wix Forms submission the buyer filled in alongside the purchase, if the plan collects one.\n   * @format GUID\n   */\n  submissionId?: string | null;\n  /**\n   * Whether the buyer must be logged in as a site member to complete the purchase.\n   *\n   * Passing `true` forces login. Passing `false` doesn't guarantee guest checkout: when the site has\n   * guest checkout disabled, Wix Pricing Plans raises this to `true` anyway.\n   * @internal\n   */\n  membersOnly?: boolean;\n  /**\n   * Which address tax is calculated from.\n   *\n   * Leave unset to use the site's Pricing Plans tax settings. A value set here overrides those settings\n   * for this line item.\n   * @internal\n   */\n  taxableAddress?: TaxableAddressWithLiterals;\n  /**\n   * Which set of validation rules to run against the purchase.\n   *\n   * Leave unset for an online purchase: only then does the full rule set run. Both named values select a\n   * reduced rule set used by the Wix dashboard and preview flows.\n   * @internal\n   */\n  validationStrategy?: ValidationStrategyWithLiterals;\n  /**\n   * How the plan is being bought.\n   *\n   * Leave this unset for a storefront purchase the buyer makes themselves. An unset value behaves as\n   * `ONLINE`. Set `MANUAL` for an order the site owner records on the buyer's behalf. See `MANUAL`.\n   */\n  purchaseFlow?: PurchaseFlowWithLiterals;\n  /**\n   * Distinguishes otherwise identical catalog references. Delete once eCom stops merging them. See PPNP-4463.\n   * @internal\n   * @format GUID\n   */\n  discriminator?: string | null;\n  /**\n   * Pricing strategy of the selected pricing variant.\n   * @internal\n   */\n  pricingStrategyType?: PricingStrategyTypeWithLiterals;\n  /**\n   * Short lived token, minted by internal Wix Pricing Plans flows, that authorizes the options\n   * on this line item that are otherwise gated behind a permission.\n   * @internal\n   * @maxLength 200\n   */\n  authorizationToken?: string | null;\n  /**\n   * How the plan's free trial applies to this purchase.\n   *\n   * Leave unset to apply the free trial when the buyer is eligible for it.\n   * @internal\n   */\n  freeTrialPolicy?: FreeTrialPolicyWithLiterals;\n}\n\n/** @oneof */\nexport interface PlanOptionsPricingStrategyOptionsOneOf {\n  /**\n   * Customer input for the customer chosen price strategy.\n   * @internal\n   */\n  customerChosenPriceOptions?: CustomerChosenPriceOptions;\n}\n\nexport enum TaxableAddress {\n  /** Tax is calculated from the buyer's billing address. */\n  BILLING = 'BILLING',\n  /** Tax is calculated from the site's business address. */\n  BUSINESS = 'BUSINESS',\n}\n\n/** @enumType */\nexport type TaxableAddressWithLiterals =\n  | TaxableAddress\n  | 'BILLING'\n  | 'BUSINESS';\n\nexport enum ValidationStrategy {\n  /**\n   * Reduced rule set for a purchase made on a buyer's behalf: checks only that the plan is\n   * active and that the free trial still applies. Requires additional permission for managing purchases on\n   * behalf of members.\n   */\n  ON_BEHALF = 'ON_BEHALF',\n  /** Reduced rule set for previewing a purchase: checks only purchase limits and free trial applicability. */\n  PREVIEW = 'PREVIEW',\n}\n\n/** @enumType */\nexport type ValidationStrategyWithLiterals =\n  | ValidationStrategy\n  | 'ON_BEHALF'\n  | 'PREVIEW';\n\nexport enum PurchaseFlow {\n  /**\n   * A purchase the site owner records on the buyer's behalf, rather than one the buyer makes themselves.\n   * `start_date` is used as passed, without the plan's start date rules.\n   *\n   * Requires the Pricing Plans Manage Orders scope (`SCOPE.DC-PAIDPLANS.MANAGE-ORDERS`). Without it, the\n   * purchase is treated as `ONLINE`.\n   */\n  MANUAL = 'MANUAL',\n  /** A purchase the buyer makes themselves on the site. Use this for a storefront purchase. */\n  ONLINE = 'ONLINE',\n}\n\n/** @enumType */\nexport type PurchaseFlowWithLiterals = PurchaseFlow | 'MANUAL' | 'ONLINE';\n\nexport enum PricingStrategyType {\n  /** this is the default and should behave identically to flat rate for backwards compatibility */\n  UNKNOWN_PRICING_STRATEGY_TYPE = 'UNKNOWN_PRICING_STRATEGY_TYPE',\n  FLAT_RATE = 'FLAT_RATE',\n  CUSTOMER_CHOSEN_PRICE = 'CUSTOMER_CHOSEN_PRICE',\n}\n\n/** @enumType */\nexport type PricingStrategyTypeWithLiterals =\n  | PricingStrategyType\n  | 'UNKNOWN_PRICING_STRATEGY_TYPE'\n  | 'FLAT_RATE'\n  | 'CUSTOMER_CHOSEN_PRICE';\n\nexport interface CustomerChosenPriceOptions {\n  /**\n   * Amount the customer chose to pay.\n   * @decimalValue options { gt:0, maxScale:4 }\n   * @minLength 1\n   */\n  amount?: string;\n}\n\nexport enum FreeTrialPolicy {\n  /**\n   * Sell the plan without its free trial, even when the buyer is eligible for it. Requires additional\n   * permission for managing purchases on behalf of members.\n   */\n  SKIP_FREE_TRIAL = 'SKIP_FREE_TRIAL',\n}\n\n/** @enumType */\nexport type FreeTrialPolicyWithLiterals = FreeTrialPolicy | 'SKIP_FREE_TRIAL';\n\nexport interface TopUpOptions {\n  /**\n   * ID of the plan subscription that receives the credits.\n   * @format GUID\n   */\n  planSubscriptionId?: string | null;\n}\n\nexport interface ValidateOptionsResponse {\n  /** Description of value */\n  violations?: Violation[];\n}\n\n/** A reason a plan can't be bought with the given options. */\nexport interface Violation {\n  /**\n   * Machine-readable reason the purchase is blocked. One of:\n   *\n   * Plan availability:\n   * - `plan-not-active`: the plan is archived.\n   * - `pricing-variant-not-found`: `pricingVariantId` isn't one of the plan's variants.\n   * - `purchase-method-not-allowed`: the site can't sell plans through this flow.\n   * - `buyer-email-not-supported`: the buyer's email address can't be used for a plan purchase.\n   *\n   * Form submission:\n   * - `submission-form-mismatch`: `submissionId` doesn't point to a submission of the plan's form.\n   *\n   * Purchase limits:\n   * - `max-purchases-exceeded`: the buyer may buy this plan only once and already has.\n   * - `per-member-lifetime-limit-exceeded`: the buyer reached the plan's lifetime purchase limit.\n   * - `per-member-active-limit-exceeded`: the buyer reached the plan's limit on simultaneously active subscriptions.\n   * - `total-active-limit-exceeded`: the plan reached its site-wide limit on active subscriptions.\n   * - `total-sold-limit-exceeded`: the plan is sold out.\n   *\n   * Start date:\n   * - `start-date-in-past`: the requested start date has already passed.\n   * - `start-date-not-applicable`: the plan doesn't accept a start date.\n   * - `start-date-not-in-permitted-range`: the requested start date falls outside the plan's permitted range.\n   * - `start-date-rules-not-applicable`: the requested start date doesn't match the plan's start date rules.\n   * - `start-date-availability-changed`: the requested start date is no longer available and has moved.\n   *\n   * Free trial:\n   * - `free-trial-not-applicable`: the buyer already used this plan's free trial, so they're billed from the start.\n   * @minLength 1\n   * @maxLength 50\n   */\n  code?: string;\n  /**\n   * Message describing the violation, translated into the site visitor's language and safe to show to the buyer.\n   * @minLength 1\n   * @maxLength 255\n   */\n  message?: string;\n}\n\nexport interface GetPlanConfigurationConstraintsRequest {\n  /**\n   * The plan id, which corresponds to catalogItemId in catalog item reference\n   * @format GUID\n   */\n  planId: string;\n  /**\n   * Deprecated. Constraints are resolved at plan level, pricing variant is ignored.\n   * @deprecated Deprecated. Constraints are resolved at plan level, pricing variant is ignored.\n   * @targetRemovalDate 2026-11-30\n   */\n  pricingVariantId?: string;\n  /**\n   * The id of the member the constraints are resolved for.\n   * Member is resolved from the calling identity if not provided.\n   * @format GUID\n   */\n  memberId?: string | null;\n}\n\nexport interface GetPlanConfigurationConstraintsResponse {\n  /** Start date limits. */\n  startDateLimits?: StartDateLimits;\n  /** Start date rules. */\n  startDateRules?: StartDateRules;\n}\n\nexport interface StartDateLimits {\n  /**\n   * Earliest date the customer can select as the start date\n   * @format LOCAL_DATE\n   */\n  earliestDate?: string | null;\n  /**\n   * Latest date the customer can select as the start date\n   * @format LOCAL_DATE\n   */\n  latestDate?: string | null;\n  /**\n   * Error message to display if the purchase date is greater than date_to\n   * @minLength 1\n   * @maxLength 255\n   */\n  errorMessage?: string | null;\n}\n\nexport interface StartDateRules extends StartDateRulesDateRulesOneOf {\n  /** Plan start date is limited to specific fixed dates */\n  fixedDatesOptions?: FixedDatesOptions;\n  /** Plan start date is limited to specific dates that repeat */\n  recurrenceOptions?: RecurrenceOptions;\n  /** Rules type */\n  type?: RulesTypeWithLiterals;\n  /**\n   * Error message to show the user if the rules are not applicable based on purchase date\n   * @minLength 1\n   * @maxLength 255\n   */\n  errorMessage?: string | null;\n}\n\n/** @oneof */\nexport interface StartDateRulesDateRulesOneOf {\n  /** Plan start date is limited to specific fixed dates */\n  fixedDatesOptions?: FixedDatesOptions;\n  /** Plan start date is limited to specific dates that repeat */\n  recurrenceOptions?: RecurrenceOptions;\n}\n\nexport enum RulesType {\n  AVAILABLE_IMMEDIATELY = 'AVAILABLE_IMMEDIATELY',\n  FIXED_DATES = 'FIXED_DATES',\n  RECURRENCE = 'RECURRENCE',\n}\n\n/** @enumType */\nexport type RulesTypeWithLiterals =\n  | RulesType\n  | 'AVAILABLE_IMMEDIATELY'\n  | 'FIXED_DATES'\n  | 'RECURRENCE';\n\nexport interface FixedDatesOptions {\n  /**\n   * Dates when the plan can start\n   * @format LOCAL_DATE\n   * @minSize 1\n   * @maxSize 1000\n   */\n  dates?: string[];\n}\n\nexport interface RecurrenceOptions extends RecurrenceOptionsRecurrenceOneOf {\n  /** Weekly recurrence */\n  weeklyOptions?: WeeklyRecurrence;\n  /** Monthly recurrence */\n  monthlyOptions?: MonthlyRecurrence;\n  /**\n   * Start date of the recurrence pattern. Required.\n   * @format LOCAL_DATE\n   */\n  startDate?: string;\n  /**\n   * End date of the recurrence pattern. If not provided, it is infinite.\n   * @format LOCAL_DATE\n   */\n  endDate?: string | null;\n  /**\n   * How often to repeat (every X weeks/months)\n   * @min 1\n   * @max 100\n   */\n  interval?: number;\n  /** Recurrence pattern */\n  recurrenceType?: RecurrenceTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface RecurrenceOptionsRecurrenceOneOf {\n  /** Weekly recurrence */\n  weeklyOptions?: WeeklyRecurrence;\n  /** Monthly recurrence */\n  monthlyOptions?: MonthlyRecurrence;\n}\n\nexport enum RecurrenceType {\n  WEEKLY = 'WEEKLY',\n  MONTHLY = 'MONTHLY',\n}\n\n/** @enumType */\nexport type RecurrenceTypeWithLiterals = RecurrenceType | 'WEEKLY' | 'MONTHLY';\n\nexport interface WeeklyRecurrence {\n  /** Day of the week */\n  weekday?: V1DayOfWeekWithLiterals;\n}\n\nexport enum V1DayOfWeek {\n  SUNDAY = 'SUNDAY',\n  MONDAY = 'MONDAY',\n  TUESDAY = 'TUESDAY',\n  WEDNESDAY = 'WEDNESDAY',\n  THURSDAY = 'THURSDAY',\n  FRIDAY = 'FRIDAY',\n  SATURDAY = 'SATURDAY',\n}\n\n/** @enumType */\nexport type V1DayOfWeekWithLiterals =\n  | V1DayOfWeek\n  | 'SUNDAY'\n  | 'MONDAY'\n  | 'TUESDAY'\n  | 'WEDNESDAY'\n  | 'THURSDAY'\n  | 'FRIDAY'\n  | 'SATURDAY';\n\nexport interface MonthlyRecurrence {\n  /**\n   * Day of the month\n   * @min 1\n   * @max 31\n   */\n  dayOfMonth?: number;\n}\n\nexport interface ListPlanConfigurationConstraintsRequest {\n  /**\n   * Plan IDs to retrieve configuration constraints for.\n   * @maxSize 100\n   * @format GUID\n   */\n  planIds?: string[];\n  /**\n   * The id of the member the constraints are resolved for.\n   * Member is resolved from the calling identity if not provided.\n   * @format GUID\n   */\n  memberId?: string | null;\n}\n\nexport interface ListPlanConfigurationConstraintsResponse {\n  /**\n   * Plan configuration constraints.\n   * @maxSize 100\n   */\n  constraints?: PlanConstraintsResult[];\n}\n\nexport interface PlanConstraintsResult {\n  /**\n   * The plan id, which corresponds to catalogItemId in catalog item reference.\n   * @format GUID\n   */\n  planId?: string;\n  /** Start date limits. */\n  startDateLimits?: StartDateLimits;\n  /** Start date rules. */\n  startDateRules?: StartDateRules;\n}\n\nexport interface GetPlanPreviewRequest {\n  /**\n   * ID of the plan to preview. Corresponds to `catalogReference.catalogItemId`.\n   * @format GUID\n   */\n  planId: string;\n  /**\n   * ID of the pricing variant to apply member-specific pricing to.\n   * @format GUID\n   */\n  pricingVariantId: string;\n  /**\n   * ID of the member to resolve pricing for. Defaults to the calling identity.\n   * Passing another member's ID requires additional permission for managing purchases on behalf of members.\n   * @format GUID\n   */\n  memberId?: string | null;\n}\n\nexport interface GetPlanPreviewResponse {\n  /** The plan, with price and fee overrides applied to the selected pricing variant. */\n  plan?: Plan;\n}\n\nexport interface ListPlanPreviewsRequest {\n  /**\n   * Plan selectors to retrieve plan previews for.\n   *\n   * Several selectors may reference the same plan to select more than one of its variants.\n   * @minSize 1\n   * @maxSize 100\n   */\n  planSelectors?: PlanPreviewSelector[];\n  /**\n   * The id of the member the previews are resolved for.\n   * Member is resolved from the calling identity if not provided.\n   * @format GUID\n   */\n  memberId?: string | null;\n}\n\nexport interface PlanPreviewSelector {\n  /**\n   * The plan id, which corresponds to catalogItemId in catalog item reference.\n   * @format GUID\n   */\n  planId?: string;\n  /**\n   * The selected pricing variant for the plan. If not provided, overrides are resolved for all variants.\n   * @format GUID\n   */\n  variantId?: string | null;\n}\n\nexport interface ListPlanPreviewsResponse {\n  /**\n   * Plan previews with pricing overrides applied. A single plan is returned per plan id,\n   * even when the request contained several selectors for that plan.\n   *\n   * Which variants have overrides applied depends on the selectors:\n   * - If variant_id was provided: only the selected variants have overrides, others keep original prices.\n   * - If variant_id was provided but the plan has no such variant: the plan keeps original prices.\n   * - If variant_id was not provided: all variants have overrides applied if present.\n   * @maxSize 100\n   */\n  plans?: Plan[];\n}\n\n/** Encapsulates all details written to the Greyhound topic when a site's properties are updated. */\nexport interface SitePropertiesNotification {\n  /** The site ID for which this update notification applies. */\n  metasiteId?: string;\n  /** The actual update event. */\n  event?: SitePropertiesEvent;\n  /**\n   * A convenience set of mappings from the MetaSite ID to its constituent services.\n   * @maxSize 500\n   */\n  translations?: Translation[];\n  /** Context of the notification */\n  changeContext?: ChangeContext;\n}\n\n/** The actual update event for a particular notification. */\nexport interface SitePropertiesEvent {\n  /** Version of the site's properties represented by this update. */\n  version?: number;\n  /** Set of properties that were updated - corresponds to the fields in \"properties\". */\n  fields?: string[];\n  /** Updated properties. */\n  properties?: Properties;\n}\n\nexport interface Properties {\n  /** Site categories. */\n  categories?: Categories;\n  /** Site locale. */\n  locale?: Locale;\n  /**\n   * Site language.\n   *\n   * Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n   */\n  language?: string | null;\n  /**\n   * Site currency used to bill customers.\n   *\n   * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n   */\n  paymentCurrency?: string | null;\n  /** Site time zone in IANA time zone database format. For example, `America/New_York`. */\n  timeZone?: string | null;\n  /** Email address. */\n  email?: string | null;\n  /** Phone number. */\n  phone?: string | null;\n  /** Fax number. */\n  fax?: string | null;\n  /** Address. */\n  address?: Address;\n  /** Site display name. */\n  siteDisplayName?: string | null;\n  /** Business name. */\n  businessName?: string | null;\n  /** Path to the site's logo in Wix Media (without Wix Media base URL). */\n  logo?: string | null;\n  /** Site description. */\n  description?: string | null;\n  /**\n   * Business schedule. Regular and exceptional time periods when the business is open or the service is available.\n   *\n   * __Note:__ Not supported by Wix Bookings.\n   */\n  businessSchedule?: BusinessSchedule;\n  /** Supported languages of a site and the primary language. */\n  multilingual?: Multilingual;\n  /** Cookie policy the Wix user defined for their site (before the site visitor interacts with/limits it). */\n  consentPolicy?: ConsentPolicy;\n  /**\n   * Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`.\n   *\n   * Site business type.\n   */\n  businessConfig?: string | null;\n  /** External site URL that uses Wix as its headless business solution. */\n  externalSiteUrl?: string | null;\n  /** Track clicks analytics. */\n  trackClicksAnalytics?: boolean;\n  /**\n   * Company ID issued to the business by local authorities. Appears on invoices and price quotes.\n   * @maxLength 50\n   */\n  companyId?: string | null;\n}\n\nexport interface Categories {\n  /** Primary site category. */\n  primary?: string;\n  /**\n   * Secondary site category.\n   * @maxSize 50\n   */\n  secondary?: string[];\n  /** Business Term Id */\n  businessTermId?: string | null;\n}\n\nexport interface Locale {\n  /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n  languageCode?: string;\n  /** Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */\n  country?: string;\n}\n\nexport interface Address {\n  /** Street name. */\n  street?: string;\n  /** City name. */\n  city?: string;\n  /** Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n  country?: string;\n  /** State. */\n  state?: string;\n  /**\n   * Zip or postal code.\n   * @maxLength 20\n   */\n  zip?: string;\n  /** Extra information to be displayed in the address. */\n  hint?: AddressHint;\n  /** Whether this address represents a physical location. */\n  isPhysical?: boolean;\n  /** Google-formatted version of this address. */\n  googleFormattedAddress?: string;\n  /** Street number. */\n  streetNumber?: string;\n  /** Apartment number. */\n  apartmentNumber?: string;\n  /** Geographic coordinates of location. */\n  coordinates?: GeoCoordinates;\n}\n\n/**\n * Extra information on displayed addresses.\n * This is used for display purposes. Used to add additional data about the address, such as \"In the passage\".\n * Free text. In addition, the user can state where to display the additional description - before, after, or instead of the address string.\n */\nexport interface AddressHint {\n  /** Extra text displayed next to, or instead of, the actual address. */\n  text?: string;\n  /** Where the extra text should be displayed. */\n  placement?: PlacementTypeWithLiterals;\n}\n\n/** Where the extra text should be displayed: before, after or instead of the actual address. */\nexport enum PlacementType {\n  BEFORE = 'BEFORE',\n  AFTER = 'AFTER',\n  REPLACE = 'REPLACE',\n}\n\n/** @enumType */\nexport type PlacementTypeWithLiterals =\n  | PlacementType\n  | 'BEFORE'\n  | 'AFTER'\n  | 'REPLACE';\n\n/** Geocoordinates for a particular address. */\nexport interface GeoCoordinates {\n  /** Latitude of the location. Must be between -90 and 90. */\n  latitude?: number;\n  /** Longitude of the location. Must be between -180 and 180. */\n  longitude?: number;\n}\n\n/** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */\nexport interface BusinessSchedule {\n  /**\n   * Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods.\n   * @maxSize 100\n   */\n  periods?: TimePeriod[];\n  /**\n   * Exceptions to the business's regular hours. The business can be open or closed during the exception.\n   * @maxSize 100\n   */\n  specialHourPeriod?: SpecialHourPeriod[];\n}\n\n/** Weekly recurring time periods when the business is regularly open or the service is available. */\nexport interface TimePeriod {\n  /** Day of the week the period starts on. */\n  openDay?: DayOfWeekWithLiterals;\n  /**\n   * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n   * midnight at the end of the specified day.\n   */\n  openTime?: string;\n  /** Day of the week the period ends on. */\n  closeDay?: DayOfWeekWithLiterals;\n  /**\n   * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n   * midnight at the end of the specified day.\n   *\n   * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n   */\n  closeTime?: string;\n}\n\n/** Enumerates the days of the week. */\nexport enum DayOfWeek {\n  MONDAY = 'MONDAY',\n  TUESDAY = 'TUESDAY',\n  WEDNESDAY = 'WEDNESDAY',\n  THURSDAY = 'THURSDAY',\n  FRIDAY = 'FRIDAY',\n  SATURDAY = 'SATURDAY',\n  SUNDAY = 'SUNDAY',\n}\n\n/** @enumType */\nexport type DayOfWeekWithLiterals =\n  | DayOfWeek\n  | 'MONDAY'\n  | 'TUESDAY'\n  | 'WEDNESDAY'\n  | 'THURSDAY'\n  | 'FRIDAY'\n  | 'SATURDAY'\n  | 'SUNDAY';\n\n/** Exception to the business's regular hours. The business can be open or closed during the exception. */\nexport interface SpecialHourPeriod {\n  /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n  startDate?: string;\n  /** End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n  endDate?: string;\n  /**\n   * Whether the business is closed (or the service is not available) during the exception.\n   *\n   * Default: `true`.\n   */\n  isClosed?: boolean;\n  /** Additional info about the exception. For example, \"We close earlier on New Year's Eve.\" */\n  comment?: string;\n}\n\nexport interface Multilingual {\n  /**\n   * Supported languages list.\n   * @maxSize 200\n   */\n  supportedLanguages?: SupportedLanguage[];\n  /** Whether to redirect to user language. */\n  autoRedirect?: boolean;\n}\n\nexport interface SupportedLanguage {\n  /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n  languageCode?: string;\n  /** Locale. */\n  locale?: Locale;\n  /** Whether the supported language is the primary language for the site. */\n  isPrimary?: boolean;\n  /** Language icon. */\n  countryCode?: string;\n  /** How the language will be resolved. For internal use. */\n  resolutionMethod?: ResolutionMethodWithLiterals;\n  /** Whether the supported language is the primary language for site visitors. */\n  isVisitorPrimary?: boolean | null;\n}\n\nexport enum ResolutionMethod {\n  QUERY_PARAM = 'QUERY_PARAM',\n  SUBDOMAIN = 'SUBDOMAIN',\n  SUBDIRECTORY = 'SUBDIRECTORY',\n}\n\n/** @enumType */\nexport type ResolutionMethodWithLiterals =\n  | ResolutionMethod\n  | 'QUERY_PARAM'\n  | 'SUBDOMAIN'\n  | 'SUBDIRECTORY';\n\nexport interface ConsentPolicy {\n  /** Whether the site uses cookies that are essential to site operation. Always `true`. */\n  essential?: boolean | null;\n  /** Whether the site uses cookies that affect site performance and other functional measurements. */\n  functional?: boolean | null;\n  /** Whether the site uses cookies that collect analytics about how the site is used (in order to improve it). */\n  analytics?: boolean | null;\n  /** Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor. */\n  advertising?: boolean | null;\n  /** CCPA compliance flag. */\n  dataToThirdParty?: boolean | null;\n}\n\n/** A single mapping from the MetaSite ID to a particular service. */\nexport interface Translation {\n  /** The service type. */\n  serviceType?: string;\n  /** The application definition ID; this only applies to services of type ThirdPartyApps. */\n  appDefId?: string;\n  /** The instance ID of the service. */\n  instanceId?: string;\n}\n\nexport interface ChangeContext extends ChangeContextPayloadOneOf {\n  /** Properties were updated. */\n  propertiesChange?: PropertiesChange;\n  /** Default properties were created on site creation. */\n  siteCreated?: SiteCreated;\n  /** Properties were cloned on site cloning. */\n  siteCloned?: SiteCloned;\n}\n\n/** @oneof */\nexport interface ChangeContextPayloadOneOf {\n  /** Properties were updated. */\n  propertiesChange?: PropertiesChange;\n  /** Default properties were created on site creation. */\n  siteCreated?: SiteCreated;\n  /** Properties were cloned on site cloning. */\n  siteCloned?: SiteCloned;\n}\n\nexport interface PropertiesChange {}\n\nexport interface SiteCreated {\n  /** Origin template site id. */\n  originTemplateId?: string | null;\n}\n\nexport interface SiteCloned {\n  /** Origin site id. */\n  originMetaSiteId?: string;\n}\n\nexport interface Empty {}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n  createdEvent?: EntityCreatedEvent;\n  updatedEvent?: EntityUpdatedEvent;\n  deletedEvent?: EntityDeletedEvent;\n  actionEvent?: ActionEvent;\n  /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n  id?: string;\n  /**\n   * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n   * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n   */\n  entityFqdn?: string;\n  /**\n   * Event action name, placed at the top level to make it easier for users to dispatch messages.\n   * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n   */\n  slug?: string;\n  /** ID of the entity associated with the event. */\n  entityId?: string;\n  /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n  eventTime?: Date | null;\n  /**\n   * Whether the event was triggered as a result of a privacy regulation application\n   * (for example, GDPR).\n   */\n  triggeredByAnonymizeRequest?: boolean | null;\n  /** If present, indicates the action that triggered the event. */\n  originatedFrom?: string | null;\n  /**\n   * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number.\n   * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n   */\n  entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n  createdEvent?: EntityCreatedEvent;\n  updatedEvent?: EntityUpdatedEvent;\n  deletedEvent?: EntityDeletedEvent;\n  actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n  entityAsJson?: string;\n  /**\n   * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n   * @internal\n   */\n  triggeredByUndelete?: boolean | null;\n  /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n  restoreInfo?: RestoreInfo;\n  /**\n   * Optional domain-specific metadata defined by the API owner, encoded as JSON.\n   * @internal\n   */\n  additionalMetadataAsJson?: string | null;\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  currentEntityAsJson?: string;\n  /**\n   * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n   * wont populate it / have any reference to it in the API.\n   * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n   * the developer should send only the new (current) entity.\n   * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n   * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n   * @internal\n   * @deprecated\n   */\n  previousEntityAsJson?: string | null;\n  /**\n   * Map of fully qualified field paths to their previous values for fields that changed.\n   * For more details please see [AIP](https://dev.wix.com/docs/rnd-general/articles/p13n-guidelines-aips/guidance-aips/design-patterns/7016-events#modified-fields-format)\n   * @internal\n   */\n  modifiedFields?: Record<string, any>;\n  /**\n   * Optional domain-specific metadata defined by the API owner, encoded as JSON.\n   * @internal\n   */\n  additionalMetadataAsJson?: string | null;\n}\n\nexport interface EntityDeletedEvent {\n  /**\n   * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n   * @internal\n   */\n  movedToTrash?: boolean | null;\n  /** Entity that was deleted. */\n  deletedEntityAsJson?: string | null;\n  /**\n   * Optional domain-specific metadata defined by the API owner, encoded as JSON.\n   * @internal\n   */\n  additionalMetadataAsJson?: string | null;\n}\n\nexport interface ActionEvent {\n  bodyAsJson?: string;\n}\n\nexport interface MessageEnvelope {\n  /**\n   * App instance ID.\n   * @format GUID\n   */\n  instanceId?: string | null;\n  /**\n   * Event type.\n   * @maxLength 150\n   */\n  eventType?: string;\n  /** The identification type and identity data. */\n  identity?: IdentificationData;\n  /** Stringify payload. */\n  data?: string;\n  /** Details related to the account */\n  accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n  /**\n   * ID of a site visitor that has not logged in to the site.\n   * @format GUID\n   */\n  anonymousVisitorId?: string;\n  /**\n   * ID of a site visitor that has logged in to the site.\n   * @format GUID\n   */\n  memberId?: string;\n  /**\n   * ID of a Wix user (site owner, contributor, etc.).\n   * @format GUID\n   */\n  wixUserId?: string;\n  /**\n   * ID of an app.\n   * @format GUID\n   */\n  appId?: string;\n  /** @readonly */\n  identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n  /**\n   * ID of a site visitor that has not logged in to the site.\n   * @format GUID\n   */\n  anonymousVisitorId?: string;\n  /**\n   * ID of a site visitor that has logged in to the site.\n   * @format GUID\n   */\n  memberId?: string;\n  /**\n   * ID of a Wix user (site owner, contributor, etc.).\n   * @format GUID\n   */\n  wixUserId?: string;\n  /**\n   * ID of an app.\n   * @format GUID\n   */\n  appId?: string;\n}\n\nexport enum WebhookIdentityType {\n  UNKNOWN = 'UNKNOWN',\n  ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n  MEMBER = 'MEMBER',\n  WIX_USER = 'WIX_USER',\n  APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n  | WebhookIdentityType\n  | 'UNKNOWN'\n  | 'ANONYMOUS_VISITOR'\n  | 'MEMBER'\n  | 'WIX_USER'\n  | 'APP';\n\nexport interface AccountInfo {\n  /**\n   * ID of the Wix account associated with the event.\n   * @format GUID\n   */\n  accountId?: string | null;\n  /**\n   * ID of the parent Wix account. Only included when accountId belongs to a child account.\n   * @format GUID\n   */\n  parentAccountId?: string | null;\n  /**\n   * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n   * @format GUID\n   */\n  siteId?: string | null;\n}\n\nexport interface CreatePlanRequest {\n  /** Plan to create. */\n  plan: Plan;\n  /**\n   * Unique key to prevent duplicate plan creation. If the same key is used within a short time period, the original plan will be returned instead of creating a duplicate.\n   * @format GUID\n   */\n  idempotencyKey?: string | null;\n}\n\nexport interface CreatePlanResponse {\n  /** Created plan. */\n  plan?: Plan;\n}\n\nexport interface GetPlanRequest {\n  /**\n   * ID of the plan to retrieve.\n   * @format GUID\n   */\n  planId: string;\n}\n\nexport interface GetPlanResponse {\n  /** Requested plan. */\n  plan?: Plan;\n}\n\nexport interface UpdatePlanRequest {\n  /** plan to update. */\n  plan: Plan;\n  /**\n   * Set of fields to update.\n   * @internal\n   */\n  fieldMask?: string[];\n  /**\n   * Type of cascade to apply.\n   * @internal\n   */\n  cascade?: CascadeWithLiterals;\n}\n\nexport enum Cascade {\n  /** Change the price for the plan only, without affecting existing subscriptions. */\n  NEW_SUBSCRIPTIONS = 'NEW_SUBSCRIPTIONS',\n  /** Change the price for the plan and apply it to existing subscriptions. */\n  ALL_SUBSCRIPTIONS = 'ALL_SUBSCRIPTIONS',\n}\n\n/** @enumType */\nexport type CascadeWithLiterals =\n  | Cascade\n  | 'NEW_SUBSCRIPTIONS'\n  | 'ALL_SUBSCRIPTIONS';\n\nexport interface UpdatePlanResponse {\n  /** Updated plan. */\n  plan?: Plan;\n}\n\nexport interface BulkUpdatePlansRequest {\n  /**\n   * Plans to update.\n   * @minSize 1\n   * @maxSize 100\n   */\n  plans: MaskedPlan[];\n  /** Set the value to `true` to receive details of the updated plans. */\n  returnEntity?: boolean;\n  /**\n   * Type of cascade to apply.\n   * @internal\n   */\n  cascade?: CascadeWithLiterals;\n}\n\nexport interface MaskedPlan {\n  /** Plan to update. */\n  plan?: Plan;\n  /**\n   * Explicit list of fields to update.\n   * @internal\n   */\n  fieldMask?: string[];\n}\n\nexport interface BulkUpdatePlansResponse {\n  /**\n   * Updated plans.\n   * @minSize 1\n   * @maxSize 100\n   */\n  results?: BulkPlanResult[];\n  /** Action metadata. */\n  bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface ItemMetadata {\n  /**\n   * Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\n   * @format GUID\n   */\n  id?: string | null;\n  /** Index of the item within the request array. Allows for correlation between request and response items. */\n  originalIndex?: number;\n  /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n  success?: boolean;\n  /** Details about the error in case of failure. */\n  error?: ApplicationError;\n}\n\nexport interface ApplicationError {\n  /** Error code. */\n  code?: string;\n  /** Description of the error. */\n  description?: string;\n  /** Data related to the error. */\n  data?: Record<string, any> | null;\n}\n\nexport interface BulkPlanResult {\n  /** Metadata for a specific updated item. */\n  itemMetadata?: ItemMetadata;\n  /** Updated plan details. Only returned if the `returnEntity` field was set to `true`. */\n  item?: Plan;\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 BulkUpdatePlanTagsRequest {\n  /**\n   * IDs of plans whose tags to update.\n   * @minSize 1\n   * @maxSize 100\n   * @format GUID\n   */\n  planIds: string[];\n  /** Tags to assign to the plans. */\n  assignTags?: Tags;\n  /** Tags to unassign from the plans. */\n  unassignTags?: Tags;\n}\n\nexport interface BulkUpdatePlanTagsResponse {\n  /**\n   * Tag update results.\n   * @minSize 1\n   * @maxSize 100\n   */\n  results?: BulkUpdatePlanTagsResult[];\n  /** Action metadata. */\n  bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkUpdatePlanTagsResult {\n  /** Metadata for a specific updated plan. */\n  itemMetadata?: ItemMetadata;\n}\n\nexport interface BulkUpdatePlanTagsByFilterRequest {\n  /** WQL filter that selects plans whose tags to update. An empty filter selects all plans. */\n  filter: Record<string, any> | null;\n  /** Tags to assign to the plans. */\n  assignTags?: Tags;\n  /** Tags to unassign from the plans. */\n  unassignTags?: Tags;\n}\n\nexport interface BulkUpdatePlanTagsByFilterResponse {\n  /**\n   * ID of the asynchronous job that updates the tags.\n   * @format GUID\n   */\n  jobId?: string;\n}\n\nexport interface DeletePlanRequest {\n  /**\n   * ID of the plan to delete.\n   * @format GUID\n   */\n  planId: string;\n}\n\nexport interface DeletePlanResponse {}\n\nexport interface QueryPlansRequest {\n  /** Query options. See [API Query Language](https://dev.wix.com/docs/rest/articles/get-started/api-query-language) for more details. */\n  query?: QueryV2;\n}\n\nexport interface QueryV2 extends QueryV2PagingMethodOneOf {\n  /**\n   * Paging options to limit and skip the number of items.\n   * @internal\n   */\n  paging?: Paging;\n  /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n  cursorPaging?: CursorPaging;\n  /**\n   * Filter object.\n   *\n   * Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters).\n   */\n  filter?: Record<string, any> | null;\n  /**\n   * Sort object.\n   *\n   * Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#sorting).\n   * @maxSize 5\n   */\n  sort?: Sorting[];\n}\n\n/** @oneof */\nexport interface QueryV2PagingMethodOneOf {\n  /**\n   * Paging options to limit and skip the number of items.\n   * @internal\n   */\n  paging?: Paging;\n  /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n  cursorPaging?: CursorPaging;\n}\n\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 Paging {\n  /** Number of items to load. */\n  limit?: number | null;\n  /** Number of items to skip in the current sort order. */\n  offset?: number | null;\n}\n\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 QueryPlansResponse {\n  /** List of plans. */\n  plans?: Plan[];\n  /** Paging metadata. */\n  pagingMetadata?: PagingMetadataV2;\n}\n\nexport interface PagingMetadataV2 {\n  /** Number of items returned in the response. */\n  count?: number | null;\n  /** Offset that was requested. */\n  offset?: number | null;\n  /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n  total?: number | null;\n  /** Flag that indicates the server failed to calculate the `total` field. */\n  tooManyToCount?: boolean | null;\n  /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n  cursors?: Cursors;\n  /**\n   * Indicates if there are more results after the current page.\n   * If `true`, another page of results can be retrieved.\n   * If `false`, this is the last page.\n   * @internal\n   */\n  hasNext?: boolean | 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 SearchPlansRequest {\n  /** Search options. See [API Query Language](https://dev.wix.com/docs/rest/articles/get-started/api-query-language) for more details. */\n  search?: CursorSearch;\n}\n\nexport interface CursorSearch extends CursorSearchPagingMethodOneOf {\n  /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not filter or sort. */\n  cursorPaging?: CursorPaging;\n  /**\n   * Filter object.\n   *\n   * Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters).\n   */\n  filter?: Record<string, any> | null;\n  /**\n   * Sort object.\n   *\n   * Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#sorting).\n   * @maxSize 10\n   */\n  sort?: Sorting[];\n  /**\n   * Logical groupings of data into facets, with summaries for each facet. For example, use aggregations to allow site visitors to narrow down their search results by selecting specific categories.\n   * @maxSize 10\n   */\n  aggregations?: Aggregation[];\n  /** Free text to match in searchable fields. */\n  search?: SearchDetails;\n  /**\n   * Time zone to adjust date-time-based filters and aggregations, in ISO 8601 (including offsets) or IANA time zone database (including time zone IDs) format.\n   * @maxLength 50\n   */\n  timeZone?: string | null;\n}\n\n/** @oneof */\nexport interface CursorSearchPagingMethodOneOf {\n  /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not filter or sort. */\n  cursorPaging?: CursorPaging;\n}\n\nexport interface Aggregation extends AggregationKindOneOf {\n  /** Value aggregation */\n  value?: ValueAggregation;\n  /** Range aggregation */\n  range?: RangeAggregation;\n  /** Scalar aggregation */\n  scalar?: ScalarAggregation;\n  /** Date histogram aggregation */\n  dateHistogram?: DateHistogramAggregation;\n  /** Nested aggregation */\n  nested?: NestedAggregation;\n  /**\n   * User-defined name of aggregation, should be unique, will appear in aggregation results\n   * @maxLength 100\n   */\n  name?: string | null;\n  /** Type of aggregation, client must provide matching aggregation field below */\n  type?: AggregationTypeWithLiterals;\n  /**\n   * Field to aggregate by, use dot notation to specify json path\n   * @maxLength 200\n   */\n  fieldPath?: string;\n}\n\n/** @oneof */\nexport interface AggregationKindOneOf {\n  /** Value aggregation */\n  value?: ValueAggregation;\n  /** Range aggregation */\n  range?: RangeAggregation;\n  /** Scalar aggregation */\n  scalar?: ScalarAggregation;\n  /** Date histogram aggregation */\n  dateHistogram?: DateHistogramAggregation;\n  /** Nested aggregation */\n  nested?: NestedAggregation;\n}\n\nexport interface RangeBucket {\n  /** Inclusive lower bound of the range. Required if to is not given */\n  from?: number | null;\n  /** Exclusive upper bound of the range. Required if from is not given */\n  to?: number | null;\n}\n\nexport enum SortType {\n  /** Should sort by number of matches */\n  COUNT = 'COUNT',\n  /** Should sort by value of the field alphabetically */\n  VALUE = 'VALUE',\n}\n\n/** @enumType */\nexport type SortTypeWithLiterals = SortType | 'COUNT' | 'VALUE';\n\nexport enum SortDirection {\n  /** Should sort in descending order */\n  DESC = 'DESC',\n  /** Should sort in ascending order */\n  ASC = 'ASC',\n}\n\n/** @enumType */\nexport type SortDirectionWithLiterals = SortDirection | 'DESC' | 'ASC';\n\nexport enum MissingValues {\n  /** Should missing values be excluded from the aggregation results */\n  EXCLUDE = 'EXCLUDE',\n  /** Should missing values be included in the aggregation results */\n  INCLUDE = 'INCLUDE',\n}\n\n/** @enumType */\nexport type MissingValuesWithLiterals = MissingValues | 'EXCLUDE' | 'INCLUDE';\n\nexport interface IncludeMissingValuesOptions {\n  /**\n   * Can specify custom bucket name. Defaults are [string -> \"N/A\"], [int -> \"0\"], [bool -> \"false\"] ...\n   * @maxLength 20\n   */\n  addToBucket?: string;\n}\n\nexport enum ScalarType {\n  /** Count of distinct values */\n  COUNT_DISTINCT = 'COUNT_DISTINCT',\n  /** Minimum value */\n  MIN = 'MIN',\n  /** Maximum value */\n  MAX = 'MAX',\n  /**\n   * Sum of values\n   * @internal\n   */\n  SUM = 'SUM',\n  /**\n   * Average of values\n   * @internal\n   */\n  AVG = 'AVG',\n}\n\n/** @enumType */\nexport type ScalarTypeWithLiterals =\n  | ScalarType\n  | 'COUNT_DISTINCT'\n  | 'MIN'\n  | 'MAX';\n\nexport interface ValueAggregation extends ValueAggregationOptionsOneOf {\n  /** Options for including missing values */\n  includeOptions?: IncludeMissingValuesOptions;\n  /** Should sort by number of matches or value of the field */\n  sortType?: SortTypeWithLiterals;\n  /** Should sort in ascending or descending order */\n  sortDirection?: SortDirectionWithLiterals;\n  /** How many aggregations would you like to return? Can be between 1 and 250. 10 is the default. */\n  limit?: number | null;\n  /** Should missing values be included or excluded from the aggregation results. Default is EXCLUDE */\n  missingValues?: MissingValuesWithLiterals;\n}\n\n/** @oneof */\nexport interface ValueAggregationOptionsOneOf {\n  /** Options for including missing values */\n  includeOptions?: IncludeMissingValuesOptions;\n}\n\nexport enum NestedAggregationType {\n  /** An aggregation where result buckets are dynamically built - one per unique value */\n  VALUE = 'VALUE',\n  /** An aggregation, where user can define set of ranges - each representing a bucket */\n  RANGE = 'RANGE',\n  /** A single-value metric aggregation - e.g. min, max, sum, avg */\n  SCALAR = 'SCALAR',\n  /** An aggregation, where result buckets are dynamically built - one per time interval (hour, day, week, etc.) */\n  DATE_HISTOGRAM = 'DATE_HISTOGRAM',\n}\n\n/** @enumType */\nexport type NestedAggregationTypeWithLiterals =\n  | NestedAggregationType\n  | 'VALUE'\n  | 'RANGE'\n  | 'SCALAR'\n  | 'DATE_HISTOGRAM';\n\nexport interface RangeAggregation {\n  /**\n   * List of range buckets, where during aggregation each entity will be placed in the first bucket where its value falls into based on provided range bounds\n   * @maxSize 50\n   */\n  buckets?: RangeBucket[];\n}\n\nexport interface ScalarAggregation {\n  /** Define the operator for the scalar aggregation */\n  type?: ScalarTypeWithLiterals;\n}\n\nexport interface DateHistogramAggregation {\n  /** Interval for date histogram aggregation */\n  interval?: IntervalWithLiterals;\n}\n\nexport enum Interval {\n  /** Yearly interval */\n  YEAR = 'YEAR',\n  /** Monthly interval */\n  MONTH = 'MONTH',\n  /** Weekly interval */\n  WEEK = 'WEEK',\n  /** Daily interval */\n  DAY = 'DAY',\n  /** Hourly interval */\n  HOUR = 'HOUR',\n  /** Minute interval */\n  MINUTE = 'MINUTE',\n  /** Second interval */\n  SECOND = 'SECOND',\n}\n\n/** @enumType */\nexport type IntervalWithLiterals =\n  | Interval\n  | 'YEAR'\n  | 'MONTH'\n  | 'WEEK'\n  | 'DAY'\n  | 'HOUR'\n  | 'MINUTE'\n  | 'SECOND';\n\nexport interface NestedAggregationItem extends NestedAggregationItemKindOneOf {\n  /** Value aggregation */\n  value?: ValueAggregation;\n  /** Range aggregation */\n  range?: RangeAggregation;\n  /** Scalar aggregation */\n  scalar?: ScalarAggregation;\n  /** Date histogram aggregation */\n  dateHistogram?: DateHistogramAggregation;\n  /**\n   * User-defined name of aggregation, should be unique, will appear in aggregation results\n   * @maxLength 100\n   */\n  name?: string | null;\n  /** Type of aggregation, client must provide matching aggregation field below */\n  type?: NestedAggregationTypeWithLiterals;\n  /**\n   * Field to aggregate by, use dont notation to specify json path\n   * @maxLength 200\n   */\n  fieldPath?: string;\n}\n\n/** @oneof */\nexport interface NestedAggregationItemKindOneOf {\n  /** Value aggregation */\n  value?: ValueAggregation;\n  /** Range aggregation */\n  range?: RangeAggregation;\n  /** Scalar aggregation */\n  scalar?: ScalarAggregation;\n  /** Date histogram aggregation */\n  dateHistogram?: DateHistogramAggregation;\n}\n\nexport enum AggregationType {\n  /** An aggregation where result buckets are dynamically built - one per unique value */\n  VALUE = 'VALUE',\n  /** An aggregation, where user can define set of ranges - each representing a bucket */\n  RANGE = 'RANGE',\n  /** A single-value metric aggregation - e.g. min, max, sum, avg */\n  SCALAR = 'SCALAR',\n  /** An aggregation, where result buckets are dynamically built - one per time interval (hour, day, week, etc.) */\n  DATE_HISTOGRAM = 'DATE_HISTOGRAM',\n  /** Multi-level aggregation, where each next aggregation is nested within previous one */\n  NESTED = 'NESTED',\n}\n\n/** @enumType */\nexport type AggregationTypeWithLiterals =\n  | AggregationType\n  | 'VALUE'\n  | 'RANGE'\n  | 'SCALAR'\n  | 'DATE_HISTOGRAM'\n  | 'NESTED';\n\n/** Nested aggregation expressed through a list of aggregation where each next aggregation is nested within previous one */\nexport interface NestedAggregation {\n  /**\n   * Flattened list of aggregations, where each next aggregation is nested within previous one\n   * @minSize 2\n   * @maxSize 3\n   */\n  nestedAggregations?: NestedAggregationItem[];\n}\n\nexport interface SearchDetails {\n  /** Defines how separate search terms in `expression` are combined */\n  mode?: ModeWithLiterals;\n  /**\n   * Search term or expression\n   * @maxLength 100\n   */\n  expression?: string | null;\n  /**\n   * Fields to search in. If empty - will search in all searchable fields. Use dot notation to specify json path\n   * @maxLength 200\n   * @maxSize 20\n   */\n  fields?: string[];\n  /** Flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm) */\n  fuzzy?: boolean;\n}\n\nexport enum Mode {\n  /** Any of the search terms must be present */\n  OR = 'OR',\n  /** All search terms must be present */\n  AND = 'AND',\n}\n\n/** @enumType */\nexport type ModeWithLiterals = Mode | 'OR' | 'AND';\n\nexport interface SearchPlansResponse {\n  /** List of plans. */\n  plans?: Plan[];\n  /** Paging metadata. */\n  pagingMetadata?: CursorPagingMetadata;\n  /** Aggregation results, returned when the search request includes aggregations. */\n  aggregationData?: AggregationData;\n}\n\nexport interface CursorPagingMetadata {\n  /** Number of items returned in the response. */\n  count?: number | null;\n  /** Cursor strings that point to the next page, previous page, or both. */\n  cursors?: Cursors;\n  /**\n   * Whether there are more pages to retrieve following the current page.\n   *\n   * + `true`: Another page of results can be retrieved.\n   * + `false`: This is the last page.\n   */\n  hasNext?: boolean | null;\n  /**\n   * 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   */\n  total?: number | null;\n}\n\nexport interface AggregationData {\n  /**\n   * key = aggregation name (as derived from search request)\n   * @maxSize 10000\n   */\n  results?: AggregationResults[];\n}\n\nexport interface ValueAggregationResult {\n  /**\n   * Value of the field\n   * @maxLength 100\n   */\n  value?: string;\n  /** Count of entities with this value */\n  count?: number;\n}\n\nexport interface RangeAggregationResult {\n  /** Inclusive lower bound of the range */\n  from?: number | null;\n  /** Exclusive upper bound of the range */\n  to?: number | null;\n  /** Count of entities in this range */\n  count?: number;\n}\n\nexport interface NestedAggregationResults\n  extends NestedAggregationResultsResultOneOf {\n  /** Value aggregation results */\n  values?: ValueResults;\n  /** Range aggregation results */\n  ranges?: RangeResults;\n  /** Scalar aggregation results */\n  scalar?: AggregationResultsScalarResult;\n  /**\n   * User-defined name of aggregation, matches the one provided in request\n   * @maxLength 100\n   */\n  name?: string;\n  /** Type of aggregation that matches result */\n  type?: AggregationTypeWithLiterals;\n  /**\n   * Field to aggregate by, matches the one provided in request\n   * @maxLength 200\n   */\n  fieldPath?: string;\n}\n\n/** @oneof */\nexport interface NestedAggregationResultsResultOneOf {\n  /** Value aggregation results */\n  values?: ValueResults;\n  /** Range aggregation results */\n  ranges?: RangeResults;\n  /** Scalar aggregation results */\n  scalar?: AggregationResultsScalarResult;\n}\n\nexport interface ValueResults {\n  /**\n   * List of value aggregations\n   * @maxSize 250\n   */\n  results?: ValueAggregationResult[];\n}\n\nexport interface RangeResults {\n  /**\n   * List of ranges returned in same order as requested\n   * @maxSize 50\n   */\n  results?: RangeAggregationResult[];\n}\n\nexport interface AggregationResultsScalarResult {\n  /** Type of scalar aggregation */\n  type?: ScalarTypeWithLiterals;\n  /** Value of the scalar aggregation */\n  value?: number;\n}\n\nexport interface NestedValueAggregationResult {\n  /**\n   * Value of the field\n   * @maxLength 1000\n   */\n  value?: string;\n  /** Nested aggregations */\n  nestedResults?: NestedAggregationResults;\n}\n\nexport interface ValueResult {\n  /**\n   * Value of the field\n   * @maxLength 1000\n   */\n  value?: string;\n  /** Count of entities with this value */\n  count?: number | null;\n}\n\nexport interface RangeResult {\n  /** Inclusive lower bound of the range */\n  from?: number | null;\n  /** Exclusive upper bound of the range */\n  to?: number | null;\n  /** Count of entities in this range */\n  count?: number | null;\n}\n\nexport interface ScalarResult {\n  /** Value of the scalar aggregation */\n  value?: number;\n}\n\nexport interface NestedResultValue extends NestedResultValueResultOneOf {\n  /** Value aggregation result */\n  value?: ValueResult;\n  /** Range aggregation result */\n  range?: RangeResult;\n  /** Scalar aggregation result */\n  scalar?: ScalarResult;\n  /** Date histogram aggregation result */\n  dateHistogram?: ValueResult;\n}\n\n/** @oneof */\nexport interface NestedResultValueResultOneOf {\n  /** Value aggregation result */\n  value?: ValueResult;\n  /** Range aggregation result */\n  range?: RangeResult;\n  /** Scalar aggregation result */\n  scalar?: ScalarResult;\n  /** Date histogram aggregation result */\n  dateHistogram?: ValueResult;\n}\n\nexport interface Results {\n  /** List of nested aggregations */\n  results?: Record<string, NestedResultValue>;\n}\n\nexport interface DateHistogramResult {\n  /**\n   * Date in ISO 8601 format\n   * @maxLength 100\n   */\n  value?: string;\n  /** Count of documents in the bucket */\n  count?: number;\n}\n\nexport interface GroupByValueResults {\n  /**\n   * List of value aggregations\n   * @maxSize 1000\n   */\n  results?: NestedValueAggregationResult[];\n}\n\nexport interface DateHistogramResults {\n  /**\n   * List of date histogram aggregations\n   * @maxSize 200\n   */\n  results?: DateHistogramResult[];\n}\n\n/**\n * Results of `NESTED` aggregation type in a flattened form\n * aggregations in resulting array are keyed by requested aggregation `name`.\n */\nexport interface NestedResults {\n  /**\n   * List of nested aggregations\n   * @maxSize 1000\n   */\n  results?: Results[];\n}\n\nexport interface AggregationResults extends AggregationResultsResultOneOf {\n  /** Value aggregation results */\n  values?: ValueResults;\n  /** Range aggregation results */\n  ranges?: RangeResults;\n  /** Scalar aggregation results */\n  scalar?: AggregationResultsScalarResult;\n  /** Group by value aggregation results */\n  groupedByValue?: GroupByValueResults;\n  /** Date histogram aggregation results */\n  dateHistogram?: DateHistogramResults;\n  /** Nested aggregation results */\n  nested?: NestedResults;\n  /**\n   * User-defined name of aggregation as derived from search request\n   * @maxLength 100\n   */\n  name?: string;\n  /** Type of aggregation that must match provided kind as derived from search request */\n  type?: AggregationTypeWithLiterals;\n  /**\n   * Field to aggregate by as derived from search request\n   * @maxLength 200\n   */\n  fieldPath?: string;\n}\n\n/** @oneof */\nexport interface AggregationResultsResultOneOf {\n  /** Value aggregation results */\n  values?: ValueResults;\n  /** Range aggregation results */\n  ranges?: RangeResults;\n  /** Scalar aggregation results */\n  scalar?: AggregationResultsScalarResult;\n  /** Group by value aggregation results */\n  groupedByValue?: GroupByValueResults;\n  /** Date histogram aggregation results */\n  dateHistogram?: DateHistogramResults;\n  /** Nested aggregation results */\n  nested?: NestedResults;\n}\n\nexport interface CountPlansRequest {\n  /**\n   * Filter object in the following format:\n   * `\"filter\" : {\n   * \"fieldName1\": \"value1\",\n   * \"fieldName2\":{\"$operator\":\"value2\"}\n   * }`\n   * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n   */\n  filter?: Record<string, any> | null;\n  /** Free text to match in searchable fields. When specified, the method uses search instead of filter, and may be less consistent. */\n  search?: SearchDetails;\n}\n\nexport interface CountPlansResponse {\n  /** The number of plans. */\n  count?: number;\n}\n\nexport interface ChangePriceRequest {\n  /**\n   * ID of the plan to change.\n   * @format GUID\n   */\n  planId?: string;\n  /**\n   * ID of the pricing variant to change.\n   * @format GUID\n   */\n  pricingVariantId?: string;\n  /**\n   * New pricing strategy.\n   * @minSize 1\n   * @maxSize 1\n   */\n  pricingStrategies?: PricingStrategy[];\n  /** To prevent conflicting changes, the current plan revision must be passed when updating the price. */\n  revision?: string | null;\n  /** Type of cascade to apply. */\n  cascade?: CascadeWithLiterals;\n}\n\nexport interface ChangePriceResponse {\n  /** Updated Plan. */\n  plan?: Plan;\n}\n\nexport interface ClonePlanRequest {\n  /**\n   * ID of the plan to clone\n   * @format GUID\n   */\n  planId?: string;\n  /** Fields that will override values from cloned resource */\n  plan?: Plan;\n  /**\n   * Fields to be overwritten after Copy\n   * @internal\n   */\n  fieldMask?: string[];\n}\n\nexport interface ClonePlanResponse {\n  /** Cloned plan */\n  plan?: Plan;\n}\n\n/** @docsIgnore */\nexport type GetPlanPreviewApplicationErrors = {\n  code?: 'MISSING_MEMBER_IDENTITY';\n  description?: string;\n  data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type CreatePlanApplicationErrors = {\n  code?: 'CURRENCY_MISSING';\n  description?: string;\n  data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type CreatePlanValidationErrors =\n  | {\n      ruleName?: 'NAME_NOT_BLANK';\n    }\n  | {\n      ruleName?: 'VALID_BILLING_CYCLE';\n    }\n  | {\n      ruleName?: 'VALID_PLAN_DURATION';\n    }\n  | {\n      ruleName?: 'FREE_PRICING_VARIANT_IS_NOT_RECURRING';\n    }\n  | {\n      ruleName?: 'FREE_TRIAL_IS_APPLICABLE';\n    }\n  | {\n      ruleName?: 'CYCLES_COMPLETED_END_OPTION_IS_APPLICABLE';\n    }\n  | {\n      ruleName?: 'PRICING_VARIANT_IDS_UNIQUE';\n    }\n  | {\n      ruleName?: 'FEE_IDS_UNIQUE';\n    }\n  | {\n      ruleName?: 'PRICE_OVERRIDE_IDS_UNIQUE';\n    }\n  | {\n      ruleName?: 'FEE_OVERRIDE_IDS_UNIQUE';\n    }\n  | {\n      ruleName?: 'FEE_OVERRIDE_FEE_EXISTS';\n    }\n  | {\n      ruleName?: 'VALID_DATE_RANGE';\n    }\n  | {\n      ruleName?: 'UNIQUE_START_DATES';\n    }\n  | {\n      ruleName?: 'INVALID_AMOUNT';\n    }\n  | {\n      ruleName?: 'PERK_IDS_UNIQUE';\n    }\n  | {\n      ruleName?: 'AT_LEAST_ONE_ACTIVE_VARIANT';\n    };\n/** @docsIgnore */\nexport type UpdatePlanValidationErrors =\n  | {\n      ruleName?: 'NAME_NOT_BLANK';\n    }\n  | {\n      ruleName?: 'VALID_BILLING_CYCLE';\n    }\n  | {\n      ruleName?: 'VALID_PLAN_DURATION';\n    }\n  | {\n      ruleName?: 'FREE_PRICING_VARIANT_IS_NOT_RECURRING';\n    }\n  | {\n      ruleName?: 'FREE_TRIAL_IS_APPLICABLE';\n    }\n  | {\n      ruleName?: 'CYCLES_COMPLETED_END_OPTION_IS_APPLICABLE';\n    }\n  | {\n      ruleName?: 'PRICING_VARIANT_IDS_UNIQUE';\n    }\n  | {\n      ruleName?: 'FEE_IDS_UNIQUE';\n    }\n  | {\n      ruleName?: 'PRICE_OVERRIDE_IDS_UNIQUE';\n    }\n  | {\n      ruleName?: 'FEE_OVERRIDE_IDS_UNIQUE';\n    }\n  | {\n      ruleName?: 'FEE_OVERRIDE_FEE_EXISTS';\n    }\n  | {\n      ruleName?: 'VALID_DATE_RANGE';\n    }\n  | {\n      ruleName?: 'UNIQUE_START_DATES';\n    }\n  | {\n      ruleName?: 'INVALID_AMOUNT';\n    }\n  | {\n      ruleName?: 'PERK_IDS_UNIQUE';\n    }\n  | {\n      ruleName?: 'AT_LEAST_ONE_ACTIVE_VARIANT';\n    }\n  | {\n      ruleName?: 'REQUIRED_FIELD';\n    };\n/** @docsIgnore */\nexport type BulkUpdatePlansValidationErrors =\n  | {\n      ruleName?: 'NAME_NOT_BLANK';\n    }\n  | {\n      ruleName?: 'VALID_BILLING_CYCLE';\n    }\n  | {\n      ruleName?: 'VALID_PLAN_DURATION';\n    }\n  | {\n      ruleName?: 'FREE_PRICING_VARIANT_IS_NOT_RECURRING';\n    }\n  | {\n      ruleName?: 'FREE_TRIAL_IS_APPLICABLE';\n    }\n  | {\n      ruleName?: 'CYCLES_COMPLETED_END_OPTION_IS_APPLICABLE';\n    }\n  | {\n      ruleName?: 'PRICING_VARIANT_IDS_UNIQUE';\n    }\n  | {\n      ruleName?: 'FEE_IDS_UNIQUE';\n    }\n  | {\n      ruleName?: 'PRICE_OVERRIDE_IDS_UNIQUE';\n    }\n  | {\n      ruleName?: 'FEE_OVERRIDE_IDS_UNIQUE';\n    }\n  | {\n      ruleName?: 'FEE_OVERRIDE_FEE_EXISTS';\n    }\n  | {\n      ruleName?: 'VALID_DATE_RANGE';\n    }\n  | {\n      ruleName?: 'UNIQUE_START_DATES';\n    }\n  | {\n      ruleName?: 'INVALID_AMOUNT';\n    }\n  | {\n      ruleName?: 'PERK_IDS_UNIQUE';\n    }\n  | {\n      ruleName?: 'AT_LEAST_ONE_ACTIVE_VARIANT';\n    }\n  | {\n      ruleName?: 'REQUIRED_FIELD';\n    }\n  | {\n      ruleName?: 'BULK_UPDATE_NOT_SUPPORTED';\n    };\n/** @docsIgnore */\nexport type BulkUpdatePlanTagsApplicationErrors = {\n  code?: 'EMPTY_ASSIGN_AND_UNASSIGN_LISTS';\n  description?: string;\n  data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type BulkUpdatePlanTagsByFilterApplicationErrors = {\n  code?: 'EMPTY_ASSIGN_AND_UNASSIGN_LISTS';\n  description?: string;\n  data?: Record<string, any>;\n};\n","import * as ambassadorWixPricingPlansV3Plan from './pricing-plans-v3-plan-plans-v-3.http.js';\nimport * as ambassadorWixPricingPlansV3PlanTypes from './pricing-plans-v3-plan-plans-v-3.types.js';\nimport * as ambassadorWixPricingPlansV3PlanUniversalTypes from './pricing-plans-v3-plan-plans-v-3.universal.js';\n\nexport type __PublicMethodMetaInfo<\n  K = string,\n  M = unknown,\n  T = unknown,\n  S = unknown,\n  Q = unknown,\n  R = unknown\n> = {\n  getUrl: (context: any) => string;\n  httpMethod: K;\n  path: string;\n  pathParams: M;\n  __requestType: T;\n  __originalRequestType: S;\n  __responseType: Q;\n  __originalResponseType: R;\n};\n\nexport function getPlanConfigurationConstraints(): __PublicMethodMetaInfo<\n  'GET',\n  {},\n  ambassadorWixPricingPlansV3PlanUniversalTypes.GetPlanConfigurationConstraintsRequest,\n  ambassadorWixPricingPlansV3PlanTypes.GetPlanConfigurationConstraintsRequest,\n  ambassadorWixPricingPlansV3PlanUniversalTypes.GetPlanConfigurationConstraintsResponse,\n  ambassadorWixPricingPlansV3PlanTypes.GetPlanConfigurationConstraintsResponse\n> {\n  const payload = {} as any;\n\n  const getRequestOptions =\n    ambassadorWixPricingPlansV3Plan.getPlanConfigurationConstraints(payload);\n\n  const getUrl = (context: any): string => {\n    const { url } = getRequestOptions(context);\n    return url!;\n  };\n\n  return {\n    getUrl,\n    httpMethod: 'GET',\n    path: '/v3/plan-configuration-constraints',\n    pathParams: {},\n    __requestType: null as any,\n    __originalRequestType: null as any,\n    __responseType: null as any,\n    __originalResponseType: null as any,\n  };\n}\n\nexport function getPlanPreview(): __PublicMethodMetaInfo<\n  'GET',\n  {},\n  ambassadorWixPricingPlansV3PlanUniversalTypes.GetPlanPreviewRequest,\n  ambassadorWixPricingPlansV3PlanTypes.GetPlanPreviewRequest,\n  ambassadorWixPricingPlansV3PlanUniversalTypes.GetPlanPreviewResponse,\n  ambassadorWixPricingPlansV3PlanTypes.GetPlanPreviewResponse\n> {\n  const payload = {} as any;\n\n  const getRequestOptions =\n    ambassadorWixPricingPlansV3Plan.getPlanPreview(payload);\n\n  const getUrl = (context: any): string => {\n    const { url } = getRequestOptions(context);\n    return url!;\n  };\n\n  return {\n    getUrl,\n    httpMethod: 'GET',\n    path: '/v3/plan-preview',\n    pathParams: {},\n    __requestType: null as any,\n    __originalRequestType: null as any,\n    __responseType: null as any,\n    __originalResponseType: null as any,\n  };\n}\n\nexport function listPlanPreviews(): __PublicMethodMetaInfo<\n  'POST',\n  {},\n  ambassadorWixPricingPlansV3PlanUniversalTypes.ListPlanPreviewsRequest,\n  ambassadorWixPricingPlansV3PlanTypes.ListPlanPreviewsRequest,\n  ambassadorWixPricingPlansV3PlanUniversalTypes.ListPlanPreviewsResponse,\n  ambassadorWixPricingPlansV3PlanTypes.ListPlanPreviewsResponse\n> {\n  const payload = {} as any;\n\n  const getRequestOptions =\n    ambassadorWixPricingPlansV3Plan.listPlanPreviews(payload);\n\n  const getUrl = (context: any): string => {\n    const { url } = getRequestOptions(context);\n    return url!;\n  };\n\n  return {\n    getUrl,\n    httpMethod: 'POST',\n    path: '/v3/plan-preview/previews',\n    pathParams: {},\n    __requestType: null as any,\n    __originalRequestType: null as any,\n    __responseType: null as any,\n    __originalResponseType: null as any,\n  };\n}\n\nexport function createPlan(): __PublicMethodMetaInfo<\n  'POST',\n  {},\n  ambassadorWixPricingPlansV3PlanUniversalTypes.CreatePlanRequest,\n  ambassadorWixPricingPlansV3PlanTypes.CreatePlanRequest,\n  ambassadorWixPricingPlansV3PlanUniversalTypes.CreatePlanResponse,\n  ambassadorWixPricingPlansV3PlanTypes.CreatePlanResponse\n> {\n  const payload = {} as any;\n\n  const getRequestOptions = ambassadorWixPricingPlansV3Plan.createPlan(payload);\n\n  const getUrl = (context: any): string => {\n    const { url } = getRequestOptions(context);\n    return url!;\n  };\n\n  return {\n    getUrl,\n    httpMethod: 'POST',\n    path: '/v3/plans',\n    pathParams: {},\n    __requestType: null as any,\n    __originalRequestType: null as any,\n    __responseType: null as any,\n    __originalResponseType: null as any,\n  };\n}\n\nexport function getPlan(): __PublicMethodMetaInfo<\n  'GET',\n  { planId: string },\n  ambassadorWixPricingPlansV3PlanUniversalTypes.GetPlanRequest,\n  ambassadorWixPricingPlansV3PlanTypes.GetPlanRequest,\n  ambassadorWixPricingPlansV3PlanUniversalTypes.GetPlanResponse,\n  ambassadorWixPricingPlansV3PlanTypes.GetPlanResponse\n> {\n  const payload = { planId: ':planId' } as any;\n\n  const getRequestOptions = ambassadorWixPricingPlansV3Plan.getPlan(payload);\n\n  const getUrl = (context: any): string => {\n    const { url } = getRequestOptions(context);\n    return url!;\n  };\n\n  return {\n    getUrl,\n    httpMethod: 'GET',\n    path: '/v3/plans/{planId}',\n    pathParams: { planId: 'planId' },\n    __requestType: null as any,\n    __originalRequestType: null as any,\n    __responseType: null as any,\n    __originalResponseType: null as any,\n  };\n}\n\nexport function updatePlan(): __PublicMethodMetaInfo<\n  'PATCH',\n  { planId: string },\n  ambassadorWixPricingPlansV3PlanUniversalTypes.UpdatePlanRequest,\n  ambassadorWixPricingPlansV3PlanTypes.UpdatePlanRequest,\n  ambassadorWixPricingPlansV3PlanUniversalTypes.UpdatePlanResponse,\n  ambassadorWixPricingPlansV3PlanTypes.UpdatePlanResponse\n> {\n  const payload = { plan: { id: ':planId' } } as any;\n\n  const getRequestOptions = ambassadorWixPricingPlansV3Plan.updatePlan(payload);\n\n  const getUrl = (context: any): string => {\n    const { url } = getRequestOptions(context);\n    return url!;\n  };\n\n  return {\n    getUrl,\n    httpMethod: 'PATCH',\n    path: '/v3/plans/{plan.id}',\n    pathParams: { planId: 'planId' },\n    __requestType: null as any,\n    __originalRequestType: null as any,\n    __responseType: null as any,\n    __originalResponseType: null as any,\n  };\n}\n\nexport function bulkUpdatePlans(): __PublicMethodMetaInfo<\n  'POST',\n  {},\n  ambassadorWixPricingPlansV3PlanUniversalTypes.BulkUpdatePlansRequest,\n  ambassadorWixPricingPlansV3PlanTypes.BulkUpdatePlansRequest,\n  ambassadorWixPricingPlansV3PlanUniversalTypes.BulkUpdatePlansResponse,\n  ambassadorWixPricingPlansV3PlanTypes.BulkUpdatePlansResponse\n> {\n  const payload = {} as any;\n\n  const getRequestOptions =\n    ambassadorWixPricingPlansV3Plan.bulkUpdatePlans(payload);\n\n  const getUrl = (context: any): string => {\n    const { url } = getRequestOptions(context);\n    return url!;\n  };\n\n  return {\n    getUrl,\n    httpMethod: 'POST',\n    path: '/v3/bulk/plans/update',\n    pathParams: {},\n    __requestType: null as any,\n    __originalRequestType: null as any,\n    __responseType: null as any,\n    __originalResponseType: null as any,\n  };\n}\n\nexport function bulkUpdatePlanTags(): __PublicMethodMetaInfo<\n  'POST',\n  {},\n  ambassadorWixPricingPlansV3PlanUniversalTypes.BulkUpdatePlanTagsRequest,\n  ambassadorWixPricingPlansV3PlanTypes.BulkUpdatePlanTagsRequest,\n  ambassadorWixPricingPlansV3PlanUniversalTypes.BulkUpdatePlanTagsResponse,\n  ambassadorWixPricingPlansV3PlanTypes.BulkUpdatePlanTagsResponse\n> {\n  const payload = {} as any;\n\n  const getRequestOptions =\n    ambassadorWixPricingPlansV3Plan.bulkUpdatePlanTags(payload);\n\n  const getUrl = (context: any): string => {\n    const { url } = getRequestOptions(context);\n    return url!;\n  };\n\n  return {\n    getUrl,\n    httpMethod: 'POST',\n    path: '/v3/bulk/plans/update-tags',\n    pathParams: {},\n    __requestType: null as any,\n    __originalRequestType: null as any,\n    __responseType: null as any,\n    __originalResponseType: null as any,\n  };\n}\n\nexport function bulkUpdatePlanTagsByFilter(): __PublicMethodMetaInfo<\n  'POST',\n  {},\n  ambassadorWixPricingPlansV3PlanUniversalTypes.BulkUpdatePlanTagsByFilterRequest,\n  ambassadorWixPricingPlansV3PlanTypes.BulkUpdatePlanTagsByFilterRequest,\n  ambassadorWixPricingPlansV3PlanUniversalTypes.BulkUpdatePlanTagsByFilterResponse,\n  ambassadorWixPricingPlansV3PlanTypes.BulkUpdatePlanTagsByFilterResponse\n> {\n  const payload = {} as any;\n\n  const getRequestOptions =\n    ambassadorWixPricingPlansV3Plan.bulkUpdatePlanTagsByFilter(payload);\n\n  const getUrl = (context: any): string => {\n    const { url } = getRequestOptions(context);\n    return url!;\n  };\n\n  return {\n    getUrl,\n    httpMethod: 'POST',\n    path: '/v3/bulk/plans/update-tags-by-filter',\n    pathParams: {},\n    __requestType: null as any,\n    __originalRequestType: null as any,\n    __responseType: null as any,\n    __originalResponseType: null as any,\n  };\n}\n\nexport function deletePlan(): __PublicMethodMetaInfo<\n  'DELETE',\n  { planId: string },\n  ambassadorWixPricingPlansV3PlanUniversalTypes.DeletePlanRequest,\n  ambassadorWixPricingPlansV3PlanTypes.DeletePlanRequest,\n  ambassadorWixPricingPlansV3PlanUniversalTypes.DeletePlanResponse,\n  ambassadorWixPricingPlansV3PlanTypes.DeletePlanResponse\n> {\n  const payload = { planId: ':planId' } as any;\n\n  const getRequestOptions = ambassadorWixPricingPlansV3Plan.deletePlan(payload);\n\n  const getUrl = (context: any): string => {\n    const { url } = getRequestOptions(context);\n    return url!;\n  };\n\n  return {\n    getUrl,\n    httpMethod: 'DELETE',\n    path: '/v3/plans/{planId}',\n    pathParams: { planId: 'planId' },\n    __requestType: null as any,\n    __originalRequestType: null as any,\n    __responseType: null as any,\n    __originalResponseType: null as any,\n  };\n}\n\nexport function queryPlans(): __PublicMethodMetaInfo<\n  'GET',\n  {},\n  ambassadorWixPricingPlansV3PlanUniversalTypes.QueryPlansRequest,\n  ambassadorWixPricingPlansV3PlanTypes.QueryPlansRequest,\n  ambassadorWixPricingPlansV3PlanUniversalTypes.QueryPlansResponse,\n  ambassadorWixPricingPlansV3PlanTypes.QueryPlansResponse\n> {\n  const payload = {} as any;\n\n  const getRequestOptions = ambassadorWixPricingPlansV3Plan.queryPlans(payload);\n\n  const getUrl = (context: any): string => {\n    const { url } = getRequestOptions(context);\n    return url!;\n  };\n\n  return {\n    getUrl,\n    httpMethod: 'GET',\n    path: '/v3/plans/query',\n    pathParams: {},\n    __requestType: null as any,\n    __originalRequestType: null as any,\n    __responseType: null as any,\n    __originalResponseType: null as any,\n  };\n}\n\nexport function searchPlans(): __PublicMethodMetaInfo<\n  'GET',\n  {},\n  ambassadorWixPricingPlansV3PlanUniversalTypes.SearchPlansRequest,\n  ambassadorWixPricingPlansV3PlanTypes.SearchPlansRequest,\n  ambassadorWixPricingPlansV3PlanUniversalTypes.SearchPlansResponse,\n  ambassadorWixPricingPlansV3PlanTypes.SearchPlansResponse\n> {\n  const payload = {} as any;\n\n  const getRequestOptions =\n    ambassadorWixPricingPlansV3Plan.searchPlans(payload);\n\n  const getUrl = (context: any): string => {\n    const { url } = getRequestOptions(context);\n    return url!;\n  };\n\n  return {\n    getUrl,\n    httpMethod: 'GET',\n    path: '/v3/plans/search',\n    pathParams: {},\n    __requestType: null as any,\n    __originalRequestType: null as any,\n    __responseType: null as any,\n    __originalResponseType: null as any,\n  };\n}\n\nexport function countPlans(): __PublicMethodMetaInfo<\n  'POST',\n  {},\n  ambassadorWixPricingPlansV3PlanUniversalTypes.CountPlansRequest,\n  ambassadorWixPricingPlansV3PlanTypes.CountPlansRequest,\n  ambassadorWixPricingPlansV3PlanUniversalTypes.CountPlansResponse,\n  ambassadorWixPricingPlansV3PlanTypes.CountPlansResponse\n> {\n  const payload = {} as any;\n\n  const getRequestOptions = ambassadorWixPricingPlansV3Plan.countPlans(payload);\n\n  const getUrl = (context: any): string => {\n    const { url } = getRequestOptions(context);\n    return url!;\n  };\n\n  return {\n    getUrl,\n    httpMethod: 'POST',\n    path: '/v3/plans/count',\n    pathParams: {},\n    __requestType: null as any,\n    __originalRequestType: null as any,\n    __responseType: null as any,\n    __originalResponseType: null as any,\n  };\n}\n\nexport {\n  Plan as PlanOriginal,\n  Image as ImageOriginal,\n  PricingVariant as PricingVariantOriginal,\n  FlatRate as FlatRateOriginal,\n  CustomerChosenPrice as CustomerChosenPriceOriginal,\n  CustomAmount as CustomAmountOriginal,\n  PredefinedAmounts as PredefinedAmountsOriginal,\n  Fee as FeeOriginal,\n  FeePriceOptionOneOf as FeePriceOptionOneOfOriginal,\n  PriceType as PriceTypeOriginal,\n  PriceTypeWithLiterals as PriceTypeWithLiteralsOriginal,\n  FixedAmountOption as FixedAmountOptionOriginal,\n  AppliedAt as AppliedAtOriginal,\n  AppliedAtWithLiterals as AppliedAtWithLiteralsOriginal,\n  BillingTerms as BillingTermsOriginal,\n  BillingTermsEndOptionOneOf as BillingTermsEndOptionOneOfOriginal,\n  V3Duration as V3DurationOriginal,\n  Period as PeriodOriginal,\n  PeriodWithLiterals as PeriodWithLiteralsOriginal,\n  StartType as StartTypeOriginal,\n  StartTypeWithLiterals as StartTypeWithLiteralsOriginal,\n  EndType as EndTypeOriginal,\n  EndTypeWithLiterals as EndTypeWithLiteralsOriginal,\n  CyclesCompletedDetails as CyclesCompletedDetailsOriginal,\n  PricingStrategy as PricingStrategyOriginal,\n  PricingStrategyStrategyOneOf as PricingStrategyStrategyOneOfOriginal,\n  PriceOverrides as PriceOverridesOriginal,\n  PriceOverride as PriceOverrideOriginal,\n  PriceOverrideOverrideOptionOneOf as PriceOverrideOverrideOptionOneOfOriginal,\n  PurchaseConditions as PurchaseConditionsOriginal,\n  PurchaseConditionsCustomerEligibilityOptionOneOf as PurchaseConditionsCustomerEligibilityOptionOneOfOriginal,\n  CustomerEligibility as CustomerEligibilityOriginal,\n  CustomerEligibilityWithLiterals as CustomerEligibilityWithLiteralsOriginal,\n  SpecificMembersOptions as SpecificMembersOptionsOriginal,\n  PriceOverrideOverrideType as PriceOverrideOverrideTypeOriginal,\n  PriceOverrideOverrideTypeWithLiterals as PriceOverrideOverrideTypeWithLiteralsOriginal,\n  FixedPriceOptions as FixedPriceOptionsOriginal,\n  PercentageDiscountOptions as PercentageDiscountOptionsOriginal,\n  FeeOverrides as FeeOverridesOriginal,\n  FeeOverride as FeeOverrideOriginal,\n  FeeOverrideOverrideOptionOneOf as FeeOverrideOverrideOptionOneOfOriginal,\n  OverrideType as OverrideTypeOriginal,\n  OverrideTypeWithLiterals as OverrideTypeWithLiteralsOriginal,\n  FixedAmountOptions as FixedAmountOptionsOriginal,\n  Perk as PerkOriginal,\n  Visibility as VisibilityOriginal,\n  VisibilityWithLiterals as VisibilityWithLiteralsOriginal,\n  Status as StatusOriginal,\n  StatusWithLiterals as StatusWithLiteralsOriginal,\n  TermsAndConditionsSettings as TermsAndConditionsSettingsOriginal,\n  ThankYouPageSettings as ThankYouPageSettingsOriginal,\n  PurchaseLimit as PurchaseLimitOriginal,\n  PurchaseLimitType as PurchaseLimitTypeOriginal,\n  PurchaseLimitTypeWithLiterals as PurchaseLimitTypeWithLiteralsOriginal,\n  BenefitDistributionSettings as BenefitDistributionSettingsOriginal,\n  BenefitDistributionSettingsDistributionStrategyOneOf as BenefitDistributionSettingsDistributionStrategyOneOfOriginal,\n  DurationUnit as DurationUnitOriginal,\n  DurationUnitWithLiterals as DurationUnitWithLiteralsOriginal,\n  Duration as DurationOriginal,\n  DistributionStrategyType as DistributionStrategyTypeOriginal,\n  DistributionStrategyTypeWithLiterals as DistributionStrategyTypeWithLiteralsOriginal,\n  CustomScheduleOptions as CustomScheduleOptionsOriginal,\n  StartDateSettings as StartDateSettingsOriginal,\n  StartDateSettingsStartDateOptionOneOf as StartDateSettingsStartDateOptionOneOfOriginal,\n  StartDateType as StartDateTypeOriginal,\n  StartDateTypeWithLiterals as StartDateTypeWithLiteralsOriginal,\n  FixedDateOptions as FixedDateOptionsOriginal,\n  DayOfMonthOptions as DayOfMonthOptionsOriginal,\n  DateRangeOptions as DateRangeOptionsOriginal,\n  Tags as TagsOriginal,\n  TagList as TagListOriginal,\n  ExtendedFields as ExtendedFieldsOriginal,\n  PlanTranslated as PlanTranslatedOriginal,\n  PlanTranslationDeleted as PlanTranslationDeletedOriginal,\n  PlanTagsModified as PlanTagsModifiedOriginal,\n  ValidateOptionsRequest as ValidateOptionsRequestOriginal,\n  Options as OptionsOriginal,\n  OptionsOptionsOneOf as OptionsOptionsOneOfOriginal,\n  Type as TypeOriginal,\n  TypeWithLiterals as TypeWithLiteralsOriginal,\n  PlanOptions as PlanOptionsOriginal,\n  PlanOptionsPricingStrategyOptionsOneOf as PlanOptionsPricingStrategyOptionsOneOfOriginal,\n  TaxableAddress as TaxableAddressOriginal,\n  TaxableAddressWithLiterals as TaxableAddressWithLiteralsOriginal,\n  ValidationStrategy as ValidationStrategyOriginal,\n  ValidationStrategyWithLiterals as ValidationStrategyWithLiteralsOriginal,\n  PurchaseFlow as PurchaseFlowOriginal,\n  PurchaseFlowWithLiterals as PurchaseFlowWithLiteralsOriginal,\n  PricingStrategyType as PricingStrategyTypeOriginal,\n  PricingStrategyTypeWithLiterals as PricingStrategyTypeWithLiteralsOriginal,\n  CustomerChosenPriceOptions as CustomerChosenPriceOptionsOriginal,\n  FreeTrialPolicy as FreeTrialPolicyOriginal,\n  FreeTrialPolicyWithLiterals as FreeTrialPolicyWithLiteralsOriginal,\n  TopUpOptions as TopUpOptionsOriginal,\n  ValidateOptionsResponse as ValidateOptionsResponseOriginal,\n  Violation as ViolationOriginal,\n  GetPlanConfigurationConstraintsRequest as GetPlanConfigurationConstraintsRequestOriginal,\n  GetPlanConfigurationConstraintsResponse as GetPlanConfigurationConstraintsResponseOriginal,\n  StartDateLimits as StartDateLimitsOriginal,\n  StartDateRules as StartDateRulesOriginal,\n  StartDateRulesDateRulesOneOf as StartDateRulesDateRulesOneOfOriginal,\n  RulesType as RulesTypeOriginal,\n  RulesTypeWithLiterals as RulesTypeWithLiteralsOriginal,\n  FixedDatesOptions as FixedDatesOptionsOriginal,\n  RecurrenceOptions as RecurrenceOptionsOriginal,\n  RecurrenceOptionsRecurrenceOneOf as RecurrenceOptionsRecurrenceOneOfOriginal,\n  RecurrenceType as RecurrenceTypeOriginal,\n  RecurrenceTypeWithLiterals as RecurrenceTypeWithLiteralsOriginal,\n  WeeklyRecurrence as WeeklyRecurrenceOriginal,\n  V1DayOfWeek as V1DayOfWeekOriginal,\n  V1DayOfWeekWithLiterals as V1DayOfWeekWithLiteralsOriginal,\n  MonthlyRecurrence as MonthlyRecurrenceOriginal,\n  ListPlanConfigurationConstraintsRequest as ListPlanConfigurationConstraintsRequestOriginal,\n  ListPlanConfigurationConstraintsResponse as ListPlanConfigurationConstraintsResponseOriginal,\n  PlanConstraintsResult as PlanConstraintsResultOriginal,\n  GetPlanPreviewRequest as GetPlanPreviewRequestOriginal,\n  GetPlanPreviewResponse as GetPlanPreviewResponseOriginal,\n  ListPlanPreviewsRequest as ListPlanPreviewsRequestOriginal,\n  PlanPreviewSelector as PlanPreviewSelectorOriginal,\n  ListPlanPreviewsResponse as ListPlanPreviewsResponseOriginal,\n  SitePropertiesNotification as SitePropertiesNotificationOriginal,\n  SitePropertiesEvent as SitePropertiesEventOriginal,\n  Properties as PropertiesOriginal,\n  Categories as CategoriesOriginal,\n  Locale as LocaleOriginal,\n  Address as AddressOriginal,\n  AddressHint as AddressHintOriginal,\n  PlacementType as PlacementTypeOriginal,\n  PlacementTypeWithLiterals as PlacementTypeWithLiteralsOriginal,\n  GeoCoordinates as GeoCoordinatesOriginal,\n  BusinessSchedule as BusinessScheduleOriginal,\n  TimePeriod as TimePeriodOriginal,\n  DayOfWeek as DayOfWeekOriginal,\n  DayOfWeekWithLiterals as DayOfWeekWithLiteralsOriginal,\n  SpecialHourPeriod as SpecialHourPeriodOriginal,\n  Multilingual as MultilingualOriginal,\n  SupportedLanguage as SupportedLanguageOriginal,\n  ResolutionMethod as ResolutionMethodOriginal,\n  ResolutionMethodWithLiterals as ResolutionMethodWithLiteralsOriginal,\n  ConsentPolicy as ConsentPolicyOriginal,\n  Translation as TranslationOriginal,\n  ChangeContext as ChangeContextOriginal,\n  ChangeContextPayloadOneOf as ChangeContextPayloadOneOfOriginal,\n  PropertiesChange as PropertiesChangeOriginal,\n  SiteCreated as SiteCreatedOriginal,\n  SiteCloned as SiteClonedOriginal,\n  Empty as EmptyOriginal,\n  DomainEvent as DomainEventOriginal,\n  DomainEventBodyOneOf as DomainEventBodyOneOfOriginal,\n  EntityCreatedEvent as EntityCreatedEventOriginal,\n  RestoreInfo as RestoreInfoOriginal,\n  EntityUpdatedEvent as EntityUpdatedEventOriginal,\n  EntityDeletedEvent as EntityDeletedEventOriginal,\n  ActionEvent as ActionEventOriginal,\n  MessageEnvelope as MessageEnvelopeOriginal,\n  IdentificationData as IdentificationDataOriginal,\n  IdentificationDataIdOneOf as IdentificationDataIdOneOfOriginal,\n  WebhookIdentityType as WebhookIdentityTypeOriginal,\n  WebhookIdentityTypeWithLiterals as WebhookIdentityTypeWithLiteralsOriginal,\n  AccountInfo as AccountInfoOriginal,\n  CreatePlanRequest as CreatePlanRequestOriginal,\n  CreatePlanResponse as CreatePlanResponseOriginal,\n  GetPlanRequest as GetPlanRequestOriginal,\n  GetPlanResponse as GetPlanResponseOriginal,\n  UpdatePlanRequest as UpdatePlanRequestOriginal,\n  Cascade as CascadeOriginal,\n  CascadeWithLiterals as CascadeWithLiteralsOriginal,\n  UpdatePlanResponse as UpdatePlanResponseOriginal,\n  BulkUpdatePlansRequest as BulkUpdatePlansRequestOriginal,\n  MaskedPlan as MaskedPlanOriginal,\n  BulkUpdatePlansResponse as BulkUpdatePlansResponseOriginal,\n  ItemMetadata as ItemMetadataOriginal,\n  ApplicationError as ApplicationErrorOriginal,\n  BulkPlanResult as BulkPlanResultOriginal,\n  BulkActionMetadata as BulkActionMetadataOriginal,\n  BulkUpdatePlanTagsRequest as BulkUpdatePlanTagsRequestOriginal,\n  BulkUpdatePlanTagsResponse as BulkUpdatePlanTagsResponseOriginal,\n  BulkUpdatePlanTagsResult as BulkUpdatePlanTagsResultOriginal,\n  BulkUpdatePlanTagsByFilterRequest as BulkUpdatePlanTagsByFilterRequestOriginal,\n  BulkUpdatePlanTagsByFilterResponse as BulkUpdatePlanTagsByFilterResponseOriginal,\n  DeletePlanRequest as DeletePlanRequestOriginal,\n  DeletePlanResponse as DeletePlanResponseOriginal,\n  QueryPlansRequest as QueryPlansRequestOriginal,\n  QueryV2 as QueryV2Original,\n  QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOfOriginal,\n  Sorting as SortingOriginal,\n  SortOrder as SortOrderOriginal,\n  SortOrderWithLiterals as SortOrderWithLiteralsOriginal,\n  Paging as PagingOriginal,\n  CursorPaging as CursorPagingOriginal,\n  QueryPlansResponse as QueryPlansResponseOriginal,\n  PagingMetadataV2 as PagingMetadataV2Original,\n  Cursors as CursorsOriginal,\n  SearchPlansRequest as SearchPlansRequestOriginal,\n  CursorSearch as CursorSearchOriginal,\n  CursorSearchPagingMethodOneOf as CursorSearchPagingMethodOneOfOriginal,\n  Aggregation as AggregationOriginal,\n  AggregationKindOneOf as AggregationKindOneOfOriginal,\n  RangeBucket as RangeBucketOriginal,\n  SortType as SortTypeOriginal,\n  SortTypeWithLiterals as SortTypeWithLiteralsOriginal,\n  SortDirection as SortDirectionOriginal,\n  SortDirectionWithLiterals as SortDirectionWithLiteralsOriginal,\n  MissingValues as MissingValuesOriginal,\n  MissingValuesWithLiterals as MissingValuesWithLiteralsOriginal,\n  IncludeMissingValuesOptions as IncludeMissingValuesOptionsOriginal,\n  ScalarType as ScalarTypeOriginal,\n  ScalarTypeWithLiterals as ScalarTypeWithLiteralsOriginal,\n  ValueAggregation as ValueAggregationOriginal,\n  ValueAggregationOptionsOneOf as ValueAggregationOptionsOneOfOriginal,\n  NestedAggregationType as NestedAggregationTypeOriginal,\n  NestedAggregationTypeWithLiterals as NestedAggregationTypeWithLiteralsOriginal,\n  RangeAggregation as RangeAggregationOriginal,\n  ScalarAggregation as ScalarAggregationOriginal,\n  DateHistogramAggregation as DateHistogramAggregationOriginal,\n  Interval as IntervalOriginal,\n  IntervalWithLiterals as IntervalWithLiteralsOriginal,\n  NestedAggregationItem as NestedAggregationItemOriginal,\n  NestedAggregationItemKindOneOf as NestedAggregationItemKindOneOfOriginal,\n  AggregationType as AggregationTypeOriginal,\n  AggregationTypeWithLiterals as AggregationTypeWithLiteralsOriginal,\n  NestedAggregation as NestedAggregationOriginal,\n  SearchDetails as SearchDetailsOriginal,\n  Mode as ModeOriginal,\n  ModeWithLiterals as ModeWithLiteralsOriginal,\n  SearchPlansResponse as SearchPlansResponseOriginal,\n  CursorPagingMetadata as CursorPagingMetadataOriginal,\n  AggregationData as AggregationDataOriginal,\n  ValueAggregationResult as ValueAggregationResultOriginal,\n  RangeAggregationResult as RangeAggregationResultOriginal,\n  NestedAggregationResults as NestedAggregationResultsOriginal,\n  NestedAggregationResultsResultOneOf as NestedAggregationResultsResultOneOfOriginal,\n  ValueResults as ValueResultsOriginal,\n  RangeResults as RangeResultsOriginal,\n  AggregationResultsScalarResult as AggregationResultsScalarResultOriginal,\n  NestedValueAggregationResult as NestedValueAggregationResultOriginal,\n  ValueResult as ValueResultOriginal,\n  RangeResult as RangeResultOriginal,\n  ScalarResult as ScalarResultOriginal,\n  NestedResultValue as NestedResultValueOriginal,\n  NestedResultValueResultOneOf as NestedResultValueResultOneOfOriginal,\n  Results as ResultsOriginal,\n  DateHistogramResult as DateHistogramResultOriginal,\n  GroupByValueResults as GroupByValueResultsOriginal,\n  DateHistogramResults as DateHistogramResultsOriginal,\n  NestedResults as NestedResultsOriginal,\n  AggregationResults as AggregationResultsOriginal,\n  AggregationResultsResultOneOf as AggregationResultsResultOneOfOriginal,\n  CountPlansRequest as CountPlansRequestOriginal,\n  CountPlansResponse as CountPlansResponseOriginal,\n  ChangePriceRequest as ChangePriceRequestOriginal,\n  ChangePriceResponse as ChangePriceResponseOriginal,\n  ClonePlanRequest as ClonePlanRequestOriginal,\n  ClonePlanResponse as ClonePlanResponseOriginal,\n  GetPlanPreviewApplicationErrors as GetPlanPreviewApplicationErrorsOriginal,\n  CreatePlanApplicationErrors as CreatePlanApplicationErrorsOriginal,\n  CreatePlanValidationErrors as CreatePlanValidationErrorsOriginal,\n  UpdatePlanValidationErrors as UpdatePlanValidationErrorsOriginal,\n  BulkUpdatePlansValidationErrors as BulkUpdatePlansValidationErrorsOriginal,\n  BulkUpdatePlanTagsApplicationErrors as BulkUpdatePlanTagsApplicationErrorsOriginal,\n  BulkUpdatePlanTagsByFilterApplicationErrors as BulkUpdatePlanTagsByFilterApplicationErrorsOriginal,\n} from './pricing-plans-v3-plan-plans-v-3.types.js';\n"],"mappings":"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","names":["payload","PriceType","AppliedAt","Period","StartType","EndType","CustomerEligibility","PriceOverrideOverrideType","OverrideType","Visibility","Status","PurchaseLimitType","DurationUnit","DistributionStrategyType","StartDateType","Type","TaxableAddress","ValidationStrategy","PurchaseFlow","PricingStrategyType","FreeTrialPolicy","RulesType","RecurrenceType","V1DayOfWeek","PlacementType","DayOfWeek","ResolutionMethod","WebhookIdentityType","Cascade","SortOrder","SortType","SortDirection","MissingValues","ScalarType","NestedAggregationType","Interval","AggregationType","Mode","getPlanConfigurationConstraints","getPlanPreview","listPlanPreviews","createPlan","getPlan","updatePlan","bulkUpdatePlans","bulkUpdatePlanTags","bulkUpdatePlanTagsByFilter","deletePlan","queryPlans","searchPlans","countPlans"]}