{"version":3,"sources":["../../src/loyalty-v1-account-accounts.http.ts","../../src/loyalty-v1-account-accounts.types.ts","../../src/loyalty-v1-account-accounts.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 { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveComWixpressLoyaltyAccountLoyaltyAccountsUrl(\n  opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n  const domainToMappings = {\n    'manage._base_domain_': [\n      {\n        srcPath: '/_api/loyalty-accounts',\n        destPath: '',\n      },\n    ],\n    _: [\n      {\n        srcPath: '/_api/loyalty-accounts',\n        destPath: '',\n      },\n    ],\n    'editor.wixapps.net': [\n      {\n        srcPath: '/_api/loyalty-accounts',\n        destPath: '',\n      },\n    ],\n    'editor._base_domain_': [\n      {\n        srcPath: '/_api/loyalty-accounts',\n        destPath: '',\n      },\n    ],\n    'blocks._base_domain_': [\n      {\n        srcPath: '/_api/loyalty-accounts',\n        destPath: '',\n      },\n    ],\n    'create.editorx': [\n      {\n        srcPath: '/_api/loyalty-accounts',\n        destPath: '',\n      },\n    ],\n    'www._base_domain_': [\n      {\n        srcPath: '/_api/loyalty-accounts',\n        destPath: '',\n      },\n    ],\n    '*.dev.wix-code.com': [\n      {\n        srcPath: '/_api/loyalty-accounts',\n        destPath: '',\n      },\n    ],\n    '*.pub.wix-code.com': [\n      {\n        srcPath: '/_api/loyalty-accounts',\n        destPath: '',\n      },\n    ],\n    'www.wixapis.com': [\n      {\n        srcPath: '/loyalty-accounts',\n        destPath: '',\n      },\n    ],\n    'api._api_base_domain_': [\n      {\n        srcPath: '/loyalty-accounts',\n        destPath: '',\n      },\n    ],\n  };\n\n  return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_loyalty_accounts';\n\n/**\n * Creates a loyalty account for a site contact.\n *\n * To create a new loyalty account, a customer must first be a site contact with a contact ID, see the Contacts API.\n * The site must also have an [active loyalty program](https://dev.wix.com/docs/rest/crm/loyalty-program/program/activate-loyalty-program)\n * before loyalty accounts can be created.\n */\nexport function createAccount(payload: object): RequestOptionsFactory<any> {\n  function __createAccount({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.loyalty.v1.account',\n      method: 'POST' as any,\n      methodFqn: 'com.wixpress.loyalty.account.LoyaltyAccounts.CreateAccount',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressLoyaltyAccountLoyaltyAccountsUrl({\n        protoPath: '/v1/accounts',\n        data: payload,\n        host,\n      }),\n      data: payload,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'account.createdDate' },\n              { path: 'account.updatedDate' },\n              { path: 'account.lastActivityDate' },\n              { path: 'account.tier.updatedDate' },\n              { path: 'account.tier.recalculationDate' },\n              { path: 'account.pointsExpiration.expirationDate' },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __createAccount;\n}\n\n/**\n * Adds points to a loyalty account.\n *\n * Only a positive amount can be added using this method. To adjust an account's balance\n * for a negative amount, use Adjust Points.\n *\n * This method allows customers to manually earn points to their loyalty accounts. To use this method you must include an `appId` and an `idempotencyKey`.\n * Any string can be set as the `appId` or `idempotencyKey`. In contrast to when an account earns points through an action taken on your site, then,\n * the `appId` automatically sets to the source app that generates the points. In both cases, the transaction `type` is `\"EARN\"`.\n */\nexport function earnPoints(payload: object): RequestOptionsFactory<any> {\n  function __earnPoints({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.loyalty.v1.account',\n      method: 'POST' as any,\n      methodFqn: 'com.wixpress.loyalty.account.LoyaltyAccounts.EarnPoints',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressLoyaltyAccountLoyaltyAccountsUrl({\n        protoPath: '/v1/accounts/{accountId}/earn-points',\n        data: payload,\n        host,\n      }),\n      data: payload,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'account.createdDate' },\n              { path: 'account.updatedDate' },\n              { path: 'account.lastActivityDate' },\n              { path: 'account.tier.updatedDate' },\n              { path: 'account.tier.recalculationDate' },\n              { path: 'account.pointsExpiration.expirationDate' },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __earnPoints;\n}\n\n/**\n * Adjusts the point balance of a loyalty account.\n *\n * You can adjust the balance in two ways:\n * - `balance` allows you to set the total points balance to this new amount. The transaction `type` will return as `\"ADJUST\"`.\n * - `amount` allows you to adjust the points balance by this amount. This amount can be a positive number to increase the points balance or a negative number to decrease the balance. The transaction `type` will return as `\"GIVE\"`.\n *\n * An account may not be adjusted to result in a negative balance. If you pass an integer in both the `balance` and the `amount` parameters then the `balance` adjustment takes effect and the\n * `amount` adjustment is ignored.\n */\nexport function adjustPoints(payload: object): RequestOptionsFactory<any> {\n  function __adjustPoints({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.loyalty.v1.account',\n      method: 'POST' as any,\n      methodFqn: 'com.wixpress.loyalty.account.LoyaltyAccounts.AdjustPoints',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressLoyaltyAccountLoyaltyAccountsUrl({\n        protoPath: '/v1/accounts/{accountId}/adjust-points',\n        data: payload,\n        host,\n      }),\n      data: payload,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'account.createdDate' },\n              { path: 'account.updatedDate' },\n              { path: 'account.lastActivityDate' },\n              { path: 'account.tier.updatedDate' },\n              { path: 'account.tier.recalculationDate' },\n              { path: 'account.pointsExpiration.expirationDate' },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __adjustPoints;\n}\n\n/**\n * Retrieves a loyalty account by ID.\n *\n * You can also retrieve an account using a secondary ID, such as a contact ID or a member ID by calling\n * Get Account by Secondary ID.\n */\nexport function getAccount(payload: object): RequestOptionsFactory<any> {\n  function __getAccount({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.loyalty.v1.account',\n      method: 'GET' as any,\n      methodFqn: 'com.wixpress.loyalty.account.LoyaltyAccounts.GetAccount',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressLoyaltyAccountLoyaltyAccountsUrl({\n        protoPath: '/v1/accounts/{id}',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'account.createdDate' },\n              { path: 'account.updatedDate' },\n              { path: 'account.lastActivityDate' },\n              { path: 'account.tier.updatedDate' },\n              { path: 'account.tier.recalculationDate' },\n              { path: 'account.pointsExpiration.expirationDate' },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __getAccount;\n}\n\n/**\n * Creates a query to retrieve a list of accounts.\n *\n * The `queryLoyaltyAccounts()` method builds a query to retrieve a list of events and returns a `LoyaltyAccountsQueryBuilder` object.\n *\n * The returned object contains the query definition, which is typically used to run the query using the `find()` method.\n *\n * You can refine the query by chaining `LoyaltyAccountsQueryBuilder` methods onto the query. `LoyaltyAccountsQueryBuilder` methods enable you to sort, filter, and control the results `queryLoyaltyAccounts()` returns.\n *\n * `queryLoyaltyAccounts()` runs with these `LoyaltyAccountsQueryBuilder` defaults, which you can override:\n *\n * - `skip(0)`\n * - `limit(50)`\n * - `descending(\"_createdDate\")`\n *\n * The methods that are chained to `queryLoyaltyAccounts()` are applied in the order they're called. For example, if you apply `ascending(\"points.balance\")` and then `descending(\"points.earned\")`, the results are sorted first by the balance, and then, if there are multiple results with the same balance, the items are sorted by earned points.\n */\nexport function queryLoyaltyAccounts(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __queryLoyaltyAccounts({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.loyalty.v1.account',\n      method: 'POST' as any,\n      methodFqn:\n        'com.wixpress.loyalty.account.LoyaltyAccounts.QueryLoyaltyAccounts',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressLoyaltyAccountLoyaltyAccountsUrl({\n        protoPath: '/v1/accounts/query',\n        data: payload,\n        host,\n      }),\n      data: payload,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'loyaltyAccounts.createdDate' },\n              { path: 'loyaltyAccounts.updatedDate' },\n              { path: 'loyaltyAccounts.lastActivityDate' },\n              { path: 'loyaltyAccounts.tier.updatedDate' },\n              { path: 'loyaltyAccounts.tier.recalculationDate' },\n              { path: 'loyaltyAccounts.pointsExpiration.expirationDate' },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __queryLoyaltyAccounts;\n}\n\n/**\n * Retrieves the total amount of points earned, redeemed, and adjusted for the entire loyalty program.\n *\n * The `balance` is the current total of points outstanding, while the `earned`, `adjusted`, and `redeemed` amounts\n * are the all-time accumulated amounts. The totals include the amounts for all loyalty accounts.\n */\nexport function getProgramTotals(payload: object): RequestOptionsFactory<any> {\n  function __getProgramTotals({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.loyalty.v1.account',\n      method: 'GET' as any,\n      methodFqn:\n        'com.wixpress.loyalty.account.LoyaltyAccounts.GetProgramTotals',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressLoyaltyAccountLoyaltyAccountsUrl({\n        protoPath: '/v1/accounts/program-totals',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n    };\n\n    return metadata;\n  }\n\n  return __getProgramTotals;\n}\n\n/** Retrieves the current member's loyalty account. */\nexport function getCurrentMemberAccount(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __getCurrentMemberAccount({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.loyalty.v1.account',\n      method: 'GET' as any,\n      methodFqn:\n        'com.wixpress.loyalty.account.LoyaltyAccounts.GetCurrentMemberAccount',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressLoyaltyAccountLoyaltyAccountsUrl({\n        protoPath: '/v1/accounts/my-account',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'account.createdDate' },\n              { path: 'account.updatedDate' },\n              { path: 'account.lastActivityDate' },\n              { path: 'account.tier.updatedDate' },\n              { path: 'account.tier.recalculationDate' },\n              { path: 'account.pointsExpiration.expirationDate' },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __getCurrentMemberAccount;\n}\n\n/**\n * Retrieves the account belonging to the specified contact or member.\n *\n * This method retrieves loyalty accounts using either a customer's contact ID or member ID. You can also retrieve an account\n * using the loyalty account ID with Get Account.\n */\nexport function getAccountBySecondaryId(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __getAccountBySecondaryId({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.loyalty.v1.account',\n      method: 'GET' as any,\n      methodFqn:\n        'com.wixpress.loyalty.account.LoyaltyAccounts.GetAccountBySecondaryId',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressLoyaltyAccountLoyaltyAccountsUrl({\n        protoPath: '/v1/accounts/fetch-by',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'account.createdDate' },\n              { path: 'account.updatedDate' },\n              { path: 'account.lastActivityDate' },\n              { path: 'account.tier.updatedDate' },\n              { path: 'account.tier.recalculationDate' },\n              { path: 'account.pointsExpiration.expirationDate' },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __getAccountBySecondaryId;\n}\n\n/**\n * Retrieves a list of accounts, given the provided filters.\n *\n * You can retrieve selected loyalty accounts with an array of `contactIds` or retrieve a list of all of a site's loyalty accounts\n * with an empty request parameter. Use the `cursorPaging` parameters to limit how many items load at a time.\n *\n * Deprecated method, please use Query Loyalty Accounts or Search Accounts instead.\n * @deprecated It has been replaced with com.wixpress.loyalty.account.LoyaltyAccounts.QueryLoyaltyAccounts(), and will be removed on 2025-06-30.\n */\nexport function listAccounts(payload: object): RequestOptionsFactory<any> {\n  function __listAccounts({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.loyalty.v1.account',\n      method: 'GET' as any,\n      methodFqn: 'com.wixpress.loyalty.account.LoyaltyAccounts.ListAccounts',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressLoyaltyAccountLoyaltyAccountsUrl({\n        protoPath: '/v1/accounts',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'accounts.createdDate' },\n              { path: 'accounts.updatedDate' },\n              { path: 'accounts.lastActivityDate' },\n              { path: 'accounts.tier.updatedDate' },\n              { path: 'accounts.tier.recalculationDate' },\n              { path: 'accounts.pointsExpiration.expirationDate' },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __listAccounts;\n}\n\n/**\n * Retrieves a list of accounts, given the provided filters and search capabilities.\n * Search is executed on the account's name and email values.\n */\nexport function searchAccounts(payload: object): RequestOptionsFactory<any> {\n  function __searchAccounts({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKFloatToRESTFloat,\n        paths: [\n          { path: 'search.aggregations.range.buckets.from' },\n          { path: 'search.aggregations.range.buckets.to' },\n          {\n            path: 'search.aggregations.nested.nestedAggregations.range.buckets.from',\n          },\n          {\n            path: 'search.aggregations.nested.nestedAggregations.range.buckets.to',\n          },\n        ],\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.loyalty.v1.account',\n      method: 'POST' as any,\n      methodFqn: 'com.wixpress.loyalty.account.LoyaltyAccounts.SearchAccounts',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressLoyaltyAccountLoyaltyAccountsUrl({\n        protoPath: '/v1/accounts/search',\n        data: serializedData,\n        host,\n      }),\n      data: serializedData,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'accounts.createdDate' },\n              { path: 'accounts.updatedDate' },\n              { path: 'accounts.lastActivityDate' },\n              { path: 'accounts.tier.updatedDate' },\n              { path: 'accounts.tier.recalculationDate' },\n              { path: 'accounts.pointsExpiration.expirationDate' },\n            ],\n          },\n          {\n            transformFn: transformRESTFloatToSDKFloat,\n            paths: [\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              {\n                path: 'aggregationData.results.nested.results.results.*.range.from',\n              },\n              {\n                path: 'aggregationData.results.nested.results.results.*.range.to',\n              },\n              { path: 'aggregationData.results.scalar.value' },\n              {\n                path: 'aggregationData.results.groupedByValue.results.nestedResults.scalar.value',\n              },\n              {\n                path: 'aggregationData.results.nested.results.results.*.scalar.value',\n              },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __searchAccounts;\n}\n\n/**\n * Retrieves the count of found accounts, given the provided filters and search capabilities.\n *\n * Use with Search Accounts to retrieve the total amount of loyalty accounts on a site.\n */\nexport function countAccounts(payload: object): RequestOptionsFactory<any> {\n  function __countAccounts({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.loyalty.v1.account',\n      method: 'POST' as any,\n      methodFqn: 'com.wixpress.loyalty.account.LoyaltyAccounts.CountAccounts',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressLoyaltyAccountLoyaltyAccountsUrl({\n        protoPath: '/v1/accounts/count',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __countAccounts;\n}\n\n/**\n * Updates the points balance of multiple accounts.\n *\n * You can adjust the balance in two ways:\n * - `balance` allows you to set the total points balance to this new amount. The transaction `type` will return as `\"ADJUST\"`.\n * - `amount` allows you to adjust the points balance by this amount. This amount can be a positive number to increase the points balance or a negative number to decrease the balance. The transaction `type` will return as `\"GIVE\"`.\n *\n * You can use the job ID from the response to call [Get Async Job](https://dev.wix.com/docs/api-reference/business-management/async-job/get-async-job)\n * to retrieve the job details and metadata.\n */\nexport function bulkAdjustPoints(payload: object): RequestOptionsFactory<any> {\n  function __bulkAdjustPoints({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKFloatToRESTFloat,\n        paths: [\n          { path: 'search.aggregations.range.buckets.from' },\n          { path: 'search.aggregations.range.buckets.to' },\n          {\n            path: 'search.aggregations.nested.nestedAggregations.range.buckets.from',\n          },\n          {\n            path: 'search.aggregations.nested.nestedAggregations.range.buckets.to',\n          },\n        ],\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.loyalty.v1.account',\n      method: 'POST' as any,\n      methodFqn:\n        'com.wixpress.loyalty.account.LoyaltyAccounts.BulkAdjustPoints',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressLoyaltyAccountLoyaltyAccountsUrl({\n        protoPath: '/v1/accounts/bulk-adjust',\n        data: serializedData,\n        host,\n      }),\n      data: serializedData,\n    };\n\n    return metadata;\n  }\n\n  return __bulkAdjustPoints;\n}\n","/**\n * A loyalty account stores a customer's loyalty points balance. A site's customers can earn points to their account\n * and redeem those points for rewards.\n */\nexport interface LoyaltyAccount {\n  /**\n   * Account ID.\n   * @format GUID\n   * @readonly\n   */\n  id?: string;\n  /**\n   * Account owner's contact ID. See the Contacts API to learn more about a site's contacts.\n   * @format GUID\n   * @readonly\n   */\n  contactId?: string;\n  /**\n   * Member ID of the account owner. See the Members API to learn more about a site's members.\n   * @format GUID\n   * @readonly\n   */\n  memberId?: string | null;\n  /**\n   * Details of the account's point totals.\n   * @readonly\n   */\n  points?: Points;\n  /**\n   * Whether the account has enough points in `points.balance` to redeem for a reward.\n   * @readonly\n   */\n  rewardAvailable?: boolean;\n  /**\n   * Date and time the account was created.\n   * @readonly\n   */\n  createdDate?: Date | null;\n  /**\n   * Date and time the account was last updated.\n   * @readonly\n   */\n  updatedDate?: Date | null;\n  /**\n   * Date and time of the account's last activity.\n   * @readonly\n   */\n  lastActivityDate?: Date | null;\n  /**\n   * Revision number, which increments by 1 each time the loyalty account is updated.\n   *\n   * To prevent conflicting changes, the current `revision` must be passed when updating the loyalty account.\n   *\n   * Ignored when creating an account.\n   */\n  revision?: string;\n  /**\n   * Tier information.\n   *\n   * See the Tiers API for more information.\n   * @readonly\n   */\n  tier?: Tier;\n  /**\n   * Contact information.\n   * @readonly\n   */\n  contact?: Contact;\n  /**\n   * Points expiration information.\n   * @readonly\n   */\n  pointsExpiration?: PointsExpiration;\n}\n\n/** Loyalty points information. */\nexport interface Points {\n  /**\n   * Current points balance.\n   *\n   * Equal to the sum of `earned` and `adjusted` points, minus `redeemed` points.\n   * @readonly\n   */\n  balance?: number;\n  /**\n   * Total earned points.\n   * @readonly\n   */\n  earned?: number;\n  /**\n   * Total adjusted points.\n   * @readonly\n   */\n  adjusted?: number;\n  /**\n   * Total redeemed points.\n   * @readonly\n   */\n  redeemed?: number;\n  /**\n   * Total expired points.\n   * @readonly\n   */\n  expired?: number;\n}\n\n/**\n * Tier information.\n *\n * See the Tiers API for more information.\n */\nexport interface Tier {\n  /**\n   * Tier ID.\n   *\n   * This field will not be returned if the account belongs to the base tier.\n   * @format GUID\n   * @readonly\n   */\n  id?: string | null;\n  /**\n   * Date and time the tier information was last recalculated.\n   * @readonly\n   */\n  updatedDate?: Date | null;\n  /**\n   * Points earned and adjusted over the tier's current rolling window.\n   * @readonly\n   */\n  points?: number;\n}\n\n/** Loyalty account's contact information. */\nexport interface Contact {\n  /**\n   * Contact ID.\n   * @format GUID\n   * @readonly\n   */\n  id?: string | null;\n  /**\n   * Contact's first and last name.\n   * @readonly\n   */\n  name?: string | null;\n  /**\n   * Contact's profile picture.\n   * @readonly\n   */\n  picture?: Image;\n  /**\n   * Contact's email address.\n   * @readonly\n   * @format EMAIL\n   */\n  email?: string | null;\n  /**\n   * Contact's first and last name. If no name is provided, uses contact's email.\n   * @readonly\n   */\n  displayName?: string | null;\n}\n\nexport interface Image {\n  /** WixMedia image ID. */\n  id?: string;\n  /** Image URL. */\n  url?: 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\nexport interface PointsExpiration {\n  /**\n   * Date and time at which points are expiring.\n   * @readonly\n   */\n  expirationDate?: Date | null;\n  /**\n   * Amount of points that are going to expire at that date.\n   * @readonly\n   */\n  expiringPointsAmount?: number;\n}\n\nexport interface RewardAvailabilityUpdated {\n  /** True if rewards is available. */\n  rewardAvailable?: boolean;\n  /** Source of this change. */\n  updateTrigger?: UpdateTriggerWithLiterals;\n}\n\nexport enum UpdateTrigger {\n  /** Undefined trigger. */\n  UNDEFINED = 'UNDEFINED',\n  /** Reward was updated. */\n  REWARD_UPDATED = 'REWARD_UPDATED',\n  /** Balance was updated. */\n  BALANCE_UPDATED = 'BALANCE_UPDATED',\n  /** Tiers were recalculated. */\n  TIERS_RECALCULATED = 'TIERS_RECALCULATED',\n}\n\n/** @enumType */\nexport type UpdateTriggerWithLiterals =\n  | UpdateTrigger\n  | 'UNDEFINED'\n  | 'REWARD_UPDATED'\n  | 'BALANCE_UPDATED'\n  | 'TIERS_RECALCULATED';\n\nexport interface CreateAccountRequest {\n  /**\n   * Contact ID for a site's contact. See the Contacts API for more information.\n   * @format GUID\n   */\n  contactId: string;\n}\n\nexport interface CreateAccountResponse {\n  /** Created loyalty account. */\n  account?: LoyaltyAccount;\n}\n\nexport interface EarnPointsRequest\n  extends EarnPointsRequestActivityDetailsOneOf {\n  /** Followed social media details. */\n  followedSocialMedia?: FollowedSocialMedia;\n  /**\n   * Loyalty account ID.\n   * @format GUID\n   */\n  accountId: string;\n  /**\n   * Amount of points to earn. Must be a positive, whole number.\n   *\n   * Min: `1`\n   *\n   * Max: `9999999`\n   * @min 1\n   * @max 9999999\n   */\n  amount?: number;\n  /**\n   * Description of how the points were earned.\n   *\n   * Max: 100 characters\n   * @minLength 1\n   * @maxLength 100\n   */\n  description?: string;\n  /**\n   * ID of the app that initiated the transaction.\n   *\n   * If points were earned manually, then the `appId` is the Loyalty app's\n   * `wixAppId` of `553c79f3-5625-4f38-b14b-ef7c0d1e87df`. If points were earned in an automatic event,\n   * then the `appId` is from that automation's `sourceAppId`.\n   * @minLength 1\n   * @maxLength 100\n   */\n  appId: string;\n  /**\n   * Unique string identifier generated by the app. Wix uses this identifier to recognize subsequent retries of the same request.\n   *\n   * Please use `GUID` format.\n   * @minLength 1\n   * @maxLength 256\n   */\n  idempotencyKey: string;\n  /**\n   * Activity type.\n   *\n   * If points were earned through automation it should be set to the trigger key.\n   * @maxLength 100\n   */\n  activityType?: string | null;\n  /**\n   * Order ID which was source of this transaction.\n   * @maxLength 512\n   */\n  orderId?: string | null;\n  /**\n   * Whether the points amount was adjusted by an earn points limit provider.\n   * @readonly\n   */\n  limitApplied?: boolean;\n}\n\n/** @oneof */\nexport interface EarnPointsRequestActivityDetailsOneOf {\n  /** Followed social media details. */\n  followedSocialMedia?: FollowedSocialMedia;\n}\n\nexport interface FollowedSocialMedia {\n  /**\n   * Social media channel.\n   * Example: `FACEBOOK`, `INSTAGRAM`.\n   * @maxLength 32\n   */\n  channel?: string;\n}\n\nexport interface EarnPointsResponse {\n  /** Updated loyalty account. */\n  account?: LoyaltyAccount;\n  /**\n   * Transaction ID associated with the points earned.\n   * @format GUID\n   * @readonly\n   */\n  transactionId?: string;\n}\n\nexport interface PointsUpdated {\n  /** Updated account. */\n  account?: LoyaltyAccount;\n}\n\nexport interface FirstTransaction {\n  /** Updated account. */\n  account?: LoyaltyAccount;\n}\n\nexport interface AdjustPointsRequest extends AdjustPointsRequestTypeOneOf {\n  /**\n   * Sets the account's point balance to this amount. Must be a positive, whole number or zero.\n   *\n   * The net difference between this new balance and the previous balance will be reflected in the `adjusted` field of the customer's account.\n   *\n   * Min: `0`\n   *\n   * Max: `999999999`\n   * @max 999999999\n   */\n  balance?: number;\n  /**\n   * Adjusts the account's point balance by this amount. Must be a whole number with a maximum of 7 digits.\n   * The amount can be negative, but cannot be `0`.\n   *\n   * Min: `-9999999`\n   *\n   * Max: `9999999`\n   * @min -9999999\n   * @max 9999999\n   */\n  amount?: number;\n  /**\n   * Loyalty account ID.\n   * @format GUID\n   */\n  accountId: string;\n  /**\n   * Description to explain the reason for the points adjustment.\n   * @minLength 1\n   * @maxLength 100\n   */\n  description?: string | null;\n  /**\n   * Each time the loyalty account is updated, `revision` increments by 1.\n   *\n   * The current `revision` must be passed when adjusting points in the loyalty account. This\n   * ensures you're working with the latest version of the loyalty account and prevents unintended overwrites.\n   * @min 1\n   */\n  revision?: string;\n}\n\n/** @oneof */\nexport interface AdjustPointsRequestTypeOneOf {\n  /**\n   * Sets the account's point balance to this amount. Must be a positive, whole number or zero.\n   *\n   * The net difference between this new balance and the previous balance will be reflected in the `adjusted` field of the customer's account.\n   *\n   * Min: `0`\n   *\n   * Max: `999999999`\n   * @max 999999999\n   */\n  balance?: number;\n  /**\n   * Adjusts the account's point balance by this amount. Must be a whole number with a maximum of 7 digits.\n   * The amount can be negative, but cannot be `0`.\n   *\n   * Min: `-9999999`\n   *\n   * Max: `9999999`\n   * @min -9999999\n   * @max 9999999\n   */\n  amount?: number;\n}\n\nexport interface AdjustPointsResponse {\n  /** Loyalty account. */\n  account?: LoyaltyAccount;\n  /**\n   * Transaction ID associated with the points adjustment.\n   * @format GUID\n   * @readonly\n   */\n  transactionId?: string;\n}\n\nexport interface DeductPointsRequest {\n  /**\n   * Loyalty account ID.\n   * @format GUID\n   */\n  accountId?: string;\n  /**\n   * Amount of points to deduct. Must be a positive, whole number.\n   *\n   * Min: `1`\n   *\n   * Max: `9999999`\n   * @min 1\n   * @max 9999999\n   */\n  amount?: number;\n  /**\n   * If true, the deduction will be reverted in case of failure in subsequent operations.\n   * Points equal to the \"amount\" value will be given to the account instead of being taken away.\n   */\n  revertDeduction?: boolean;\n}\n\nexport interface DeductPointsResponse {\n  /** Updated loyalty account. */\n  account?: LoyaltyAccount;\n}\n\nexport interface RedeemPointsRequest {\n  /**\n   * Loyalty account ID.\n   * @format GUID\n   */\n  accountId?: string;\n  /**\n   * Reward ID. See the Rewards API for more details.\n   * @format GUID\n   */\n  rewardId?: string;\n  /**\n   * Number of times the given reward will be redeemed. Must be a positive whole number.\n   * @min 1\n   */\n  count?: number;\n  /**\n   * Revision number, which increments by 1 each time points are redeemed.\n   * To prevent conflicting changes, the existing `revision` must be used when redeeming points.\n   * @min 1\n   */\n  revision?: string;\n  /**\n   * ID of the entity that is being redeemed.\n   * For example, the `orderId` for an order discount or the `couponId` for a coupon reward.\n   * @format GUID\n   */\n  referenceEntityId?: string | null;\n}\n\nexport interface RedeemPointsResponse {\n  /** Loyalty account. */\n  account?: LoyaltyAccount;\n  /**\n   * Transaction ID associated with the redemption.\n   * @format GUID\n   * @readonly\n   */\n  transactionId?: string;\n}\n\nexport interface RedeemDeterminedAmountOfPointsRequest {\n  /**\n   * Loyalty account ID.\n   * @format GUID\n   */\n  accountId?: string;\n  /**\n   * Reward ID. See the Rewards API for more details.\n   * @format GUID\n   */\n  rewardId?: string;\n  /**\n   * Number of points to be redeemed off the account.\n   * @min 1\n   */\n  points?: number;\n  /**\n   * Revision number, which increments by 1 each time points are redeemed.\n   * To prevent conflicting changes, the existing `revision` must be used when redeeming points.\n   * @min 1\n   */\n  revision?: string;\n  /**\n   * ID of the entity that is being redeemed.\n   * For example, the `orderId` for an order discount or the `couponId` for a coupon reward.\n   * @format GUID\n   */\n  referenceEntityId?: string | null;\n}\n\nexport interface RedeemDeterminedAmountOfPointsResponse {\n  /** Loyalty account. */\n  account?: LoyaltyAccount;\n  /**\n   * Transaction ID associated with the redemption.\n   * @format GUID\n   * @readonly\n   */\n  transactionId?: string;\n}\n\nexport interface RefundTransactionRequest {\n  /**\n   * Transaction ID associated with the refund.\n   * @format GUID\n   * @readonly\n   */\n  transactionId?: string;\n}\n\nexport interface RefundTransactionResponse {}\n\nexport interface GetAccountRequest {\n  /**\n   * ID of the account to retrieve.\n   * @format GUID\n   */\n  id: string;\n}\n\nexport interface GetAccountResponse {\n  /** Retrieved loyalty account. */\n  account?: LoyaltyAccount;\n}\n\nexport interface QueryLoyaltyAccountsRequest {\n  /**\n   * Filter object.\n   * See [API Query Language](https://dev.wix.com/docs/rest/articles/get-started/api-query-language) for more information.\n   */\n  query: CursorQuery;\n}\n\nexport interface CursorQuery extends CursorQueryPagingMethodOneOf {\n  /**\n   * Cursor paging options.\n   *\n   * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n   */\n  cursorPaging?: CursorPaging;\n  /**\n   * Filter object.\n   *\n   * Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters).\n   */\n  filter?: Record<string, any> | null;\n  /**\n   * Sort object.\n   *\n   * Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#sorting).\n   * @maxSize 5\n   */\n  sort?: Sorting[];\n}\n\n/** @oneof */\nexport interface CursorQueryPagingMethodOneOf {\n  /**\n   * Cursor paging options.\n   *\n   * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n   */\n  cursorPaging?: CursorPaging;\n}\n\nexport interface Sorting {\n  /**\n   * Name of the field to sort by.\n   * @maxLength 512\n   */\n  fieldName?: string;\n  /** Sort order. */\n  order?: SortOrderWithLiterals;\n}\n\nexport enum SortOrder {\n  ASC = 'ASC',\n  DESC = 'DESC',\n}\n\n/** @enumType */\nexport type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';\n\nexport interface CursorPaging {\n  /**\n   * Maximum number of items to return in the results.\n   * @max 100\n   */\n  limit?: number | null;\n  /**\n   * Pointer to the next or previous page in the list of results.\n   *\n   * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n   * Not relevant for the first request.\n   * @maxLength 16000\n   */\n  cursor?: string | null;\n}\n\nexport interface QueryLoyaltyAccountsResponse {\n  /** Retrieved loyalty accounts. */\n  loyaltyAccounts?: LoyaltyAccount[];\n  /** Paging metadata */\n  pagingMetadata?: CursorPagingMetadata;\n}\n\nexport interface CursorPagingMetadata {\n  /** Number of items returned in current page. */\n  count?: number | null;\n  /** Cursor strings that point to the next page, previous page, or both. */\n  cursors?: Cursors;\n  /**\n   * Whether there are more pages to retrieve following the current page.\n   *\n   * + `true`: Another page of results can be retrieved.\n   * + `false`: This is the last page.\n   */\n  hasNext?: boolean | null;\n}\n\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 ListUserAccountsRequest {\n  /**\n   * Number of items to load. Minimum `1`, maximum `50`.\n   * @min 1\n   * @max 50\n   */\n  limit?: number | null;\n}\n\nexport interface ListUserAccountsResponse {\n  /** Loyalty accounts. */\n  accounts?: LoyaltyAccountForMetaSite[];\n}\n\nexport interface LoyaltyAccountForMetaSite {\n  /** Loyalty account. */\n  account?: LoyaltyAccount;\n  /**\n   * Metasite ID.\n   * @format GUID\n   */\n  metaSiteId?: string;\n}\n\nexport interface GetProgramTotalsRequest {}\n\nexport interface GetProgramTotalsResponse {\n  /** Point totals for the entire program. */\n  points?: Points;\n  /** Tier total for the entire program. */\n  tierTotals?: TierTotal[];\n}\n\nexport interface TierTotal {\n  /**\n   * Tier ID. If no Tier ID is provided, the ID is `null`.\n   * See the base tier in the Tiers API for more information.\n   * @format GUID\n   * @readonly\n   */\n  id?: string | null;\n  /** Total number of loyalty account that belong to a particular tier. */\n  numberOfAccounts?: number;\n}\n\nexport interface GetCurrentMemberAccountRequest {}\n\nexport interface GetCurrentMemberAccountResponse {\n  /** Loyalty account. */\n  account?: LoyaltyAccount;\n}\n\nexport interface GetAccountBySecondaryIdRequest\n  extends GetAccountBySecondaryIdRequestIdOneOf {\n  /**\n   * Account owner's contact ID. See the Contacts API for more information.\n   * @maxLength 50\n   */\n  contactId?: string;\n  /**\n   * Account owner's member ID. See the Members API for more information.\n   * @maxLength 50\n   */\n  memberId?: string;\n}\n\n/** @oneof */\nexport interface GetAccountBySecondaryIdRequestIdOneOf {\n  /**\n   * Account owner's contact ID. See the Contacts API for more information.\n   * @maxLength 50\n   */\n  contactId?: string;\n  /**\n   * Account owner's member ID. See the Members API for more information.\n   * @maxLength 50\n   */\n  memberId?: string;\n}\n\nexport interface GetAccountBySecondaryIdResponse {\n  /** Loyalty account. */\n  account?: LoyaltyAccount;\n}\n\n/** Options to use when retrieving a list of loyalty accounts. */\nexport interface ListAccountsRequest {\n  /**\n   * List of contact IDs.\n   * @format GUID\n   * @maxSize 50\n   */\n  contactIds?: string[];\n  /** Pagination options. */\n  cursorPaging?: CursorPaging;\n}\n\nexport interface ListAccountsResponse {\n  /** Retrieved loyalty accounts. */\n  accounts?: LoyaltyAccount[];\n  /** Details on the paged set of results returned. */\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\n/** Options to use when search for loyalty accounts. */\nexport interface SearchAccountsRequest {\n  /** Search options. */\n  search?: CursorSearch;\n}\n\nexport interface CursorSearch extends CursorSearchPagingMethodOneOf {\n  /**\n   * Cursor paging options.\n   *\n   * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n   */\n  cursorPaging?: CursorPaging;\n  /**\n   * Filter object.\n   *\n   * Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters).\n   */\n  filter?: Record<string, any> | null;\n  /**\n   * List of sort objects.\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   * Applies to all relevant filters and aggregations, unless overridden by providing timestamps including time zone. For example, \"2023-12-20T10:52:34.795Z\".\n   * @maxLength 50\n   */\n  timeZone?: string | null;\n}\n\n/** @oneof */\nexport interface CursorSearchPagingMethodOneOf {\n  /**\n   * Cursor paging options.\n   *\n   * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n   */\n  cursorPaging?: CursorPaging;\n}\n\nexport interface Aggregation extends AggregationKindOneOf {\n  /** A value aggregation calculates metrics such as count for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number (count) of products for each price listed in the store. */\n  value?: ValueAggregation;\n  /** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. */\n  range?: RangeAggregation;\n  /** A scalar aggregation calculates a single numerical value from a dataset, summarizing the dataset into one key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`. */\n  scalar?: ScalarAggregation;\n  /** A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.) For example, use a date histogram to find how many reservations have been made at a restaurant each week. */\n  dateHistogram?: DateHistogramAggregation;\n  /** A nested aggregation is applied within the results of another aggregation. Rather than aggregating directly on the primary dataset, first group data using one aggregation and then apply another aggregation within each group. It allows for more complex analyses where you can summarize data at different levels of detail or hierarchy. For example, to get the number of products that are in stock and out of stock for each price listed, first perform a value aggregation on `discountedPriceNumeric`, and a second value aggregation on `inStock`. */\n  nested?: NestedAggregation;\n  /**\n   * Aggregation name, returned in `aggregations.results.name`.\n   * @maxLength 100\n   */\n  name?: string | null;\n  /** Type of aggregation to perform. Must align with the corresponding aggregation field. */\n  type?: AggregationTypeWithLiterals;\n  /**\n   * Field to aggregate by. Use dot notation to specify a JSON path. For example, `order.address.streetName`.\n   * @maxLength 200\n   */\n  fieldPath?: string;\n  /**\n   * Deprecated. Use `nested` instead.\n   * @deprecated Deprecated. Use `nested` instead.\n   * @replacedBy kind.nested\n   * @targetRemovalDate 2024-03-30\n   */\n  groupBy?: GroupByAggregation;\n}\n\n/** @oneof */\nexport interface AggregationKindOneOf {\n  /** A value aggregation calculates metrics such as count for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number (count) of products for each price listed in the store. */\n  value?: ValueAggregation;\n  /** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. */\n  range?: RangeAggregation;\n  /** A scalar aggregation calculates a single numerical value from a dataset, summarizing the dataset into one key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`. */\n  scalar?: ScalarAggregation;\n  /** A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.) For example, use a date histogram to find how many reservations have been made at a restaurant each week. */\n  dateHistogram?: DateHistogramAggregation;\n  /** A nested aggregation is applied within the results of another aggregation. Rather than aggregating directly on the primary dataset, first group data using one aggregation and then apply another aggregation within each group. It allows for more complex analyses where you can summarize data at different levels of detail or hierarchy. For example, to get the number of products that are in stock and out of stock for each price listed, first perform a value aggregation on `discountedPriceNumeric`, and a second value aggregation on `inStock`. */\n  nested?: NestedAggregation;\n}\n\nexport interface RangeBucket {\n  /** Inclusive lower bound of the range. Required if `to` is not provided. */\n  from?: number | null;\n  /** Exclusive upper bound of the range. Required if `from` is not provided. */\n  to?: number | null;\n}\n\nexport enum SortType {\n  /** Number of matches in the results. */\n  COUNT = 'COUNT',\n  /** Alphabetically by the field value. */\n  VALUE = 'VALUE',\n}\n\n/** @enumType */\nexport type SortTypeWithLiterals = SortType | 'COUNT' | 'VALUE';\n\nexport enum SortDirection {\n  /** Descending order. */\n  DESC = 'DESC',\n  /** Ascending order. */\n  ASC = 'ASC',\n}\n\n/** @enumType */\nexport type SortDirectionWithLiterals = SortDirection | 'DESC' | 'ASC';\n\nexport enum MissingValues {\n  /** Exclude missing values from the aggregation results. */\n  EXCLUDE = 'EXCLUDE',\n  /** Include missing values in the aggregation results. */\n  INCLUDE = 'INCLUDE',\n}\n\n/** @enumType */\nexport type MissingValuesWithLiterals = MissingValues | 'EXCLUDE' | 'INCLUDE';\n\nexport interface IncludeMissingValuesOptions {\n  /**\n   * Specify a custom name for the bucket containing the missing values. Defaults are `\"N/A\"` for strings, `0` for integers, and `false` for booleans.\n   * @maxLength 20\n   */\n  addToBucket?: string;\n}\n\nexport enum ScalarType {\n  /** Total number of distinct values. */\n  COUNT_DISTINCT = 'COUNT_DISTINCT',\n  /** Minimum value. */\n  MIN = 'MIN',\n  /** Maximum value. */\n  MAX = 'MAX',\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 in results. */\n  includeOptions?: IncludeMissingValuesOptions;\n  /** Sort type. */\n  sortType?: SortTypeWithLiterals;\n  /** Sort direction. */\n  sortDirection?: SortDirectionWithLiterals;\n  /**\n   * Number of aggregation results to return.\n   * Min: `1`\n   * Max: `250`\n   * Default: `10`\n   */\n  limit?: number | null;\n  /**\n   * Whether to include or exclude missing values in the aggregation results.\n   * Default: `EXCLUDE`.\n   */\n  missingValues?: MissingValuesWithLiterals;\n}\n\n/** @oneof */\nexport interface ValueAggregationOptionsOneOf {\n  /** Options for including missing values in results. */\n  includeOptions?: IncludeMissingValuesOptions;\n}\n\nexport enum NestedAggregationType {\n  /** Calculates the distribution of a specific field's values within a dataset, providing insights into the overall distribution and key statistics of those values. */\n  VALUE = 'VALUE',\n  /** Calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. */\n  RANGE = 'RANGE',\n  /** Calculates a single numerical value from a dataset, summarizing the dataset into one key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`. */\n  SCALAR = 'SCALAR',\n  /** Calculates the count of time values from the specified field in the dataset that fall within each time interval you define (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. During aggregation each entity is placed in the first bucket its value falls into, based on the provided range bounds.\n   * @maxSize 50\n   */\n  buckets?: RangeBucket[];\n}\n\nexport interface ScalarAggregation {\n  /** Operator type for the scalar aggregation. */\n  type?: ScalarTypeWithLiterals;\n}\n\nexport interface DateHistogramAggregation {\n  /** Interval for date histogram aggregation. */\n  interval?: DateHistogramAggregationIntervalWithLiterals;\n}\n\nexport enum DateHistogramAggregationInterval {\n  YEAR = 'YEAR',\n  MONTH = 'MONTH',\n  WEEK = 'WEEK',\n  DAY = 'DAY',\n  HOUR = 'HOUR',\n  MINUTE = 'MINUTE',\n  SECOND = 'SECOND',\n}\n\n/** @enumType */\nexport type DateHistogramAggregationIntervalWithLiterals =\n  | DateHistogramAggregationInterval\n  | 'YEAR'\n  | 'MONTH'\n  | 'WEEK'\n  | 'DAY'\n  | 'HOUR'\n  | 'MINUTE'\n  | 'SECOND';\n\nexport interface NestedAggregationItem extends NestedAggregationItemKindOneOf {\n  /** A value aggregation calculates the distribution of a specific field's values within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number (count) of orders for each order status. */\n  value?: ValueAggregation;\n  /** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. If ranges overlap, a record that fits more than one range will only be counted in the first range that matches the criteria. */\n  range?: RangeAggregation;\n  /** A scalar aggregation calculates a single numerical value from a dataset, summarizing the dataset into one key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`. */\n  scalar?: ScalarAggregation;\n  /** A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.). For example, use a date histogram to determine how many reservations have been made at a restaurant each week. If ranges overlap, a record that fits more than one range will only be counted in the first range that matches the criteria. */\n  dateHistogram?: DateHistogramAggregation;\n  /**\n   * Unique, caller-defined aggregation name, returned in `aggregations.results`.\n   * @maxLength 100\n   */\n  name?: string | null;\n  /** Type of aggregation to perform. The matching aggregation field must be passed. */\n  type?: NestedAggregationTypeWithLiterals;\n  /**\n   * Field to aggregate by. Use dot notation to specify a JSON path. For example, `order.address.streetName`.\n   * @maxLength 200\n   */\n  fieldPath?: string;\n}\n\n/** @oneof */\nexport interface NestedAggregationItemKindOneOf {\n  /** A value aggregation calculates the distribution of a specific field's values within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number (count) of orders for each order status. */\n  value?: ValueAggregation;\n  /** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. If ranges overlap, a record that fits more than one range will only be counted in the first range that matches the criteria. */\n  range?: RangeAggregation;\n  /** A scalar aggregation calculates a single numerical value from a dataset, summarizing the dataset into one key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`. */\n  scalar?: ScalarAggregation;\n  /** A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.). For example, use a date histogram to determine how many reservations have been made at a restaurant each week. If ranges overlap, a record that fits more than one range will only be counted in the first range that matches the criteria. */\n  dateHistogram?: DateHistogramAggregation;\n}\n\nexport enum AggregationType {\n  /** Calculates the distribution of a specific field's values within a dataset, providing insights into the overall distribution and key statistics of those values. */\n  VALUE = 'VALUE',\n  /** Calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. */\n  RANGE = 'RANGE',\n  /** Calculates a single numerical value from a dataset, summarizing the dataset into one key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`. */\n  SCALAR = 'SCALAR',\n  /** Calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.). */\n  DATE_HISTOGRAM = 'DATE_HISTOGRAM',\n  /** Flattened list of aggregations, where each 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 aggregation is nested within previous one.\n   * @minSize 2\n   * @maxSize 3\n   */\n  nestedAggregations?: NestedAggregationItem[];\n}\n\nexport interface GroupByAggregation extends GroupByAggregationKindOneOf {\n  /** Value aggregation configuration. */\n  value?: ValueAggregation;\n  /**\n   * Unique, caller-defined aggregation name, returned in `aggregations.results`.\n   * @maxLength 100\n   */\n  name?: string | null;\n  /**\n   * Field to aggregate by.\n   * @maxLength 200\n   */\n  fieldPath?: string;\n}\n\n/** @oneof */\nexport interface GroupByAggregationKindOneOf {\n  /** Value aggregation configuration. */\n  value?: ValueAggregation;\n}\n\nexport interface SearchDetails {\n  /** Search mode. Defines the search logic for combining multiple terms in the `expression`. */\n  mode?: ModeWithLiterals;\n  /**\n   * Search term or expression.\n   * @maxLength 100\n   */\n  expression?: string | null;\n  /**\n   * Fields to search in. If the array is empty, all searchable fields are searched. Use dot notation to specify a JSON path. For example, `order.address.streetName`.\n   * @maxLength 200\n   * @maxSize 20\n   */\n  fields?: string[];\n  /** Whether to enable the search function to use an algorithm to automatically find results that are close to the search expression, such as typos and declensions. */\n  fuzzy?: boolean;\n}\n\nexport enum Mode {\n  /** At least one 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\n/** Accounts found through provided search capabilities, along with paging and aggregation data of the results. */\nexport interface SearchAccountsResponse {\n  /** Found accounts. */\n  accounts?: LoyaltyAccount[];\n  /** Paging metadata. */\n  pagingMetadata?: CursorPagingMetadata;\n  /** Aggregation data */\n  aggregationData?: AggregationData;\n}\n\nexport interface AggregationData {\n  /**\n   * List of the aggregated data results.\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  /** Number 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  /** Total number 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   * Unique, caller-defined aggregation name, identifiable by the requested aggregation `name`.\n   * @maxLength 100\n   */\n  name?: string;\n  /** Aggregation type. */\n  type?: AggregationTypeWithLiterals;\n  /**\n   * Field which the data was aggregated by.\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 the 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  /** Number 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  /** Number 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 ScalarDateResult {\n  /**\n   * Date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.\n   * @maxLength 100\n   */\n  value?: string;\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  /** Scalar date aggregation result. */\n  scalarDate?: ScalarDateResult;\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  /** Scalar date aggregation result. */\n  scalarDate?: ScalarDateResult;\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](https://en.wikipedia.org/wiki/ISO_8601) format.\n   * @maxLength 100\n   */\n  value?: string;\n  /** Number of entities 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/** Results of `NESTED` aggregation type in a flattened array, identifiable by the requested aggregation `name`. */\nexport interface NestedResults {\n  /**\n   * List of nested aggregations.\n   * @maxSize 1000\n   */\n  results?: Results[];\n}\n\nexport interface AggregationResultsScalarDateResult {\n  /** Type of scalar date aggregation. Possible values: `MIN`, `MAX`. */\n  type?: ScalarTypeWithLiterals;\n  /**\n   * Date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.\n   * @maxLength 100\n   */\n  value?: string;\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  /** Date aggregation results. */\n  scalarDate?: AggregationResultsScalarDateResult;\n  /**\n   * Aggregation name, returned in `aggregations.results.name`.\n   * @maxLength 100\n   */\n  name?: string;\n  /** Aggregation type. Must align with the corresponding aggregation field. */\n  type?: AggregationTypeWithLiterals;\n  /**\n   * Field to aggregate by. Use dot notation to specify a JSON path. For example, `order.address.streetName`.\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  /** Date aggregation results. */\n  scalarDate?: AggregationResultsScalarDateResult;\n}\n\nexport interface ExportAccountsRequest {\n  query?: QueryV2;\n}\n\nexport interface QueryV2 extends QueryV2PagingMethodOneOf {\n  /** Paging options to limit and offset the number of items. */\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   */\n  sort?: Sorting[];\n  /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n  fields?: string[];\n  /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n  fieldsets?: string[];\n}\n\n/** @oneof */\nexport interface QueryV2PagingMethodOneOf {\n  /** Paging options to limit and offset the number of items. */\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 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 ExportAccountsResponse {\n  accounts?: LoyaltyAccount[];\n  pagingMetadata?: CursorPagingMetadata;\n}\n\n/** Options to use when retrieving amount of loyalty accounts. */\nexport interface CountAccountsRequest {\n  /** Filter object. */\n  filter?: Record<string, any> | null;\n  /** Free text to match in searchable fields. */\n  search?: SearchDetails;\n}\n\n/** Amount of accounts found for the given search query */\nexport interface CountAccountsResponse {\n  count?: number;\n}\n\nexport interface BulkAdjustPointsRequest\n  extends BulkAdjustPointsRequestTypeOneOf {\n  /** @max 999999999 */\n  balance?: number;\n  /**\n   * @min -9999999\n   * @max 9999999\n   */\n  amount?: number;\n  search?: CursorSearch;\n}\n\n/** @oneof */\nexport interface BulkAdjustPointsRequestTypeOneOf {\n  /** @max 999999999 */\n  balance?: number;\n  /**\n   * @min -9999999\n   * @max 9999999\n   */\n  amount?: number;\n}\n\nexport interface BulkAdjustPointsResponse {\n  /**\n   * ID of the job.\n   *\n   * Use this ID to call [Get Async Job](https://dev.wix.com/docs/api-reference/business-management/async-job/get-async-job)\n   * to retrieve the job details and metadata.\n   * @format GUID\n   * @readonly\n   */\n  asyncJobId?: string | null;\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n  createdEvent?: EntityCreatedEvent;\n  updatedEvent?: EntityUpdatedEvent;\n  deletedEvent?: EntityDeletedEvent;\n  actionEvent?: ActionEvent;\n  /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n  id?: string;\n  /**\n   * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n   * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n   */\n  entityFqdn?: string;\n  /**\n   * Event action name, placed at the top level to make it easier for users to dispatch messages.\n   * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n   */\n  slug?: string;\n  /** ID of the entity associated with the event. */\n  entityId?: string;\n  /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n  eventTime?: Date | null;\n  /**\n   * Whether the event was triggered as a result of a privacy regulation application\n   * (for example, GDPR).\n   */\n  triggeredByAnonymizeRequest?: boolean | null;\n  /** If present, indicates the action that triggered the event. */\n  originatedFrom?: string | null;\n  /**\n   * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n   * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n   */\n  entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n  createdEvent?: EntityCreatedEvent;\n  updatedEvent?: EntityUpdatedEvent;\n  deletedEvent?: EntityDeletedEvent;\n  actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n  entityAsJson?: string;\n  /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n  restoreInfo?: RestoreInfo;\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\nexport interface EntityDeletedEvent {\n  /** Entity that was deleted. */\n  deletedEntityAsJson?: string | null;\n}\n\nexport interface ActionEvent {\n  bodyAsJson?: string;\n}\n\nexport interface Empty {}\n\nexport interface TiersRollingUpdate {}\n\nexport interface TiersProgramSettingsChanged {\n  /** Settings for the tiers program. */\n  programSettings?: TiersProgramSettings;\n}\n\n/** Tiers program settings apply globally to all tiers in the program. A site can only have 1 set of program settings. */\nexport interface TiersProgramSettings extends TiersProgramSettingsPeriodOneOf {\n  /**\n   * **Required.**\n   * Period of time used to calculate loyalty points for tier assignment.\n   *\n   * The loyalty points accumulated during this period determine if the account meets a tier's required point threshold.\n   */\n  rollingWindow?: RollingWindow;\n  /** Tiers program status. */\n  status?: StatusWithLiterals;\n  /**\n   * Revision number, which increments by 1 each time the loyalty tiers settings are updated.\n   *\n   * To prevent conflicting changes, the current `revision` must be passed when updating the loyalty tiers settings.\n   * @immutable\n   */\n  revision?: string | null;\n  /**\n   * Date and time the loyalty tiers program was created.\n   * @readonly\n   */\n  createdDate?: Date | null;\n  /**\n   * Date and time the loyalty tiers program was last updated.\n   * @readonly\n   */\n  updatedDate?: Date | null;\n  /**\n   * Information about the base loyalty tier.\n   *\n   * The base tier is the default tier for any account that's unassigned for not meeting\n   * the required points threshold of any other tier.\n   */\n  baseTierDefinition?: TierDefinition;\n}\n\n/** @oneof */\nexport interface TiersProgramSettingsPeriodOneOf {\n  /**\n   * **Required.**\n   * Period of time used to calculate loyalty points for tier assignment.\n   *\n   * The loyalty points accumulated during this period determine if the account meets a tier's required point threshold.\n   */\n  rollingWindow?: RollingWindow;\n}\n\nexport enum Status {\n  /** Unknown status. */\n  UNKNOWN = 'UNKNOWN',\n  /** Tiers are disabled. */\n  DISABLED = 'DISABLED',\n  /** Tiers are enabled but not yet active. */\n  DRAFT = 'DRAFT',\n  /** Tiers are active. */\n  ACTIVE = 'ACTIVE',\n  /** Tiers are paused. */\n  PAUSED = 'PAUSED',\n}\n\n/** @enumType */\nexport type StatusWithLiterals =\n  | Status\n  | 'UNKNOWN'\n  | 'DISABLED'\n  | 'DRAFT'\n  | 'ACTIVE'\n  | 'PAUSED';\n\n/** Information about the tier. */\nexport interface TierDefinition {\n  /** Details about the tier icon. */\n  icon?: CommonImage;\n  /**\n   * Tier name.\n   * @minLength 1\n   * @maxLength 50\n   */\n  name?: string | null;\n  /**\n   * Tier description.\n   * @maxLength 70\n   */\n  description?: string | null;\n}\n\nexport interface CommonImage {\n  /** WixMedia image ID. */\n  id?: string;\n  /** Image URL. */\n  url?: string;\n  /**\n   * Original image height.\n   * @readonly\n   */\n  height?: number;\n  /**\n   * Original image width.\n   * @readonly\n   */\n  width?: number;\n  /** Image alt text. */\n  altText?: string | null;\n  /**\n   * Image filename.\n   * @readonly\n   */\n  filename?: string | null;\n}\n\nexport interface FocalPoint {\n  /** X-coordinate of the focal point. */\n  x?: number;\n  /** Y-coordinate of the focal point. */\n  y?: number;\n  /** crop by height */\n  height?: number | null;\n  /** crop by width */\n  width?: number | null;\n}\n\n/**\n * **Required.** Period of time used to calculate loyalty points for tier assignment.\n *\n * The loyalty points accumulated during this period determine if the account meets a tier's required point threshold.\n */\nexport interface RollingWindow {\n  /**\n   * Number of months to use for the rolling window period.\n   *\n   * Min: `12`\n   *\n   * Max: `36`\n   * @min 1\n   * @max 36\n   */\n  durationInMonths?: number;\n}\n\nexport interface SubscriptionEvent extends SubscriptionEventEventOneOf {\n  /** Triggered when a subscription is created. */\n  created?: SubscriptionCreated;\n  /**\n   * Triggered when a subscription is assigned to a Wix site, including the initial\n   * assignment of a floating subscription or a re-assignement from a different site.\n   */\n  assigned?: SubscriptionAssigned;\n  /** Triggered when a subscription is canceled. */\n  cancelled?: SubscriptionCancelled;\n  /** Triggered when the subscription's auto renew is turned on. */\n  autoRenewTurnedOn?: SubscriptionAutoRenewTurnedOn;\n  /** Triggered when the subscription's auto renew is turned off. */\n  autoRenewTurnedOff?: SubscriptionAutoRenewTurnedOff;\n  /**\n   * Triggered when a subscription is unassigned from a Wix site and becomes\n   * floating.\n   */\n  unassigned?: SubscriptionUnassigned;\n  /**\n   * Triggered when a subscription is transferred from one Wix account to another.\n   * A transfer includes cancelling the original subscription and creating a new\n   * subscription for the target account. The event returns both the original\n   * and the new subscription.\n   */\n  transferred?: SubscriptionTransferred;\n  /** Triggered when a recurring charge succeeds for a subscription. */\n  recurringChargeSucceeded?: RecurringChargeSucceeded;\n  /**\n   * Triggered when a subscription was updated including when its product has been\n   * up- or downgraded or the billing cycle is changed.\n   */\n  contractSwitched?: ContractSwitched;\n  /**\n   * Triggered when a subscription gets close to the end of its billing cycle.\n   * The exact number of days is defined in the billing system.\n   */\n  nearEndOfPeriod?: SubscriptionNearEndOfPeriod;\n  /**\n   * Triggered when a subscription is updated and the change doesn't happen\n   * immediately but at the end of the current billing cycle.\n   */\n  pendingChange?: SubscriptionPendingChange;\n  /** Triggered when a recurring charge attempt fails for a subscription. */\n  recurringChargeAttemptFailed?: RecurringChargeAttemptFailed;\n  /**\n   * ID of the subscription's event.\n   * @format GUID\n   */\n  eventId?: string | null;\n  /**\n   * Date and time of the event in\n   * [UTC datetime](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)\n   * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n   */\n  eventDate?: Date | null;\n}\n\n/** @oneof */\nexport interface SubscriptionEventEventOneOf {\n  /** Triggered when a subscription is created. */\n  created?: SubscriptionCreated;\n  /**\n   * Triggered when a subscription is assigned to a Wix site, including the initial\n   * assignment of a floating subscription or a re-assignement from a different site.\n   */\n  assigned?: SubscriptionAssigned;\n  /** Triggered when a subscription is canceled. */\n  cancelled?: SubscriptionCancelled;\n  /** Triggered when the subscription's auto renew is turned on. */\n  autoRenewTurnedOn?: SubscriptionAutoRenewTurnedOn;\n  /** Triggered when the subscription's auto renew is turned off. */\n  autoRenewTurnedOff?: SubscriptionAutoRenewTurnedOff;\n  /**\n   * Triggered when a subscription is unassigned from a Wix site and becomes\n   * floating.\n   */\n  unassigned?: SubscriptionUnassigned;\n  /**\n   * Triggered when a subscription is transferred from one Wix account to another.\n   * A transfer includes cancelling the original subscription and creating a new\n   * subscription for the target account. The event returns both the original\n   * and the new subscription.\n   */\n  transferred?: SubscriptionTransferred;\n  /** Triggered when a recurring charge succeeds for a subscription. */\n  recurringChargeSucceeded?: RecurringChargeSucceeded;\n  /**\n   * Triggered when a subscription was updated including when its product has been\n   * up- or downgraded or the billing cycle is changed.\n   */\n  contractSwitched?: ContractSwitched;\n  /**\n   * Triggered when a subscription gets close to the end of its billing cycle.\n   * The exact number of days is defined in the billing system.\n   */\n  nearEndOfPeriod?: SubscriptionNearEndOfPeriod;\n  /**\n   * Triggered when a subscription is updated and the change doesn't happen\n   * immediately but at the end of the current billing cycle.\n   */\n  pendingChange?: SubscriptionPendingChange;\n  /** Triggered when a recurring charge attempt fails for a subscription. */\n  recurringChargeAttemptFailed?: RecurringChargeAttemptFailed;\n}\n\n/** Triggered when a subscription is created. */\nexport interface SubscriptionCreated {\n  /** Created subscription. */\n  subscription?: Subscription;\n  /** Metadata for the `created` event. */\n  metadata?: Record<string, string>;\n  /**\n   * Subscription reactivation data.\n   * A subscription can be reactivated for example if it was incorrectly canceled because of fraud and then reactivated\n   * by the billing system\n   */\n  reactivationData?: ReactivationData;\n}\n\n/**\n * A subscription holds information about a Premium product that a Wix account\n * owner has purchased including details about the billing.\n */\nexport interface Subscription {\n  /**\n   * ID of the subscription.\n   * @format GUID\n   */\n  id?: string;\n  /**\n   * ID of the Wix account that purchased the subscription.\n   * @format GUID\n   */\n  userId?: string;\n  /**\n   * ID of the [product](https://bo.wix.com/wix-docs/rest/premium/premium-product-catalog-v2/products/product-object)\n   * for which the subscription was purchased.\n   * @format GUID\n   */\n  productId?: string;\n  /**\n   * Date and time the subscription was created in\n   * [UTC datetime](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)\n   * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n   */\n  createdAt?: Date | null;\n  /**\n   * Date and time the subscription was last updated in\n   * [UTC datetime](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)\n   * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n   */\n  updatedAt?: Date | null;\n  /**\n   * ID of the metasite that the subscription is assigned to.\n   * Available only when the subscription is assigned to a Wix site.\n   * Subscriptions for account level products can't be assigned to a Wix site.\n   * @format GUID\n   */\n  metaSiteId?: string | null;\n  /** Information about the system that manages the subscription's billing. */\n  billingReference?: BillingReference;\n  /** Information about the billing cycle of the subscription. */\n  cycle?: Cycle;\n  /**\n   * Subscription status.\n   *\n   * + `UNKNOWN`: Default status.\n   * + `AUTO_RENEW_ON`: Subscription is active and automatically renews at the end of the current billing cycle.\n   * + `AUTO_RENEW_OFF`: Subscription is active but expires at the end of the current billing cycle.\n   * + `MANUAL_RECURRING`: Subscription is active and renews at the end of the current billing cycle, in case the customer takes an action related to the payment.\n   * + `CANCELLED`: Subscription isn't active because it has been canceled.\n   * + `TRANSFERRED`: Subscription isn't active because it has been transferred to a different account. A different active subscription was created for the target account.\n   */\n  status?: SubscriptionStatusWithLiterals;\n  /**\n   * Date and time the subscription was last transferred from one Wix account to\n   * another in\n   * [UTC datetime](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)\n   * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n   */\n  transferredAt?: Date | null;\n  /**\n   * ID of the [product type](https://bo.wix.com/wix-docs/rest/premium/premium-product-catalog-v2/product-types/product-type-object)\n   * that the product, for which the subscription was purchased, belongs to.\n   * @format GUID\n   */\n  productTypeId?: string;\n  /** Version number, which increments by 1 each time the subscription is updated. */\n  version?: number;\n  /**\n   * Whether the subscription is active. Includes the statuses\n   * `\"AUTO_RENEW_ON\"`, `\"AUTO_RENEW_OFF\"`, and `\"MANUAL_RECURRING\"`.\n   */\n  active?: boolean;\n  /**\n   * Date and time the subscription was originally created in\n   * [UTC datetime](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)\n   * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n   * Differs from `createdAt` in case the subscription was originally created for a different Wix account and has been transferred.\n   */\n  originalCreationDate?: Date | null;\n  /** Custom metadata about the subscription. */\n  metadata?: Record<string, string>;\n  /**\n   * 2-letter country code in\n   * [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements)\n   * format.\n   */\n  countryCode?: string | null;\n  /**\n   * Seats of the product that the subscription was purchased for.\n   * Will be Null for products that don't support seats.\n   * @min 1\n   * @max 500\n   */\n  seats?: number | null;\n}\n\nexport interface BillingReference {\n  /**\n   * Name of the billing system that manages the subscription.\n   *\n   * + `\"UNKNOWN\"`: Default value.\n   * + `\"SBS\"`: [Wix Billing](https://github.com/wix-p/premium-billing/tree/master/sbs).\n   * + `\"LICENSER\"`:\n   * + `\"BASS\"`: [Billing and Subscriptions System](https://dev.wix.com/docs/rest/internal-only/premium/subscriptions-by-billing-by-wix/introduction).\n   * + `\"RESELLER\"`: [External Reseller](https://dev.wix.com/api/rest/account-level-apis/resellers/introduction).\n   */\n  providerName?: ProviderNameWithLiterals;\n  /** Current provider reference ID. */\n  providerReferenceId?: string | null;\n  /** Previous provider reference IDs. Used for when a subscription is extended, specifically for domains. */\n  previousProviderReferenceIds?: string[];\n}\n\nexport enum ProviderName {\n  UNKNOWN = 'UNKNOWN',\n  SBS = 'SBS',\n  LICENSER = 'LICENSER',\n  BASS = 'BASS',\n  RESELLER = 'RESELLER',\n  RECURRING_INVOICES = 'RECURRING_INVOICES',\n}\n\n/** @enumType */\nexport type ProviderNameWithLiterals =\n  | ProviderName\n  | 'UNKNOWN'\n  | 'SBS'\n  | 'LICENSER'\n  | 'BASS'\n  | 'RESELLER'\n  | 'RECURRING_INVOICES';\n\nexport interface Cycle extends CycleCycleSelectorOneOf {\n  /** repetitive interval */\n  interval?: Interval;\n  /** one time */\n  oneTime?: OneTime;\n}\n\n/** @oneof */\nexport interface CycleCycleSelectorOneOf {\n  /** repetitive interval */\n  interval?: Interval;\n  /** one time */\n  oneTime?: OneTime;\n}\n\nexport interface Interval {\n  /** interval unit of measure */\n  unit?: IntervalUnitWithLiterals;\n  /** number of interval */\n  count?: number;\n}\n\nexport enum IntervalUnit {\n  /** unknown interval unit */\n  UNKNOWN = 'UNKNOWN',\n  /** day */\n  DAY = 'DAY',\n  /** week */\n  WEEK = 'WEEK',\n  /** month */\n  MONTH = 'MONTH',\n  /** year */\n  YEAR = 'YEAR',\n}\n\n/** @enumType */\nexport type IntervalUnitWithLiterals =\n  | IntervalUnit\n  | 'UNKNOWN'\n  | 'DAY'\n  | 'WEEK'\n  | 'MONTH'\n  | 'YEAR';\n\nexport interface OneTime {}\n\nexport enum SubscriptionStatus {\n  UNKNOWN = 'UNKNOWN',\n  AUTO_RENEW_ON = 'AUTO_RENEW_ON',\n  AUTO_RENEW_OFF = 'AUTO_RENEW_OFF',\n  MANUAL_RECURRING = 'MANUAL_RECURRING',\n  CANCELLED = 'CANCELLED',\n  TRANSFERRED = 'TRANSFERRED',\n}\n\n/** @enumType */\nexport type SubscriptionStatusWithLiterals =\n  | SubscriptionStatus\n  | 'UNKNOWN'\n  | 'AUTO_RENEW_ON'\n  | 'AUTO_RENEW_OFF'\n  | 'MANUAL_RECURRING'\n  | 'CANCELLED'\n  | 'TRANSFERRED';\n\n/** Triggered when a subscription is reactivated. */\nexport interface ReactivationData {\n  reactivationReason?: ReactivationReasonEnumWithLiterals;\n  /**\n   * In the event of reactivation after chargeback dispute, the subscription may be extended according to the\n   * number of days it was inactive during the time of resolving the dispute\n   */\n  newEndOfPeriod?: Date | null;\n  /** The original end date, before the inactive period. */\n  oldEndOfPeriod?: Date | null;\n  /** The difference in days between the new new_end_of_period and old_end_of_period */\n  differenceInDays?: number | null;\n}\n\n/** Reason for subscription reactivation */\nexport enum ReactivationReasonEnum {\n  UNKNOWN = 'UNKNOWN',\n  /**\n   * Subscription was reactivated due to billing status change from CANCELED to ACTIVE, for example if it was incorrectly\n   * canceled because of suspicion of fraud\n   */\n  BILLING_STATUS_CHANGE = 'BILLING_STATUS_CHANGE',\n  /** Subscription was reactivated after a chargeback dispute */\n  REACTIVATED_AFTER_CHARGEBACK = 'REACTIVATED_AFTER_CHARGEBACK',\n}\n\n/** @enumType */\nexport type ReactivationReasonEnumWithLiterals =\n  | ReactivationReasonEnum\n  | 'UNKNOWN'\n  | 'BILLING_STATUS_CHANGE'\n  | 'REACTIVATED_AFTER_CHARGEBACK';\n\n/**\n * Triggered when a subscription is assigned to a Wix site, including the initial\n * assignment of a floating subscription or a re-assignement from a different site.\n */\nexport interface SubscriptionAssigned {\n  /** Assigned subscription. */\n  subscription?: Subscription;\n  /**\n   * ID of the metasite that the subscription has been assigned to before the update.\n   * @format GUID\n   */\n  previousMetaSiteId?: string | null;\n}\n\n/** Triggered when a subscription is canceled. */\nexport interface SubscriptionCancelled {\n  /** Canceled subscription. */\n  subscription?: Subscription;\n  /** Details about the cancellation including who canceled the subscription and why. */\n  cancellationDetails?: CancellationDetails;\n  /**\n   * Whether the subscription is canceled immediately or expires at the end of the current billing cycle.\n   *\n   * Default: `false`\n   */\n  immediateCancel?: boolean;\n  /** Whether the subscription was canceled during the free trial period. */\n  canceledInFreeTrial?: boolean;\n  /** The type of refund applied to the cancellation. */\n  refundType?: RefundTypeWithLiterals;\n}\n\n/** Information about the cancellation flow including who canceled the subscription and why it was canceled. */\nexport interface CancellationDetails {\n  /**\n   * Cancellation code.\n   *\n   * Values supported for cancellations on behalf of the billing system: `-1`, `-2`, `-3`, `-4`, `-5`, `-6`, `-7`, `-8`.\n   * For cancellations on behalf of the site owner or the service provider `cancellationCode`\n   * is taken from the request of\n   * [Cancel Immediately Offline](https://bo.wix.com/wix-docs/rest/premium/premium-subscriptions-manager/cancel-immediately-offline).\n   *\n   * + `-1`: The subscription has been cancelled by the billing system but none of the listed cancellation reasons applies.\n   * + `-2`: There were payment problems.\n   * + `-3`: There was a chargeback.\n   * + `-4`: Customer support has canceled the subscription and issued a refund.\n   * + `-5`: The site owner has changed their existing subscription.\n   * + `-6`: The subscription has been transferred to a different Wix account.\n   * + `-7`: The subscription has been canceled because the site owner hasn't manually authenticated the recurring payment during the subscription's grace period. For example, site owners must manually confirm recurring payments within 40 days when paying with boleto.\n   * + `-8`: The Wix account that the subscription belonged to has been deleted.\n   */\n  cancellationCode?: number | null;\n  /**\n   * Cancellation reason. For cancellations on behalf of the site owner or the service provider `cancellationReason`\n   * is taken from the request of\n   * [Cancel Immediately Offline](https://bo.wix.com/wix-docs/rest/premium/premium-subscriptions-manager/cancel-immediately-offline).\n   * For cancellations on behalf of the billing system `cancellationReason` is `null` or an empty string.\n   */\n  cancellationReason?: string | null;\n  /**\n   * Initiator of the cancellation. For `\"USER_REQUESTED\"` and `\"APP_MANAGED\"`,\n   * `cancellationCode` and `cancellationReason` are taken from the request of\n   * [Cancel Immediately](https://dev.wix.com/docs/rest/account-level/premium/premium-subscriptions-manager/subscription-v1/cancel-immediately)\n   * or [Cancel Immediately Offline](https://dev.wix.com/docs/rest/account-level/premium/premium-subscriptions-manager/subscription-v1/cancel-immediately-offline).\n   * For `\"PASSIVE\"`, cancellations `cancellationCode` is automatically calculated and `cancellationReason`\n   * is `null` or an empty string.\n   *\n   * + `\"UNKNOWN`: Default value.\n   * + `\"USER_REQUESTED\"`:  The Wix account owner has canceled the subscription.\n   * + `\"APP_MANAGED\"`: The service provider has canceled the subscription.\n   * + `\"PASSIVE\"`: The billing system has canceled the subscription. For example, in case of payment failure or fraud.\n   */\n  initiator?: InitiatorWithLiterals;\n}\n\nexport enum Initiator {\n  UNKNOWN = 'UNKNOWN',\n  USER_REQUESTED = 'USER_REQUESTED',\n  APP_MANAGED = 'APP_MANAGED',\n  PASSIVE = 'PASSIVE',\n}\n\n/** @enumType */\nexport type InitiatorWithLiterals =\n  | Initiator\n  | 'UNKNOWN'\n  | 'USER_REQUESTED'\n  | 'APP_MANAGED'\n  | 'PASSIVE';\n\nexport enum RefundType {\n  UNKNOWN = 'UNKNOWN',\n  NO_REFUND = 'NO_REFUND',\n  FULL_REFUND = 'FULL_REFUND',\n  PRORATED_REFUND = 'PRORATED_REFUND',\n}\n\n/** @enumType */\nexport type RefundTypeWithLiterals =\n  | RefundType\n  | 'UNKNOWN'\n  | 'NO_REFUND'\n  | 'FULL_REFUND'\n  | 'PRORATED_REFUND';\n\n/** Triggered when the subscription's auto renew is turned on. */\nexport interface SubscriptionAutoRenewTurnedOn {\n  /** Subscription for which auto renew is turned on. */\n  subscription?: Subscription;\n  /**\n   * Supported values: `USER`, `APP`.\n   *\n   * Information about who turned auto renew on.\n   * + `\"USER\"`: The site owner who purchased the subscription has turned auto renew on.\n   * + `\"APP\"`: The service provider has turned auto renew on.\n   */\n  initiator?: string | null;\n}\n\n/** Triggered when the subscription's auto renew is turned off. */\nexport interface SubscriptionAutoRenewTurnedOff {\n  /** Subscription for which auto renew is turned off. */\n  subscription?: Subscription;\n  /** Details about the cancellation including who canceled the subscription and why. */\n  cancellationDetails?: CancellationDetails;\n  /**\n   * Whether the subscription is immediately canceled or expires at the end of the current billing cycle.\n   *\n   * Default: `false`\n   */\n  immediateCancel?: boolean;\n}\n\n/**\n * Triggered when a subscription is unassigned from a Wix site and becomes\n * floating.\n */\nexport interface SubscriptionUnassigned {\n  /** Unassigned subscription. */\n  subscription?: Subscription;\n  /**\n   * ID of the metasite that the subscription has been assigned to before the event.\n   * @format GUID\n   */\n  previousMetaSiteId?: string;\n  /**\n   * Reason why the subscription is unassigned.\n   *\n   * + `\"UNKNOWN\"`: Default value.\n   * + `\"USER_REQUESTED\"`: The Wix account owner has unassigned the subscription.\n   * + `\"REPLACED_BY_ANOTHER_SUBSCRIPTION\"`: A different subscription that replaces this subscription is assigned to the site.\n   */\n  unassignReason?: UnassignReasonWithLiterals;\n}\n\nexport enum UnassignReason {\n  UNKNOWN = 'UNKNOWN',\n  USER_REQUESTED = 'USER_REQUESTED',\n  REPLACED_BY_ANOTHER_SUBSCRIPTION = 'REPLACED_BY_ANOTHER_SUBSCRIPTION',\n}\n\n/** @enumType */\nexport type UnassignReasonWithLiterals =\n  | UnassignReason\n  | 'UNKNOWN'\n  | 'USER_REQUESTED'\n  | 'REPLACED_BY_ANOTHER_SUBSCRIPTION';\n\n/**\n * Triggered when a subscription is transferred from one Wix account to another.\n * A transfer includes cancelling the original subscription and creating a new\n * subscription for the target account. The event returns both the original\n * and the new subscription.\n */\nexport interface SubscriptionTransferred {\n  /** Original subscription that was canceled for the transfer. */\n  originSubscription?: Subscription;\n  /** Newly created subscription for the target account. */\n  targetSubscription?: Subscription;\n}\n\n/** Triggered when a recurring charge succeeds for a subscription. */\nexport interface RecurringChargeSucceeded {\n  /** Subscription for which the recurring charge has succeeded. */\n  subscription?: Subscription;\n  /** Indication that there was a successful charge at the end of the free trial period */\n  freeTrialPeriodEnd?: boolean;\n}\n\n/**\n * Triggered when a subscription was updated including when its product has been\n * up- or downgraded or the billing cycle is changed.\n */\nexport interface ContractSwitched {\n  /** Updated subscription. */\n  subscription?: Subscription;\n  /** Billing cycle before the update. */\n  previousCycle?: Cycle;\n  /**\n   * ID of the product belonging to the subscription before the update.\n   * @format GUID\n   */\n  previousProductId?: string;\n  /**\n   * ID of the product type that the subscription's original product belonged to before the update.\n   * @format GUID\n   */\n  previousProductTypeId?: string;\n  /**\n   * Update type. __Note__: Doesn't include information about a product adjustment.\n   * For that purpose, see `productAdjustment`.\n   *\n   * + `\"NOT_APPLICABLE\"`: Default value.\n   * + `\"ADDITIONAL_QUANTITY\"`: An increased usage quota is added to the subscription. For example, a second mailbox is added to a subscription that previously included a single mailbox.\n   * + `\"CREDIT_UNUSED_PERIOD\"`: The subscription is upgraded and the new price is less than the regular price. The new price applies to every billing cycle, not just the first cycle.\n   * + `\"REFUND_PRICE_DIFF\"`: Not implemented.\n   * + `\"ADJUST_PERIOD_END\"`: Not implemented.\n   * + `\"DOWNGRADE_GRACE_PERIOD\"`: For downgrades during the grace period. In this situation, the site owner hasn’t paid yet and must immediately pay for the downgraded subscription.\n   * + `\"FULL_AMOUNT_PERIOD\"`: For upgrades in which the site owner retains unused benefits. For example, site owners upgrading a Facebook Ads subscription retain their unused FB Ads credit. The unused credit is added to the new credit.\n   * + `\"END_OF_PERIOD\"`: The subscription's billing current cycle is extended because of a downgrade.\n   * + `\"PENDING_CHANGES\"`: The subscription's billing is updated, but the change doesn't apply immediately. Instead, the update becomes effective at the end of current billing cycle.\n   * + `\"DOWNGRADE_RENEWAL\"`: The subscription is downgraded because of a declined payment. This prevents subscriptions from churning.\n   */\n  contractSwitchType?: ContractSwitchTypeWithLiterals;\n  /**\n   * ID of the metasite the subscription has been assigned to previously.\n   * Available only in case the subscription is assigned to a different site.\n   * @format GUID\n   */\n  previousMetaSiteId?: string | null;\n  /**\n   * Update reason.\n   *\n   * + `\"PRICE_INCREASE\"`: The subscription's price has been increased.\n   * + `\"EXTERNAL_PROVIDER_TRIGGER\"`: Any reason other than a price increase.\n   */\n  contractSwitchReason?: ContractSwitchReasonWithLiterals;\n  /** Information about the price update. Available only for updates with a price increase. */\n  productPriceIncreaseData?: ProductPriceIncreaseData;\n  /**\n   * Information about a product adjustment. For example, a downgrade.\n   * __Note__: This isn't the same as `contractSwitchType`.\n   *\n   * + `NOT_APPLICABLE`: There is no information about whether the product has been up- or downgraded.\n   * + `DOWNGRADE`: The product has been downgraded.\n   */\n  productAdjustment?: ProductAdjustmentWithLiterals;\n  /**\n   * Number of seats before the contract switch.\n   * @min 1\n   * @max 500\n   */\n  previousSeats?: number | null;\n}\n\n/** Copied from SBS */\nexport enum ContractSwitchType {\n  NOT_APPLICABLE = 'NOT_APPLICABLE',\n  ADDITIONAL_QUANTITY = 'ADDITIONAL_QUANTITY',\n  CREDIT_UNUSED_PERIOD = 'CREDIT_UNUSED_PERIOD',\n  REFUND_PRICE_DIFF = 'REFUND_PRICE_DIFF',\n  ADJUST_PERIOD_END = 'ADJUST_PERIOD_END',\n  DOWNGRADE_GRACE_PERIOD = 'DOWNGRADE_GRACE_PERIOD',\n  FULL_AMOUNT_PERIOD = 'FULL_AMOUNT_PERIOD',\n  END_OF_PERIOD = 'END_OF_PERIOD',\n  PENDING_CHANGES = 'PENDING_CHANGES',\n  DOWNGRADE_RENEWAL = 'DOWNGRADE_RENEWAL',\n  FIXED_BILLING_DATE_PRORATION = 'FIXED_BILLING_DATE_PRORATION',\n  IMMEDIATE_SWITCH = 'IMMEDIATE_SWITCH',\n}\n\n/** @enumType */\nexport type ContractSwitchTypeWithLiterals =\n  | ContractSwitchType\n  | 'NOT_APPLICABLE'\n  | 'ADDITIONAL_QUANTITY'\n  | 'CREDIT_UNUSED_PERIOD'\n  | 'REFUND_PRICE_DIFF'\n  | 'ADJUST_PERIOD_END'\n  | 'DOWNGRADE_GRACE_PERIOD'\n  | 'FULL_AMOUNT_PERIOD'\n  | 'END_OF_PERIOD'\n  | 'PENDING_CHANGES'\n  | 'DOWNGRADE_RENEWAL'\n  | 'FIXED_BILLING_DATE_PRORATION'\n  | 'IMMEDIATE_SWITCH';\n\nexport enum ContractSwitchReason {\n  EXTERNAL_PROVIDER_TRIGGER = 'EXTERNAL_PROVIDER_TRIGGER',\n  PRICE_INCREASE = 'PRICE_INCREASE',\n}\n\n/** @enumType */\nexport type ContractSwitchReasonWithLiterals =\n  | ContractSwitchReason\n  | 'EXTERNAL_PROVIDER_TRIGGER'\n  | 'PRICE_INCREASE';\n\n/** Triggered when a subscription's price is increased. */\nexport interface ProductPriceIncreaseData {\n  /**\n   * Price of the subscription before the update.\n   * @format DECIMAL_VALUE\n   */\n  previousPrice?: string | null;\n  /** A value that is used in order to select the correct email template to send the user regarding the price increase. */\n  emailTemplateSelector?: string | null;\n  /** Used to differentiate between migration segments. Does not have to be unique per segment. */\n  segmentName?: string | null;\n  /** Used to determine how the price increase was triggered. */\n  priceIncreaseTrigger?: PriceIncreaseTriggerWithLiterals;\n}\n\n/** Reason for Price Increase Trigger */\nexport enum PriceIncreaseTrigger {\n  NEAR_RENEWAL = 'NEAR_RENEWAL',\n  RECURRING_SUCCESS = 'RECURRING_SUCCESS',\n  MANUAL = 'MANUAL',\n}\n\n/** @enumType */\nexport type PriceIncreaseTriggerWithLiterals =\n  | PriceIncreaseTrigger\n  | 'NEAR_RENEWAL'\n  | 'RECURRING_SUCCESS'\n  | 'MANUAL';\n\n/** Triggered when a subscription's product is adusted. */\nexport enum ProductAdjustment {\n  /** flag to show that the ContractSwitchedEvent is not applicable / needed */\n  NOT_APPLICABLE = 'NOT_APPLICABLE',\n  /** flag to show that the ContractSwitchedEvent is a Downgrade */\n  DOWNGRADE = 'DOWNGRADE',\n}\n\n/** @enumType */\nexport type ProductAdjustmentWithLiterals =\n  | ProductAdjustment\n  | 'NOT_APPLICABLE'\n  | 'DOWNGRADE';\n\n/**\n * Triggered when a subscription gets close to the end of its billing cycle.\n * The exact number of days is defined in the billing system.\n */\nexport interface SubscriptionNearEndOfPeriod {\n  /** Subscription that got close to the end of its billing cycle. */\n  subscription?: Subscription;\n  /** Whether the subscription is within the free trial period. */\n  inFreeTrial?: boolean;\n}\n\n/**\n * Triggered when a subscription is updated and the change doesn't happen\n * immediately but at the end of the current billing cycle.\n */\nexport interface SubscriptionPendingChange {\n  /** Subscription for which a pending update is triggered. */\n  subscription?: Subscription;\n}\n\n/** Triggered when a recurring charge attempt failed for a subscription. */\nexport interface RecurringChargeAttemptFailed {\n  /** Subscription for which the recurring charge attempt has failed. */\n  subscription?: Subscription;\n}\n\nexport interface ContactSyncRequest {\n  /** @format GUID */\n  contactIds?: string[];\n  /** @format GUID */\n  contactId?: string | null;\n}\n\nexport interface BulkUpsertAccountsRequest {\n  /**\n   * List of contactIds + points to either insert as new loyalty accounts, or update if contacts already exist as loyalty accounts\n   * @minSize 1\n   * @maxSize 100\n   */\n  accounts?: AccountToUpsert[];\n  /**\n   * If true, the upserted accounts are returned in response\n   * @deprecated If true, the upserted accounts are returned in response\n   * @targetRemovalDate 2024-02-01\n   */\n  returnAccounts?: boolean;\n  /** Description of the action */\n  description?: string | null;\n}\n\nexport interface AccountToUpsert {\n  /** @format GUID */\n  contactId?: string;\n  /** @max 9999999 */\n  pointsBalance?: number;\n}\n\nexport interface BulkUpsertAccountsResponse {\n  /** Loyalty accounts that were created or updated */\n  result?: BulkAccountResult[];\n  /** Numbers of successes and failures */\n  metadata?: BulkActionMetadata;\n}\n\nexport interface BulkAccountResult {\n  /** The created/updated account is returned if specified so in request message. */\n  account?: LoyaltyAccount;\n  /** LoyaltyAccount metadata. */\n  metadata?: ItemMetadata;\n}\n\nexport interface ItemMetadata {\n  /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n  id?: string | null;\n  /** Index of the item within the request array. Allows for correlation between request and response items. */\n  originalIndex?: number;\n  /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n  success?: boolean;\n  /** Details about the error in case of failure. */\n  error?: ApplicationError;\n}\n\nexport interface ApplicationError {\n  /** Error code. */\n  code?: string;\n  /** Description of the error. */\n  description?: string;\n  /** Data related to the error. */\n  data?: Record<string, any> | null;\n}\n\nexport interface BulkActionMetadata {\n  /** Number of items that were successfully processed. */\n  totalSuccesses?: number;\n  /** Number of items that couldn't be processed. */\n  totalFailures?: number;\n  /** Number of failures without details because detailed failure threshold was exceeded. */\n  undetailedFailures?: number;\n}\n\nexport interface 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","import * as ambassadorWixLoyaltyV1Account from './loyalty-v1-account-accounts.http.js';\nimport * as ambassadorWixLoyaltyV1AccountTypes from './loyalty-v1-account-accounts.types.js';\nimport * as ambassadorWixLoyaltyV1AccountUniversalTypes from './loyalty-v1-account-accounts.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 createAccount(): __PublicMethodMetaInfo<\n  'POST',\n  {},\n  ambassadorWixLoyaltyV1AccountUniversalTypes.CreateAccountRequest,\n  ambassadorWixLoyaltyV1AccountTypes.CreateAccountRequest,\n  ambassadorWixLoyaltyV1AccountUniversalTypes.CreateAccountResponse,\n  ambassadorWixLoyaltyV1AccountTypes.CreateAccountResponse\n> {\n  const payload = {} as any;\n\n  const getRequestOptions =\n    ambassadorWixLoyaltyV1Account.createAccount(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: '/v1/accounts',\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 earnPoints(): __PublicMethodMetaInfo<\n  'POST',\n  { accountId: string },\n  ambassadorWixLoyaltyV1AccountUniversalTypes.EarnPointsRequest,\n  ambassadorWixLoyaltyV1AccountTypes.EarnPointsRequest,\n  ambassadorWixLoyaltyV1AccountUniversalTypes.EarnPointsResponse,\n  ambassadorWixLoyaltyV1AccountTypes.EarnPointsResponse\n> {\n  const payload = { accountId: ':accountId' } as any;\n\n  const getRequestOptions = ambassadorWixLoyaltyV1Account.earnPoints(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: '/v1/accounts/{accountId}/earn-points',\n    pathParams: { accountId: 'accountId' },\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 adjustPoints(): __PublicMethodMetaInfo<\n  'POST',\n  { accountId: string },\n  ambassadorWixLoyaltyV1AccountUniversalTypes.AdjustPointsRequest,\n  ambassadorWixLoyaltyV1AccountTypes.AdjustPointsRequest,\n  ambassadorWixLoyaltyV1AccountUniversalTypes.AdjustPointsResponse,\n  ambassadorWixLoyaltyV1AccountTypes.AdjustPointsResponse\n> {\n  const payload = { accountId: ':accountId' } as any;\n\n  const getRequestOptions = ambassadorWixLoyaltyV1Account.adjustPoints(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: '/v1/accounts/{accountId}/adjust-points',\n    pathParams: { accountId: 'accountId' },\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 getAccount(): __PublicMethodMetaInfo<\n  'GET',\n  { id: string },\n  ambassadorWixLoyaltyV1AccountUniversalTypes.GetAccountRequest,\n  ambassadorWixLoyaltyV1AccountTypes.GetAccountRequest,\n  ambassadorWixLoyaltyV1AccountUniversalTypes.GetAccountResponse,\n  ambassadorWixLoyaltyV1AccountTypes.GetAccountResponse\n> {\n  const payload = { id: ':id' } as any;\n\n  const getRequestOptions = ambassadorWixLoyaltyV1Account.getAccount(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: '/v1/accounts/{id}',\n    pathParams: { id: 'id' },\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 queryLoyaltyAccounts(): __PublicMethodMetaInfo<\n  'POST',\n  {},\n  ambassadorWixLoyaltyV1AccountUniversalTypes.QueryLoyaltyAccountsRequest,\n  ambassadorWixLoyaltyV1AccountTypes.QueryLoyaltyAccountsRequest,\n  ambassadorWixLoyaltyV1AccountUniversalTypes.QueryLoyaltyAccountsResponse,\n  ambassadorWixLoyaltyV1AccountTypes.QueryLoyaltyAccountsResponse\n> {\n  const payload = {} as any;\n\n  const getRequestOptions =\n    ambassadorWixLoyaltyV1Account.queryLoyaltyAccounts(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: '/v1/accounts/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 getProgramTotals(): __PublicMethodMetaInfo<\n  'GET',\n  {},\n  ambassadorWixLoyaltyV1AccountUniversalTypes.GetProgramTotalsRequest,\n  ambassadorWixLoyaltyV1AccountTypes.GetProgramTotalsRequest,\n  ambassadorWixLoyaltyV1AccountUniversalTypes.GetProgramTotalsResponse,\n  ambassadorWixLoyaltyV1AccountTypes.GetProgramTotalsResponse\n> {\n  const payload = {} as any;\n\n  const getRequestOptions =\n    ambassadorWixLoyaltyV1Account.getProgramTotals(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: '/v1/accounts/program-totals',\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 getCurrentMemberAccount(): __PublicMethodMetaInfo<\n  'GET',\n  {},\n  ambassadorWixLoyaltyV1AccountUniversalTypes.GetCurrentMemberAccountRequest,\n  ambassadorWixLoyaltyV1AccountTypes.GetCurrentMemberAccountRequest,\n  ambassadorWixLoyaltyV1AccountUniversalTypes.GetCurrentMemberAccountResponse,\n  ambassadorWixLoyaltyV1AccountTypes.GetCurrentMemberAccountResponse\n> {\n  const payload = {} as any;\n\n  const getRequestOptions =\n    ambassadorWixLoyaltyV1Account.getCurrentMemberAccount(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: '/v1/accounts/my-account',\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 getAccountBySecondaryId(): __PublicMethodMetaInfo<\n  'GET',\n  {},\n  ambassadorWixLoyaltyV1AccountUniversalTypes.GetAccountBySecondaryIdRequest,\n  ambassadorWixLoyaltyV1AccountTypes.GetAccountBySecondaryIdRequest,\n  ambassadorWixLoyaltyV1AccountUniversalTypes.GetAccountBySecondaryIdResponse,\n  ambassadorWixLoyaltyV1AccountTypes.GetAccountBySecondaryIdResponse\n> {\n  const payload = {} as any;\n\n  const getRequestOptions =\n    ambassadorWixLoyaltyV1Account.getAccountBySecondaryId(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: '/v1/accounts/fetch-by',\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 listAccounts(): __PublicMethodMetaInfo<\n  'GET',\n  {},\n  ambassadorWixLoyaltyV1AccountUniversalTypes.ListAccountsRequest,\n  ambassadorWixLoyaltyV1AccountTypes.ListAccountsRequest,\n  ambassadorWixLoyaltyV1AccountUniversalTypes.ListAccountsResponse,\n  ambassadorWixLoyaltyV1AccountTypes.ListAccountsResponse\n> {\n  const payload = {} as any;\n\n  const getRequestOptions = ambassadorWixLoyaltyV1Account.listAccounts(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: '/v1/accounts',\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 searchAccounts(): __PublicMethodMetaInfo<\n  'POST',\n  {},\n  ambassadorWixLoyaltyV1AccountUniversalTypes.SearchAccountsRequest,\n  ambassadorWixLoyaltyV1AccountTypes.SearchAccountsRequest,\n  ambassadorWixLoyaltyV1AccountUniversalTypes.SearchAccountsResponse,\n  ambassadorWixLoyaltyV1AccountTypes.SearchAccountsResponse\n> {\n  const payload = {} as any;\n\n  const getRequestOptions =\n    ambassadorWixLoyaltyV1Account.searchAccounts(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: '/v1/accounts/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 countAccounts(): __PublicMethodMetaInfo<\n  'POST',\n  {},\n  ambassadorWixLoyaltyV1AccountUniversalTypes.CountAccountsRequest,\n  ambassadorWixLoyaltyV1AccountTypes.CountAccountsRequest,\n  ambassadorWixLoyaltyV1AccountUniversalTypes.CountAccountsResponse,\n  ambassadorWixLoyaltyV1AccountTypes.CountAccountsResponse\n> {\n  const payload = {} as any;\n\n  const getRequestOptions =\n    ambassadorWixLoyaltyV1Account.countAccounts(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: '/v1/accounts/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 function bulkAdjustPoints(): __PublicMethodMetaInfo<\n  'POST',\n  {},\n  ambassadorWixLoyaltyV1AccountUniversalTypes.BulkAdjustPointsRequest,\n  ambassadorWixLoyaltyV1AccountTypes.BulkAdjustPointsRequest,\n  ambassadorWixLoyaltyV1AccountUniversalTypes.BulkAdjustPointsResponse,\n  ambassadorWixLoyaltyV1AccountTypes.BulkAdjustPointsResponse\n> {\n  const payload = {} as any;\n\n  const getRequestOptions =\n    ambassadorWixLoyaltyV1Account.bulkAdjustPoints(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: '/v1/accounts/bulk-adjust',\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  LoyaltyAccount as LoyaltyAccountOriginal,\n  Points as PointsOriginal,\n  Tier as TierOriginal,\n  Contact as ContactOriginal,\n  Image as ImageOriginal,\n  PointsExpiration as PointsExpirationOriginal,\n  RewardAvailabilityUpdated as RewardAvailabilityUpdatedOriginal,\n  UpdateTrigger as UpdateTriggerOriginal,\n  UpdateTriggerWithLiterals as UpdateTriggerWithLiteralsOriginal,\n  CreateAccountRequest as CreateAccountRequestOriginal,\n  CreateAccountResponse as CreateAccountResponseOriginal,\n  EarnPointsRequest as EarnPointsRequestOriginal,\n  EarnPointsRequestActivityDetailsOneOf as EarnPointsRequestActivityDetailsOneOfOriginal,\n  FollowedSocialMedia as FollowedSocialMediaOriginal,\n  EarnPointsResponse as EarnPointsResponseOriginal,\n  PointsUpdated as PointsUpdatedOriginal,\n  FirstTransaction as FirstTransactionOriginal,\n  AdjustPointsRequest as AdjustPointsRequestOriginal,\n  AdjustPointsRequestTypeOneOf as AdjustPointsRequestTypeOneOfOriginal,\n  AdjustPointsResponse as AdjustPointsResponseOriginal,\n  DeductPointsRequest as DeductPointsRequestOriginal,\n  DeductPointsResponse as DeductPointsResponseOriginal,\n  RedeemPointsRequest as RedeemPointsRequestOriginal,\n  RedeemPointsResponse as RedeemPointsResponseOriginal,\n  RedeemDeterminedAmountOfPointsRequest as RedeemDeterminedAmountOfPointsRequestOriginal,\n  RedeemDeterminedAmountOfPointsResponse as RedeemDeterminedAmountOfPointsResponseOriginal,\n  RefundTransactionRequest as RefundTransactionRequestOriginal,\n  RefundTransactionResponse as RefundTransactionResponseOriginal,\n  GetAccountRequest as GetAccountRequestOriginal,\n  GetAccountResponse as GetAccountResponseOriginal,\n  QueryLoyaltyAccountsRequest as QueryLoyaltyAccountsRequestOriginal,\n  CursorQuery as CursorQueryOriginal,\n  CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOfOriginal,\n  Sorting as SortingOriginal,\n  SortOrder as SortOrderOriginal,\n  SortOrderWithLiterals as SortOrderWithLiteralsOriginal,\n  CursorPaging as CursorPagingOriginal,\n  QueryLoyaltyAccountsResponse as QueryLoyaltyAccountsResponseOriginal,\n  CursorPagingMetadata as CursorPagingMetadataOriginal,\n  Cursors as CursorsOriginal,\n  ListUserAccountsRequest as ListUserAccountsRequestOriginal,\n  ListUserAccountsResponse as ListUserAccountsResponseOriginal,\n  LoyaltyAccountForMetaSite as LoyaltyAccountForMetaSiteOriginal,\n  GetProgramTotalsRequest as GetProgramTotalsRequestOriginal,\n  GetProgramTotalsResponse as GetProgramTotalsResponseOriginal,\n  TierTotal as TierTotalOriginal,\n  GetCurrentMemberAccountRequest as GetCurrentMemberAccountRequestOriginal,\n  GetCurrentMemberAccountResponse as GetCurrentMemberAccountResponseOriginal,\n  GetAccountBySecondaryIdRequest as GetAccountBySecondaryIdRequestOriginal,\n  GetAccountBySecondaryIdRequestIdOneOf as GetAccountBySecondaryIdRequestIdOneOfOriginal,\n  GetAccountBySecondaryIdResponse as GetAccountBySecondaryIdResponseOriginal,\n  ListAccountsRequest as ListAccountsRequestOriginal,\n  ListAccountsResponse as ListAccountsResponseOriginal,\n  PagingMetadataV2 as PagingMetadataV2Original,\n  SearchAccountsRequest as SearchAccountsRequestOriginal,\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  DateHistogramAggregationInterval as DateHistogramAggregationIntervalOriginal,\n  DateHistogramAggregationIntervalWithLiterals as DateHistogramAggregationIntervalWithLiteralsOriginal,\n  NestedAggregationItem as NestedAggregationItemOriginal,\n  NestedAggregationItemKindOneOf as NestedAggregationItemKindOneOfOriginal,\n  AggregationType as AggregationTypeOriginal,\n  AggregationTypeWithLiterals as AggregationTypeWithLiteralsOriginal,\n  NestedAggregation as NestedAggregationOriginal,\n  GroupByAggregation as GroupByAggregationOriginal,\n  GroupByAggregationKindOneOf as GroupByAggregationKindOneOfOriginal,\n  SearchDetails as SearchDetailsOriginal,\n  Mode as ModeOriginal,\n  ModeWithLiterals as ModeWithLiteralsOriginal,\n  SearchAccountsResponse as SearchAccountsResponseOriginal,\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  ScalarDateResult as ScalarDateResultOriginal,\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  AggregationResultsScalarDateResult as AggregationResultsScalarDateResultOriginal,\n  AggregationResults as AggregationResultsOriginal,\n  AggregationResultsResultOneOf as AggregationResultsResultOneOfOriginal,\n  ExportAccountsRequest as ExportAccountsRequestOriginal,\n  QueryV2 as QueryV2Original,\n  QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOfOriginal,\n  Paging as PagingOriginal,\n  ExportAccountsResponse as ExportAccountsResponseOriginal,\n  CountAccountsRequest as CountAccountsRequestOriginal,\n  CountAccountsResponse as CountAccountsResponseOriginal,\n  BulkAdjustPointsRequest as BulkAdjustPointsRequestOriginal,\n  BulkAdjustPointsRequestTypeOneOf as BulkAdjustPointsRequestTypeOneOfOriginal,\n  BulkAdjustPointsResponse as BulkAdjustPointsResponseOriginal,\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  Empty as EmptyOriginal,\n  TiersRollingUpdate as TiersRollingUpdateOriginal,\n  TiersProgramSettingsChanged as TiersProgramSettingsChangedOriginal,\n  TiersProgramSettings as TiersProgramSettingsOriginal,\n  TiersProgramSettingsPeriodOneOf as TiersProgramSettingsPeriodOneOfOriginal,\n  Status as StatusOriginal,\n  StatusWithLiterals as StatusWithLiteralsOriginal,\n  TierDefinition as TierDefinitionOriginal,\n  CommonImage as CommonImageOriginal,\n  FocalPoint as FocalPointOriginal,\n  RollingWindow as RollingWindowOriginal,\n  SubscriptionEvent as SubscriptionEventOriginal,\n  SubscriptionEventEventOneOf as SubscriptionEventEventOneOfOriginal,\n  SubscriptionCreated as SubscriptionCreatedOriginal,\n  Subscription as SubscriptionOriginal,\n  BillingReference as BillingReferenceOriginal,\n  ProviderName as ProviderNameOriginal,\n  ProviderNameWithLiterals as ProviderNameWithLiteralsOriginal,\n  Cycle as CycleOriginal,\n  CycleCycleSelectorOneOf as CycleCycleSelectorOneOfOriginal,\n  Interval as IntervalOriginal,\n  IntervalUnit as IntervalUnitOriginal,\n  IntervalUnitWithLiterals as IntervalUnitWithLiteralsOriginal,\n  OneTime as OneTimeOriginal,\n  SubscriptionStatus as SubscriptionStatusOriginal,\n  SubscriptionStatusWithLiterals as SubscriptionStatusWithLiteralsOriginal,\n  ReactivationData as ReactivationDataOriginal,\n  ReactivationReasonEnum as ReactivationReasonEnumOriginal,\n  ReactivationReasonEnumWithLiterals as ReactivationReasonEnumWithLiteralsOriginal,\n  SubscriptionAssigned as SubscriptionAssignedOriginal,\n  SubscriptionCancelled as SubscriptionCancelledOriginal,\n  CancellationDetails as CancellationDetailsOriginal,\n  Initiator as InitiatorOriginal,\n  InitiatorWithLiterals as InitiatorWithLiteralsOriginal,\n  RefundType as RefundTypeOriginal,\n  RefundTypeWithLiterals as RefundTypeWithLiteralsOriginal,\n  SubscriptionAutoRenewTurnedOn as SubscriptionAutoRenewTurnedOnOriginal,\n  SubscriptionAutoRenewTurnedOff as SubscriptionAutoRenewTurnedOffOriginal,\n  SubscriptionUnassigned as SubscriptionUnassignedOriginal,\n  UnassignReason as UnassignReasonOriginal,\n  UnassignReasonWithLiterals as UnassignReasonWithLiteralsOriginal,\n  SubscriptionTransferred as SubscriptionTransferredOriginal,\n  RecurringChargeSucceeded as RecurringChargeSucceededOriginal,\n  ContractSwitched as ContractSwitchedOriginal,\n  ContractSwitchType as ContractSwitchTypeOriginal,\n  ContractSwitchTypeWithLiterals as ContractSwitchTypeWithLiteralsOriginal,\n  ContractSwitchReason as ContractSwitchReasonOriginal,\n  ContractSwitchReasonWithLiterals as ContractSwitchReasonWithLiteralsOriginal,\n  ProductPriceIncreaseData as ProductPriceIncreaseDataOriginal,\n  PriceIncreaseTrigger as PriceIncreaseTriggerOriginal,\n  PriceIncreaseTriggerWithLiterals as PriceIncreaseTriggerWithLiteralsOriginal,\n  ProductAdjustment as ProductAdjustmentOriginal,\n  ProductAdjustmentWithLiterals as ProductAdjustmentWithLiteralsOriginal,\n  SubscriptionNearEndOfPeriod as SubscriptionNearEndOfPeriodOriginal,\n  SubscriptionPendingChange as SubscriptionPendingChangeOriginal,\n  RecurringChargeAttemptFailed as RecurringChargeAttemptFailedOriginal,\n  ContactSyncRequest as ContactSyncRequestOriginal,\n  BulkUpsertAccountsRequest as BulkUpsertAccountsRequestOriginal,\n  AccountToUpsert as AccountToUpsertOriginal,\n  BulkUpsertAccountsResponse as BulkUpsertAccountsResponseOriginal,\n  BulkAccountResult as BulkAccountResultOriginal,\n  ItemMetadata as ItemMetadataOriginal,\n  ApplicationError as ApplicationErrorOriginal,\n  BulkActionMetadata as BulkActionMetadataOriginal,\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} from './loyalty-v1-account-accounts.types.js';\n"],"mappings":"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","names":["payload","UpdateTrigger","SortOrder","SortType","SortDirection","MissingValues","ScalarType","NestedAggregationType","DateHistogramAggregationInterval","AggregationType","Mode","Status","ProviderName","IntervalUnit","SubscriptionStatus","ReactivationReasonEnum","Initiator","RefundType","UnassignReason","ContractSwitchType","ContractSwitchReason","PriceIncreaseTrigger","ProductAdjustment","WebhookIdentityType","createAccount","earnPoints","adjustPoints","getAccount","queryLoyaltyAccounts","getProgramTotals","getCurrentMemberAccount","getAccountBySecondaryId","listAccounts","searchAccounts","countAccounts","bulkAdjustPoints"]}