{"version":3,"sources":["../../src/loyalty-referral-v1-referral-event-tracker.public.ts","../../src/loyalty-referral-v1-referral-event-tracker.universal.ts","../../src/loyalty-referral-v1-referral-event-tracker.http.ts","../../src/loyalty-referral-v1-referral-event-tracker.context.ts"],"sourcesContent":["import { renameKeysFromRESTResponseToSDKResponse } from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { EventDefinition, HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n  GetReferralStatisticsResponse,\n  QueryReferralEventResponse,\n  QueryReferredFriendActionsOptions,\n  QueryReferredFriendActionsResponse,\n  QueryReferringCustomerTotalsOptions,\n  QueryReferringCustomerTotalsResponse,\n  ReferralEvent,\n  ReferralEventCreatedEnvelope,\n  ReferralEventQuery,\n  ReferralEventsQueryBuilder,\n  getReferralEvent as universalGetReferralEvent,\n  getReferralStatistics as universalGetReferralStatistics,\n  queryReferralEvent as universalQueryReferralEvent,\n  queryReferredFriendActions as universalQueryReferredFriendActions,\n  queryReferringCustomerTotals as universalQueryReferringCustomerTotals,\n  typedQueryReferralEvent as universalTypedQueryReferralEvent,\n} from './loyalty-referral-v1-referral-event-tracker.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/referral' };\n\nexport function getReferralEvent(\n  httpClient: HttpClient\n): GetReferralEventSignature {\n  return (referralEventId: string) =>\n    universalGetReferralEvent(\n      referralEventId,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface GetReferralEventSignature {\n  /**\n   * Retrieves a referral event by ID.\n   * @param - ID of the referral event to retrieve.\n   * @returns Retrieved referral event.\n   */\n  (referralEventId: string): Promise<\n    NonNullablePaths<\n      ReferralEvent,\n      | `referredFriendSignupEvent.referredFriendId`\n      | `successfulReferralEvent.referredFriendId`\n      | `successfulReferralEvent.referringCustomerId`\n      | `actionEvent.referredFriendId`\n      | `actionEvent.referringCustomerId`\n      | `actionEvent.trigger.appId`\n      | `actionEvent.trigger.activityType`\n      | `rewardEvent.rewardedReferringCustomerId`\n      | `rewardEvent.rewardedReferredFriendId`\n      | `rewardEvent.referralRewardId`\n      | `rewardEvent.rewardType`,\n      4\n    >\n  >;\n}\n\nexport function queryReferralEvent(\n  httpClient: HttpClient\n): QueryReferralEventSignature {\n  return () =>\n    universalQueryReferralEvent(\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface QueryReferralEventSignature {\n  /**\n   * Creates a query to retrieve a list of referral events.\n   *\n   * The `queryReferralEvents()` function builds a query to retrieve a list of referral events and returns a `ReferralEventsQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is typically used to run the query using the `find()` function.\n   *\n   * You can refine the query by chaining `ReferralEventsQueryBuilder` functions onto the query. `ReferralEventsQueryBuilder` functions enable you to sort, filter, and control the results `queryReferralEvents()` returns.\n   *\n   * `queryReferralEvents()` runs with these `ReferralEventsQueryBuilder` defaults, which you can override:\n   *\n   * - skip(0)\n   * - limit(50)\n   * - descending(\"_createdDate\")\n   *\n   * The functions that are chained to `queryReferralEvents()` are applied in the order they're called. For example, if you apply ascending('actionEvent') and then descending('rewardEvent'), the results are sorted first by the action events, and then, if there are multiple results with the same action events, the items are sorted by reward events.\n   */\n  (): ReferralEventsQueryBuilder;\n}\n\nexport function typedQueryReferralEvent(\n  httpClient: HttpClient\n): TypedQueryReferralEventSignature {\n  return (query: ReferralEventQuery) =>\n    universalTypedQueryReferralEvent(\n      query,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface TypedQueryReferralEventSignature {\n  /** */\n  (query: ReferralEventQuery): Promise<\n    NonNullablePaths<\n      QueryReferralEventResponse,\n      | `referralEvents`\n      | `referralEvents.${number}.referredFriendSignupEvent.referredFriendId`\n      | `referralEvents.${number}.successfulReferralEvent.referredFriendId`\n      | `referralEvents.${number}.successfulReferralEvent.referringCustomerId`\n      | `referralEvents.${number}.actionEvent.referredFriendId`\n      | `referralEvents.${number}.actionEvent.referringCustomerId`\n      | `referralEvents.${number}.actionEvent.trigger.appId`\n      | `referralEvents.${number}.actionEvent.trigger.activityType`\n      | `referralEvents.${number}.rewardEvent.rewardedReferringCustomerId`\n      | `referralEvents.${number}.rewardEvent.rewardedReferredFriendId`\n      | `referralEvents.${number}.rewardEvent.referralRewardId`\n      | `referralEvents.${number}.rewardEvent.rewardType`,\n      6\n    >\n  >;\n}\n\nexport function getReferralStatistics(\n  httpClient: HttpClient\n): GetReferralStatisticsSignature {\n  return () =>\n    universalGetReferralStatistics(\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface GetReferralStatisticsSignature {\n  /**\n   * Retrieves referral statistics.\n   */\n  (): Promise<\n    NonNullablePaths<\n      GetReferralStatisticsResponse,\n      | `totalSignUpsCompleted`\n      | `totalActionsCompleted`\n      | `totalAmountGenerated`,\n      2\n    >\n  >;\n}\n\nexport function queryReferringCustomerTotals(\n  httpClient: HttpClient\n): QueryReferringCustomerTotalsSignature {\n  return (options?: QueryReferringCustomerTotalsOptions) =>\n    universalQueryReferringCustomerTotals(\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface QueryReferringCustomerTotalsSignature {\n  /**\n   * Retrieves a list of referring customer totals, given the provided paging, filtering, and sorting.\n   *\n   * To learn about working with Query endpoints, see\n   * [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language),\n   * [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination),\n   * and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).\n   */\n  (options?: QueryReferringCustomerTotalsOptions): Promise<\n    NonNullablePaths<\n      QueryReferringCustomerTotalsResponse,\n      | `referringCustomerTotals`\n      | `referringCustomerTotals.${number}.referringCustomerId`\n      | `referringCustomerTotals.${number}.contactId`\n      | `referringCustomerTotals.${number}.totalSuccessfulReferrals`\n      | `referringCustomerTotals.${number}.totalAmountGenerated`\n      | `referringCustomerTotals.${number}.totalFriendsWithActions`,\n      4\n    >\n  >;\n}\n\nexport function queryReferredFriendActions(\n  httpClient: HttpClient\n): QueryReferredFriendActionsSignature {\n  return (options?: QueryReferredFriendActionsOptions) =>\n    universalQueryReferredFriendActions(\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface QueryReferredFriendActionsSignature {\n  /**\n   * Retrieves a list of referred friend actions, given the provided paging, filtering, and sorting.\n   *\n   * To learn about working with Query endpoints, see\n   * [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language),\n   * [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination),\n   * and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).\n   */\n  (options?: QueryReferredFriendActionsOptions): Promise<\n    NonNullablePaths<\n      QueryReferredFriendActionsResponse,\n      | `referredFriendActions`\n      | `referredFriendActions.${number}.coupon._id`\n      | `referredFriendActions.${number}.coupon.code`\n      | `referredFriendActions.${number}.coupon.status`\n      | `referredFriendActions.${number}.coupon.couponSpecification.minimumSubtotal`\n      | `referredFriendActions.${number}.coupon.couponSpecification.name`\n      | `referredFriendActions.${number}.coupon.couponSpecification.discountType`\n      | `referredFriendActions.${number}.loyaltyPoints.transactionId`\n      | `referredFriendActions.${number}.loyaltyPoints.amount`\n      | `referredFriendActions.${number}.referredFriendId`\n      | `referredFriendActions.${number}.contactId`\n      | `referredFriendActions.${number}.trigger.appId`\n      | `referredFriendActions.${number}.trigger.activityType`\n      | `referredFriendActions.${number}.rewardType`\n      | `referredFriendActions.${number}.totalActions`\n      | `referredFriendActions.${number}.totalAmountSpent`,\n      6\n    >\n  >;\n}\n\nexport const onReferralEventCreated = EventDefinition(\n  'wix.loyalty.referral.v1.referral_event_created',\n  true,\n  (event: ReferralEventCreatedEnvelope) =>\n    renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(event, [\n        {\n          transformFn: transformRESTTimestampToSDKTimestamp,\n          paths: [\n            { path: 'entity.createdDate' },\n            { path: 'entity.updatedDate' },\n            { path: 'metadata.eventTime' },\n          ],\n        },\n      ])\n    )\n)<ReferralEventCreatedEnvelope>();\n\nexport {\n  AccountInfo,\n  AccountInfoMetadata,\n  ActionEvent,\n  BaseEventMetadata,\n  Coupon,\n  CouponDiscountTypeOptionsOneOf,\n  CouponScope,\n  CouponScopeOrMinSubtotalOneOf,\n  CreateReferralEventRequest,\n  CreateReferralEventResponse,\n  CursorPaging,\n  CursorPagingMetadata,\n  CursorQuery,\n  CursorQueryPagingMethodOneOf,\n  Cursors,\n  DiscountType,\n  DomainEvent,\n  DomainEventBodyOneOf,\n  Empty,\n  EntityCreatedEvent,\n  EntityDeletedEvent,\n  EntityUpdatedEvent,\n  EventMetadata,\n  FixedAmountDiscount,\n  GetReferralEventRequest,\n  GetReferralEventResponse,\n  GetReferralStatisticsRequest,\n  GetReferralStatisticsResponse,\n  Group,\n  IdentificationData,\n  IdentificationDataIdOneOf,\n  LoyaltyPoints,\n  MessageEnvelope,\n  PercentageDiscount,\n  QueryReferralEventRequest,\n  QueryReferralEventResponse,\n  QueryReferredFriendActionsOptions,\n  QueryReferredFriendActionsRequest,\n  QueryReferredFriendActionsResponse,\n  QueryReferringCustomerTotalsOptions,\n  QueryReferringCustomerTotalsRequest,\n  QueryReferringCustomerTotalsResponse,\n  ReferralEvent,\n  ReferralEventCreatedEnvelope,\n  ReferralEventEventTypeOneOf,\n  ReferralEventQuerySpec,\n  ReferralEventsQueryBuilder,\n  ReferralEventsQueryResult,\n  ReferredFriendAction,\n  ReferredFriendActionEvent,\n  ReferredFriendActionRewardTypeOptionsOneOf,\n  ReferredFriendDetails,\n  ReferredFriendSignupEvent,\n  ReferringCustomerTotal,\n  ReprocessReferralEventsRequest,\n  ReprocessReferralEventsRequestEntityOneOf,\n  ReprocessReferralEventsResponse,\n  RestoreInfo,\n  Reward,\n  RewardEvent,\n  RewardEventReceiverOneOf,\n  SortOrder,\n  Sorting,\n  Status,\n  SuccessfulReferralEvent,\n  Trigger,\n  V1ActionEvent,\n  V1Coupon,\n  V1SuccessfulReferralEvent,\n  V1Trigger,\n  WebhookIdentityType,\n  utils,\n} from './loyalty-referral-v1-referral-event-tracker.universal.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport { queryBuilder } from '@wix/sdk-runtime/query-builder';\nimport {\n  renameKeysFromSDKRequestToRESTRequest,\n  renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport {\n  HttpClient,\n  HttpResponse,\n  NonNullablePaths,\n  QuerySpec,\n  Query as QuerySdkType,\n} from '@wix/sdk-types';\nimport * as ambassadorWixLoyaltyReferralV1ReferralEvent from './loyalty-referral-v1-referral-event-tracker.http.js';\n// @ts-ignore\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { createQueryUtils } from '@wix/sdk-runtime/query-builder-utils';\n\nexport interface ReferralEvent extends ReferralEventEventTypeOneOf {\n  /** Event triggered when a referred friend signs up. */\n  referredFriendSignupEvent?: ReferredFriendSignupEvent;\n  /** Event triggered when a referral is successful. For example, customer places and pays for an order. */\n  successfulReferralEvent?: V1SuccessfulReferralEvent;\n  /** Event triggered when an action is performed. For example, placing an order. */\n  actionEvent?: V1ActionEvent;\n  /** Event triggered when a reward is given. */\n  rewardEvent?: RewardEvent;\n  /**\n   * Referral event ID.\n   * @format GUID\n   * @readonly\n   */\n  _id?: string | null;\n  /**\n   * Revision number, which increments by 1 each time the referral event is updated.\n   * To prevent conflicting changes, the current revision must be passed when updating the referral event.\n   * @immutable\n   */\n  revision?: string | null;\n  /**\n   * Date and time the referral event was created.\n   * @readonly\n   */\n  _createdDate?: Date | null;\n  /**\n   * Date and time the referral event was last updated.\n   * @readonly\n   */\n  _updatedDate?: Date | null;\n}\n\n/** @oneof */\nexport interface ReferralEventEventTypeOneOf {\n  /** Event triggered when a referred friend signs up. */\n  referredFriendSignupEvent?: ReferredFriendSignupEvent;\n  /** Event triggered when a referral is successful. For example, customer places and pays for an order. */\n  successfulReferralEvent?: V1SuccessfulReferralEvent;\n  /** Event triggered when an action is performed. For example, placing an order. */\n  actionEvent?: V1ActionEvent;\n  /** Event triggered when a reward is given. */\n  rewardEvent?: RewardEvent;\n}\n\nexport interface ReferredFriendSignupEvent {\n  /**\n   * ID of the referred friend.\n   * @format GUID\n   */\n  referredFriendId?: string;\n}\n\nexport interface V1SuccessfulReferralEvent {\n  /**\n   * ID of the referred friend.\n   * @format GUID\n   */\n  referredFriendId?: string;\n  /**\n   * ID of the referring customer.\n   * @format GUID\n   */\n  referringCustomerId?: string;\n}\n\nexport interface V1ActionEvent {\n  /**\n   * ID of the referred friend.\n   * @format GUID\n   */\n  referredFriendId?: string;\n  /**\n   * ID of the referring customer.\n   * @format GUID\n   */\n  referringCustomerId?: string;\n  /** Trigger for the action. */\n  trigger?: V1Trigger;\n  /** Amount associated with the action. */\n  amount?: string | null;\n  /** Currency of the amount. */\n  currency?: string | null;\n  /** ID of the associated order. */\n  orderId?: string | null;\n}\n\nexport interface V1Trigger {\n  /** ID of the app that triggered the event. */\n  appId?: string;\n  /** Type of activity that triggered the event. */\n  activityType?: string;\n}\n\nexport interface RewardEvent extends RewardEventReceiverOneOf {\n  /**\n   * ID of the rewarded referring customer.\n   * @format GUID\n   * @readonly\n   */\n  rewardedReferringCustomerId?: string;\n  /**\n   * ID of the rewarded referred friend.\n   * @format GUID\n   * @readonly\n   */\n  rewardedReferredFriendId?: string;\n  /**\n   * ID of the referral reward.\n   * @format GUID\n   */\n  referralRewardId?: string;\n  /** Type of reward. */\n  rewardType?: RewardWithLiterals;\n}\n\n/** @oneof */\nexport interface RewardEventReceiverOneOf {\n  /**\n   * ID of the rewarded referring customer.\n   * @format GUID\n   * @readonly\n   */\n  rewardedReferringCustomerId?: string;\n  /**\n   * ID of the rewarded referred friend.\n   * @format GUID\n   * @readonly\n   */\n  rewardedReferredFriendId?: string;\n}\n\nexport enum Reward {\n  /** Unknown reward. This field is not used. */\n  UNKNOWN = 'UNKNOWN',\n  /** Reward is a coupon. */\n  COUPON = 'COUPON',\n  /** Reward is loyalty points. */\n  LOYALTY_POINTS = 'LOYALTY_POINTS',\n  /** No reward. */\n  NOTHING = 'NOTHING',\n}\n\n/** @enumType */\nexport type RewardWithLiterals =\n  | Reward\n  | 'UNKNOWN'\n  | 'COUPON'\n  | 'LOYALTY_POINTS'\n  | 'NOTHING';\n\nexport interface CreateReferralEventRequest {\n  /** Referral event to create. */\n  referralEvent?: ReferralEvent;\n}\n\nexport interface CreateReferralEventResponse {\n  /** Created referral event. */\n  referralEvent?: ReferralEvent;\n}\n\nexport interface GetReferralEventRequest {\n  /**\n   * ID of the referral event to retrieve.\n   * @format GUID\n   */\n  referralEventId: string;\n}\n\nexport interface GetReferralEventResponse {\n  /** Retrieved referral event. */\n  referralEvent?: ReferralEvent;\n}\n\nexport interface QueryReferralEventRequest {\n  /** Query to filter referral events. */\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 QueryReferralEventResponse {\n  /** List of referral events. */\n  referralEvents?: ReferralEvent[];\n  /** Metadata for the paginated results. */\n  metadata?: 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 GetReferralStatisticsRequest {}\n\nexport interface GetReferralStatisticsResponse {\n  /** Total number of sign-ups completed by referred friends. */\n  totalSignUpsCompleted?: number;\n  /** Total number of actions completed by referred friends. */\n  totalActionsCompleted?: number;\n  /** Total amount of purchases made by referred friends. */\n  totalAmountGenerated?: string;\n}\n\nexport interface QueryReferringCustomerTotalsRequest {\n  /** Query to filter referring customer totals. */\n  query?: CursorQuery;\n  /**\n   * List of contact IDs to filter referring customer totals.\n   * @format GUID\n   */\n  contactIds?: string[];\n}\n\nexport interface QueryReferringCustomerTotalsResponse {\n  referringCustomerTotals?: ReferringCustomerTotal[];\n  /** Paging metadata. */\n  metadata?: CursorPagingMetadata;\n}\n\nexport interface ReferringCustomerTotal {\n  /**\n   * ID of the referring customer.\n   * @format GUID\n   * @readonly\n   */\n  referringCustomerId?: string;\n  /**\n   * Contact ID.\n   * @format GUID\n   * @readonly\n   */\n  contactId?: string;\n  /**\n   * Date and time of the last successful referral.\n   * @readonly\n   */\n  lastSuccessfulReferral?: Date | null;\n  /**\n   * Total number of successful referrals made by this customer.\n   * @readonly\n   */\n  totalSuccessfulReferrals?: number;\n  /**\n   * Total amount of revenue generated by friends referred by this customer.\n   * @readonly\n   */\n  totalAmountGenerated?: string;\n  /**\n   * Date and time of the last friend action.\n   * @readonly\n   */\n  lastFriendAction?: Date | null;\n  /**\n   * Number of friends who have completed actions.\n   * @readonly\n   */\n  totalFriendsWithActions?: number;\n}\n\nexport interface QueryReferredFriendActionsRequest {\n  /** Query to filter referred friend actions. */\n  query?: CursorQuery;\n  /**\n   * List of contact IDs to filter referred friend actions.\n   * @format GUID\n   */\n  contactIds?: string[];\n}\n\nexport interface QueryReferredFriendActionsResponse {\n  /** List of referred friend actions matching the query. */\n  referredFriendActions?: ReferredFriendAction[];\n  /** Paging metadata. */\n  metadata?: CursorPagingMetadata;\n}\n\nexport interface ReferredFriendAction\n  extends ReferredFriendActionRewardTypeOptionsOneOf {\n  /** Coupon reward type options. */\n  coupon?: V1Coupon;\n  /** Loyalty points reward type options. */\n  loyaltyPoints?: LoyaltyPoints;\n  /**\n   * Referred friend ID.\n   * @format GUID\n   * @readonly\n   */\n  referredFriendId?: string;\n  /**\n   * Contact ID.\n   * @format GUID\n   * @readonly\n   */\n  contactId?: string;\n  /**\n   * Trigger for the first action.\n   * @readonly\n   */\n  trigger?: V1Trigger;\n  /**\n   * Date and time of the first action.\n   * @readonly\n   */\n  actionDate?: Date | null;\n  /** Type of issued reward. */\n  rewardType?: RewardWithLiterals;\n  /** Number of actions completed. */\n  totalActions?: number;\n  /**\n   * Total amount spent by this referred friend.\n   * @readonly\n   */\n  totalAmountSpent?: string;\n  /**\n   * Date and time of friend signup.\n   * @readonly\n   */\n  signupDate?: Date | null;\n}\n\n/** @oneof */\nexport interface ReferredFriendActionRewardTypeOptionsOneOf {\n  /** Coupon reward type options. */\n  coupon?: V1Coupon;\n  /** Loyalty points reward type options. */\n  loyaltyPoints?: LoyaltyPoints;\n}\n\nexport interface V1Coupon {\n  /**\n   * Coupon ID. Example: `8934b045-7052-4a90-be2b-832c70afc9da`.\n   * @format GUID\n   * @readonly\n   */\n  _id?: string;\n  /**\n   * The code that customers can use to apply the coupon. Example: `6RFD2A3HSPXW`.\n   * @readonly\n   */\n  code?: string;\n  /**\n   * Current status of the coupon.\n   * @readonly\n   */\n  status?: StatusWithLiterals;\n  /**\n   * Detailed specifications of the coupon.\n   * @readonly\n   */\n  couponSpecification?: Coupon;\n}\n\nexport enum Status {\n  /** Coupon status is unknown or not specified. */\n  UNKNOWN = 'UNKNOWN',\n  /** Coupon is active and can be applied to purchases. */\n  ACTIVE = 'ACTIVE',\n  /** Coupon was applied and can't be used again. */\n  APPLIED = 'APPLIED',\n  /** Coupon was deleted and is no longer valid. */\n  DELETED = 'DELETED',\n}\n\n/** @enumType */\nexport type StatusWithLiterals =\n  | Status\n  | 'UNKNOWN'\n  | 'ACTIVE'\n  | 'APPLIED'\n  | 'DELETED';\n\nexport interface Coupon\n  extends CouponDiscountTypeOptionsOneOf,\n    CouponScopeOrMinSubtotalOneOf {\n  /** Options for fixed amount discount. */\n  fixedAmountOptions?: FixedAmountDiscount;\n  /** Options for percentage discounts. */\n  percentageOptions?: PercentageDiscount;\n  /** Limit the coupon to carts with a subtotal above this number. */\n  minimumSubtotal?: number;\n  /** Specifies the type of line items this coupon will apply to. See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values). */\n  scope?: CouponScope;\n  /**\n   * Coupon name.\n   * @minLength 1\n   * @maxLength 50\n   */\n  name?: string;\n  /** Coupon discount type. */\n  discountType?: DiscountTypeWithLiterals;\n  /**\n   * Whether the coupon is limited to one item.\n   * If `true` and a customer pays for multiple items, the discount applies to only the lowest priced item.\n   * Coupons with a bookings `scope.namespace` are always limited to one item.\n   */\n  limitedToOneItem?: boolean | null;\n  /** Whether the coupon applies to subscription products. */\n  appliesToSubscriptions?: boolean | null;\n  /**\n   * Specifies the amount of discounted cycles for a subscription item.\n   *\n   * - Can only be set when `scope.namespace = pricingPlans`.\n   * - If `discountedCycleCount` is empty, the coupon applies to all available cycles.\n   * - `discountedCycleCount` is ignored if `appliesToSubscriptions = true`.\n   *\n   * Max: `999`\n   */\n  discountedCycleCount?: number | null;\n}\n\n/** @oneof */\nexport interface CouponDiscountTypeOptionsOneOf {\n  /** Options for fixed amount discount. */\n  fixedAmountOptions?: FixedAmountDiscount;\n  /** Options for percentage discounts. */\n  percentageOptions?: PercentageDiscount;\n}\n\n/** @oneof */\nexport interface CouponScopeOrMinSubtotalOneOf {\n  /** Limit the coupon to carts with a subtotal above this number. */\n  minimumSubtotal?: number;\n  /** Specifies the type of line items this coupon will apply to. See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values). */\n  scope?: CouponScope;\n}\n\nexport enum DiscountType {\n  /** Unknown discount type. */\n  UNKNOWN = 'UNKNOWN',\n  /** Discount as a fixed amount. */\n  FIXED_AMOUNT = 'FIXED_AMOUNT',\n  /** Discount as a percentage. */\n  PERCENTAGE = 'PERCENTAGE',\n  /** Free shipping. If `true`, the coupon applies to all items in all `namespaces`. */\n  FREE_SHIPPING = 'FREE_SHIPPING',\n}\n\n/** @enumType */\nexport type DiscountTypeWithLiterals =\n  | DiscountType\n  | 'UNKNOWN'\n  | 'FIXED_AMOUNT'\n  | 'PERCENTAGE'\n  | 'FREE_SHIPPING';\n\nexport interface FixedAmountDiscount {\n  /**\n   * Amount of the discount as a fixed value.\n   * @min 0.01\n   */\n  amount?: number;\n}\n\nexport interface PercentageDiscount {\n  /**\n   * Percentage of discount.\n   * @max 100\n   */\n  percentage?: number;\n}\n\nexport interface CouponScope {\n  /** Scope namespace (Wix Stores, Wix Bookings, Wix Events, Wix Pricing Plans) */\n  namespace?: string;\n  /** Coupon scope's applied group, for example, Event or ticket in Wix Events. */\n  group?: Group;\n}\n\nexport interface Group {\n  /** Name of the group. */\n  name?: string;\n  /** Entity ID of the group. */\n  entityId?: string | null;\n}\n\nexport interface LoyaltyPoints {\n  /**\n   * Loyalty transaction ID.\n   * @format GUID\n   * @readonly\n   */\n  transactionId?: string;\n  /**\n   * The number of loyalty points awarded.\n   * @readonly\n   */\n  amount?: number;\n}\n\nexport interface ReprocessReferralEventsRequest\n  extends ReprocessReferralEventsRequestEntityOneOf {\n  /**\n   * ID of the referring customer.\n   * @format GUID\n   */\n  referringCustomerId?: string;\n  /**\n   * ID of the referred friend.\n   * @format GUID\n   */\n  referredFriendId?: string;\n}\n\n/** @oneof */\nexport interface ReprocessReferralEventsRequestEntityOneOf {\n  /**\n   * ID of the referring customer.\n   * @format GUID\n   */\n  referringCustomerId?: string;\n  /**\n   * ID of the referred friend.\n   * @format GUID\n   */\n  referredFriendId?: string;\n}\n\nexport interface ReprocessReferralEventsResponse {}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n  createdEvent?: EntityCreatedEvent;\n  updatedEvent?: EntityUpdatedEvent;\n  deletedEvent?: EntityDeletedEvent;\n  actionEvent?: ActionEvent;\n  /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n  _id?: string;\n  /**\n   * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n   * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n   */\n  entityFqdn?: string;\n  /**\n   * Event action name, placed at the top level to make it easier for users to dispatch messages.\n   * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n   */\n  slug?: string;\n  /** ID of the entity associated with the event. */\n  entityId?: string;\n  /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n  eventTime?: Date | null;\n  /**\n   * Whether the event was triggered as a result of a privacy regulation application\n   * (for example, GDPR).\n   */\n  triggeredByAnonymizeRequest?: boolean | null;\n  /** If present, indicates the action that triggered the event. */\n  originatedFrom?: string | null;\n  /**\n   * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n   * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n   */\n  entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n  createdEvent?: EntityCreatedEvent;\n  updatedEvent?: EntityUpdatedEvent;\n  deletedEvent?: EntityDeletedEvent;\n  actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n  entity?: string;\n}\n\nexport interface RestoreInfo {\n  deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n  /**\n   * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n   * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n   * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n   */\n  currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n  /** Entity that was deleted. */\n  deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n  body?: string;\n}\n\nexport interface Empty {}\n\nexport interface SuccessfulReferralEvent {\n  /** Details of the referred friend who completed their referral. */\n  referredFriendDetails?: ReferredFriendDetails;\n}\n\nexport interface ReferredFriendDetails {\n  /**\n   * ID of the referred friend.\n   * @format GUID\n   * @readonly\n   */\n  referredFriendId?: string;\n  /**\n   * Contact ID of the referred friend.\n   * @format GUID\n   * @readonly\n   */\n  contactId?: string;\n  /**\n   * ID of the customer who referred this friend.\n   * @format GUID\n   * @readonly\n   */\n  referringCustomerId?: string;\n}\n\nexport interface ReferredFriendActionEvent {\n  /** Details of the referred friend. */\n  referredFriendDetails?: ReferredFriendDetails;\n  /** Details of the trigger. */\n  trigger?: Trigger;\n  /** Amount of the referral reward. */\n  amount?: string | null;\n  /** Currency of the referral reward. */\n  currency?: string | null;\n  /** ID of the order associated with the referral. */\n  orderId?: string | null;\n}\n\nexport interface Trigger {\n  /** ID of the app associated with the referral activity. */\n  appId?: string;\n  /** Type of referral activity. */\n  activityType?: string;\n}\n\nexport interface MessageEnvelope {\n  /**\n   * App instance ID.\n   * @format GUID\n   */\n  instanceId?: string | null;\n  /**\n   * Event type.\n   * @maxLength 150\n   */\n  eventType?: string;\n  /** The identification type and identity data. */\n  identity?: IdentificationData;\n  /** Stringify payload. */\n  data?: string;\n  /** Details related to the account */\n  accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n  /**\n   * ID of a site visitor that has not logged in to the site.\n   * @format GUID\n   */\n  anonymousVisitorId?: string;\n  /**\n   * ID of a site visitor that has logged in to the site.\n   * @format GUID\n   */\n  memberId?: string;\n  /**\n   * ID of a Wix user (site owner, contributor, etc.).\n   * @format GUID\n   */\n  wixUserId?: string;\n  /**\n   * ID of an app.\n   * @format GUID\n   */\n  appId?: string;\n  /** @readonly */\n  identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n  /**\n   * ID of a site visitor that has not logged in to the site.\n   * @format GUID\n   */\n  anonymousVisitorId?: string;\n  /**\n   * ID of a site visitor that has logged in to the site.\n   * @format GUID\n   */\n  memberId?: string;\n  /**\n   * ID of a Wix user (site owner, contributor, etc.).\n   * @format GUID\n   */\n  wixUserId?: string;\n  /**\n   * ID of an app.\n   * @format GUID\n   */\n  appId?: string;\n}\n\nexport enum WebhookIdentityType {\n  UNKNOWN = 'UNKNOWN',\n  ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n  MEMBER = 'MEMBER',\n  WIX_USER = 'WIX_USER',\n  APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n  | WebhookIdentityType\n  | 'UNKNOWN'\n  | 'ANONYMOUS_VISITOR'\n  | 'MEMBER'\n  | 'WIX_USER'\n  | 'APP';\n\nexport interface AccountInfo {\n  /**\n   * ID of the Wix account associated with the event.\n   * @format GUID\n   */\n  accountId?: string | null;\n  /**\n   * ID of the parent Wix account. Only included when accountId belongs to a child account.\n   * @format GUID\n   */\n  parentAccountId?: string | null;\n  /**\n   * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n   * @format GUID\n   */\n  siteId?: string | null;\n}\n\nexport interface BaseEventMetadata {\n  /**\n   * App instance ID.\n   * @format GUID\n   */\n  instanceId?: string | null;\n  /**\n   * Event type.\n   * @maxLength 150\n   */\n  eventType?: string;\n  /** The identification type and identity data. */\n  identity?: IdentificationData;\n  /** Details related to the account */\n  accountInfo?: AccountInfo;\n}\n\nexport interface EventMetadata extends BaseEventMetadata {\n  /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n  _id?: string;\n  /**\n   * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n   * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n   */\n  entityFqdn?: string;\n  /**\n   * Event action name, placed at the top level to make it easier for users to dispatch messages.\n   * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n   */\n  slug?: string;\n  /** ID of the entity associated with the event. */\n  entityId?: string;\n  /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n  eventTime?: Date | null;\n  /**\n   * Whether the event was triggered as a result of a privacy regulation application\n   * (for example, GDPR).\n   */\n  triggeredByAnonymizeRequest?: boolean | null;\n  /** If present, indicates the action that triggered the event. */\n  originatedFrom?: string | null;\n  /**\n   * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n   * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n   */\n  entityEventSequence?: string | null;\n  accountInfo?: AccountInfoMetadata;\n}\n\nexport interface AccountInfoMetadata {\n  /** ID of the Wix account associated with the event */\n  accountId: string;\n  /** ID of the Wix site associated with the event. Only included when the event is tied to a specific site. */\n  siteId?: string;\n  /** ID of the parent Wix account. Only included when 'accountId' belongs to a child account. */\n  parentAccountId?: string;\n}\n\nexport interface ReferralEventCreatedEnvelope {\n  entity: ReferralEvent;\n  metadata: EventMetadata;\n}\n\n/** @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage Referrals\n * @permissionScopeId SCOPE.DC-REFERRALS.MANAGE-REFERRALS\n * @permissionId REFERRALS.READ_REFERRAL_EVENTS\n * @webhook\n * @eventType wix.loyalty.referral.v1.referral_event_created\n * @serviceIdentifier wix.loyalty.referral.tracker.v1.ReferralEvents\n * @slug created\n */\nexport declare function onReferralEventCreated(\n  handler: (event: ReferralEventCreatedEnvelope) => void | Promise<void>\n): void;\n\n/**\n * Retrieves a referral event by ID.\n * @param referralEventId - ID of the referral event to retrieve.\n * @public\n * @requiredField referralEventId\n * @permissionId REFERRALS.READ_REFERRAL_EVENTS\n * @applicableIdentity APP\n * @returns Retrieved referral event.\n * @fqn wix.loyalty.referral.tracker.v1.ReferralEvents.GetReferralEvent\n */\nexport async function getReferralEvent(\n  referralEventId: string\n): Promise<\n  NonNullablePaths<\n    ReferralEvent,\n    | `referredFriendSignupEvent.referredFriendId`\n    | `successfulReferralEvent.referredFriendId`\n    | `successfulReferralEvent.referringCustomerId`\n    | `actionEvent.referredFriendId`\n    | `actionEvent.referringCustomerId`\n    | `actionEvent.trigger.appId`\n    | `actionEvent.trigger.activityType`\n    | `rewardEvent.rewardedReferringCustomerId`\n    | `rewardEvent.rewardedReferredFriendId`\n    | `rewardEvent.referralRewardId`\n    | `rewardEvent.rewardType`,\n    4\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    referralEventId: referralEventId,\n  });\n\n  const reqOpts =\n    ambassadorWixLoyaltyReferralV1ReferralEvent.getReferralEvent(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(result.data)?.referralEvent!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: { referralEventId: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['referralEventId']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Creates a query to retrieve a list of referral events.\n *\n * The `queryReferralEvents()` function builds a query to retrieve a list of referral events and returns a `ReferralEventsQueryBuilder` object.\n *\n * The returned object contains the query definition, which is typically used to run the query using the `find()` function.\n *\n * You can refine the query by chaining `ReferralEventsQueryBuilder` functions onto the query. `ReferralEventsQueryBuilder` functions enable you to sort, filter, and control the results `queryReferralEvents()` returns.\n *\n * `queryReferralEvents()` runs with these `ReferralEventsQueryBuilder` defaults, which you can override:\n *\n * - skip(0)\n * - limit(50)\n * - descending(\"_createdDate\")\n *\n * The functions that are chained to `queryReferralEvents()` are applied in the order they're called. For example, if you apply ascending('actionEvent') and then descending('rewardEvent'), the results are sorted first by the action events, and then, if there are multiple results with the same action events, the items are sorted by reward events.\n * @public\n * @permissionId REFERRALS.READ_REFERRAL_EVENTS\n * @applicableIdentity APP\n * @fqn wix.loyalty.referral.tracker.v1.ReferralEvents.QueryReferralEvent\n */\nexport function queryReferralEvent(): ReferralEventsQueryBuilder {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[0] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  return queryBuilder<\n    ReferralEvent,\n    'CURSOR',\n    QueryReferralEventRequest,\n    QueryReferralEventResponse\n  >({\n    func: async (payload: QueryReferralEventRequest) => {\n      const reqOpts =\n        ambassadorWixLoyaltyReferralV1ReferralEvent.queryReferralEvent(payload);\n\n      sideEffects?.onSiteCall?.();\n      try {\n        const result = await httpClient.request(reqOpts);\n        sideEffects?.onSuccess?.(result);\n        return result;\n      } catch (err) {\n        sideEffects?.onError?.(err);\n        throw err;\n      }\n    },\n    requestTransformer: (query: QueryReferralEventRequest['query']) => {\n      const args = [query, {}] as [QueryReferralEventRequest['query'], {}];\n      return renameKeysFromSDKRequestToRESTRequest({\n        ...args?.[1],\n        query: args?.[0],\n      });\n    },\n    responseTransformer: ({\n      data,\n    }: HttpResponse<QueryReferralEventResponse>) => {\n      const transformedData = renameKeysFromRESTResponseToSDKResponse(\n        transformPaths(data, [])\n      );\n\n      return {\n        items: transformedData?.referralEvents,\n        pagingMetadata: transformedData?.metadata,\n      };\n    },\n    errorTransformer: (err: unknown) => {\n      const transformedError = sdkTransformError(err, {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: { query: '$[0]' },\n        singleArgumentUnchanged: false,\n      });\n\n      throw transformedError;\n    },\n    pagingMethod: 'CURSOR',\n    transformationPaths: {},\n  });\n}\n\ninterface QueryCursorResult {\n  cursors: Cursors;\n  hasNext: () => boolean;\n  hasPrev: () => boolean;\n  length: number;\n  pageSize: number;\n}\n\nexport interface ReferralEventsQueryResult extends QueryCursorResult {\n  items: ReferralEvent[];\n  query: ReferralEventsQueryBuilder;\n  next: () => Promise<ReferralEventsQueryResult>;\n  prev: () => Promise<ReferralEventsQueryResult>;\n}\n\nexport interface ReferralEventsQueryBuilder {\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   */\n  eq: (\n    propertyName:\n      | 'referredFriendSignupEvent'\n      | 'successfulReferralEvent'\n      | 'actionEvent'\n      | 'rewardEvent'\n      | '_createdDate'\n      | '_updatedDate',\n    value: any\n  ) => ReferralEventsQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   */\n  ne: (\n    propertyName:\n      | 'referredFriendSignupEvent'\n      | 'successfulReferralEvent'\n      | 'actionEvent'\n      | 'rewardEvent'\n      | '_createdDate'\n      | '_updatedDate',\n    value: any\n  ) => ReferralEventsQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   */\n  ge: (\n    propertyName: '_createdDate' | '_updatedDate',\n    value: any\n  ) => ReferralEventsQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   */\n  gt: (\n    propertyName: '_createdDate' | '_updatedDate',\n    value: any\n  ) => ReferralEventsQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   */\n  le: (\n    propertyName: '_createdDate' | '_updatedDate',\n    value: any\n  ) => ReferralEventsQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   */\n  lt: (\n    propertyName: '_createdDate' | '_updatedDate',\n    value: any\n  ) => ReferralEventsQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `values`.\n   * @param values - List of values to compare against.\n   */\n  hasSome: (\n    propertyName:\n      | 'referredFriendSignupEvent'\n      | 'successfulReferralEvent'\n      | 'actionEvent'\n      | 'rewardEvent'\n      | '_createdDate'\n      | '_updatedDate',\n    value: any[]\n  ) => ReferralEventsQueryBuilder;\n  in: (\n    propertyName:\n      | 'referredFriendSignupEvent'\n      | 'successfulReferralEvent'\n      | 'actionEvent'\n      | 'rewardEvent'\n      | '_createdDate'\n      | '_updatedDate',\n    value: any\n  ) => ReferralEventsQueryBuilder;\n  exists: (\n    propertyName:\n      | 'referredFriendSignupEvent'\n      | 'successfulReferralEvent'\n      | 'actionEvent'\n      | 'rewardEvent'\n      | '_createdDate'\n      | '_updatedDate',\n    value: boolean\n  ) => ReferralEventsQueryBuilder;\n  /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n  ascending: (\n    ...propertyNames: Array<\n      | 'referredFriendSignupEvent'\n      | 'successfulReferralEvent'\n      | 'actionEvent'\n      | 'rewardEvent'\n      | '_createdDate'\n      | '_updatedDate'\n    >\n  ) => ReferralEventsQueryBuilder;\n  /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n  descending: (\n    ...propertyNames: Array<\n      | 'referredFriendSignupEvent'\n      | 'successfulReferralEvent'\n      | 'actionEvent'\n      | 'rewardEvent'\n      | '_createdDate'\n      | '_updatedDate'\n    >\n  ) => ReferralEventsQueryBuilder;\n  /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n  limit: (limit: number) => ReferralEventsQueryBuilder;\n  /** @param cursor - A pointer to specific record */\n  skipTo: (cursor: string) => ReferralEventsQueryBuilder;\n  find: () => Promise<ReferralEventsQueryResult>;\n}\n\n/**\n * @hidden\n * @fqn wix.loyalty.referral.tracker.v1.ReferralEvents.QueryReferralEvent\n * @requiredField query\n */\nexport async function typedQueryReferralEvent(\n  query: ReferralEventQuery\n): Promise<\n  NonNullablePaths<\n    QueryReferralEventResponse,\n    | `referralEvents`\n    | `referralEvents.${number}.referredFriendSignupEvent.referredFriendId`\n    | `referralEvents.${number}.successfulReferralEvent.referredFriendId`\n    | `referralEvents.${number}.successfulReferralEvent.referringCustomerId`\n    | `referralEvents.${number}.actionEvent.referredFriendId`\n    | `referralEvents.${number}.actionEvent.referringCustomerId`\n    | `referralEvents.${number}.actionEvent.trigger.appId`\n    | `referralEvents.${number}.actionEvent.trigger.activityType`\n    | `referralEvents.${number}.rewardEvent.rewardedReferringCustomerId`\n    | `referralEvents.${number}.rewardEvent.rewardedReferredFriendId`\n    | `referralEvents.${number}.rewardEvent.referralRewardId`\n    | `referralEvents.${number}.rewardEvent.rewardType`,\n    6\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({ query: query });\n\n  const reqOpts =\n    ambassadorWixLoyaltyReferralV1ReferralEvent.queryReferralEvent(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: { query: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['query']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface ReferralEventQuerySpec extends QuerySpec {\n  paging: 'cursor';\n  wql: [\n    {\n      fields: [\n        '_createdDate',\n        '_updatedDate',\n        'actionEvent',\n        'referredFriendSignupEvent',\n        'rewardEvent',\n        'successfulReferralEvent'\n      ];\n      operators: '*';\n      sort: 'BOTH';\n    }\n  ];\n}\n\nexport type CommonQueryWithEntityContext = QuerySdkType<\n  ReferralEvent,\n  ReferralEventQuerySpec\n>;\nexport type ReferralEventQuery = {\n  /** \n  Cursor paging options.\n\n  Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).  \n  */\n  cursorPaging?: {\n    /** \n  Maximum number of items to return in the results. \n  @max: 100 \n  */\n    limit?:\n      | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['limit']\n      | null;\n    /** \n  Pointer to the next or previous page in the list of results.\n\n  Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n  Not relevant for the first request. \n  @maxLength: 16000 \n  */\n    cursor?:\n      | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['cursor']\n      | null;\n  };\n  /** \n  Filter object.\n\n  Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters).  \n  */\n  filter?: CommonQueryWithEntityContext['filter'] | null;\n  /** \n  Sort object.\n\n  Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#sorting). \n  @maxSize: 5 \n  */\n  sort?: {\n    /** \n  Name of the field to sort by. \n  @maxLength: 512 \n  */\n    fieldName?: NonNullable<\n      CommonQueryWithEntityContext['sort']\n    >[number]['fieldName'];\n    /** \n  Sort order.  \n  */\n    order?: NonNullable<CommonQueryWithEntityContext['sort']>[number]['order'];\n  }[];\n};\n\nexport const utils = {\n  query: {\n    ...createQueryUtils<\n      ReferralEvent,\n      ReferralEventQuerySpec,\n      ReferralEventQuery\n    >(),\n  },\n};\n\n/**\n * Retrieves referral statistics.\n * @public\n * @permissionId REFERRALS.READ_REFERRAL_STATISTICS\n * @applicableIdentity APP\n * @fqn wix.loyalty.referral.tracker.v1.ReferralEvents.GetReferralStatistics\n */\nexport async function getReferralStatistics(): Promise<\n  NonNullablePaths<\n    GetReferralStatisticsResponse,\n    `totalSignUpsCompleted` | `totalActionsCompleted` | `totalAmountGenerated`,\n    2\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[0] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({});\n\n  const reqOpts =\n    ambassadorWixLoyaltyReferralV1ReferralEvent.getReferralStatistics(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: {},\n        singleArgumentUnchanged: false,\n      },\n      []\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Retrieves a list of referring customer totals, given the provided paging, filtering, and sorting.\n *\n * To learn about working with Query endpoints, see\n * [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language),\n * [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination),\n * and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).\n * @public\n * @permissionId REFERRALS.READ_REFERRAL_STATISTICS\n * @applicableIdentity APP\n * @fqn wix.loyalty.referral.tracker.v1.ReferralEvents.QueryReferringCustomerTotals\n */\nexport async function queryReferringCustomerTotals(\n  options?: QueryReferringCustomerTotalsOptions\n): Promise<\n  NonNullablePaths<\n    QueryReferringCustomerTotalsResponse,\n    | `referringCustomerTotals`\n    | `referringCustomerTotals.${number}.referringCustomerId`\n    | `referringCustomerTotals.${number}.contactId`\n    | `referringCustomerTotals.${number}.totalSuccessfulReferrals`\n    | `referringCustomerTotals.${number}.totalAmountGenerated`\n    | `referringCustomerTotals.${number}.totalFriendsWithActions`,\n    4\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    query: options?.query,\n    contactIds: options?.contactIds,\n  });\n\n  const reqOpts =\n    ambassadorWixLoyaltyReferralV1ReferralEvent.queryReferringCustomerTotals(\n      payload\n    );\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: {\n          query: '$[0].query',\n          contactIds: '$[0].contactIds',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface QueryReferringCustomerTotalsOptions {\n  /** Query to filter referring customer totals. */\n  query?: CursorQuery;\n  /**\n   * List of contact IDs to filter referring customer totals.\n   * @format GUID\n   */\n  contactIds?: string[];\n}\n\n/**\n * Retrieves a list of referred friend actions, given the provided paging, filtering, and sorting.\n *\n * To learn about working with Query endpoints, see\n * [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language),\n * [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination),\n * and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).\n * @public\n * @permissionId REFERRALS.READ_REFERRAL_STATISTICS\n * @applicableIdentity APP\n * @fqn wix.loyalty.referral.tracker.v1.ReferralEvents.QueryReferredFriendActions\n */\nexport async function queryReferredFriendActions(\n  options?: QueryReferredFriendActionsOptions\n): Promise<\n  NonNullablePaths<\n    QueryReferredFriendActionsResponse,\n    | `referredFriendActions`\n    | `referredFriendActions.${number}.coupon._id`\n    | `referredFriendActions.${number}.coupon.code`\n    | `referredFriendActions.${number}.coupon.status`\n    | `referredFriendActions.${number}.coupon.couponSpecification.minimumSubtotal`\n    | `referredFriendActions.${number}.coupon.couponSpecification.name`\n    | `referredFriendActions.${number}.coupon.couponSpecification.discountType`\n    | `referredFriendActions.${number}.loyaltyPoints.transactionId`\n    | `referredFriendActions.${number}.loyaltyPoints.amount`\n    | `referredFriendActions.${number}.referredFriendId`\n    | `referredFriendActions.${number}.contactId`\n    | `referredFriendActions.${number}.trigger.appId`\n    | `referredFriendActions.${number}.trigger.activityType`\n    | `referredFriendActions.${number}.rewardType`\n    | `referredFriendActions.${number}.totalActions`\n    | `referredFriendActions.${number}.totalAmountSpent`,\n    6\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    query: options?.query,\n    contactIds: options?.contactIds,\n  });\n\n  const reqOpts =\n    ambassadorWixLoyaltyReferralV1ReferralEvent.queryReferredFriendActions(\n      payload\n    );\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: {\n          query: '$[0].query',\n          contactIds: '$[0].contactIds',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface QueryReferredFriendActionsOptions {\n  /** Query to filter referred friend actions. */\n  query?: CursorQuery;\n  /**\n   * List of contact IDs to filter referred friend actions.\n   * @format GUID\n   */\n  contactIds?: string[];\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\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 resolveWixLoyaltyReferralTrackerV1ReferralEventsUrl(\n  opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n  const domainToMappings = {\n    'api._api_base_domain_': [\n      {\n        srcPath: '/referral-tracker',\n        destPath: '',\n      },\n    ],\n    'manage._base_domain_': [\n      {\n        srcPath: '/_api/referral-tracker',\n        destPath: '',\n      },\n    ],\n    _: [\n      {\n        srcPath: '/_api/referral-tracker',\n        destPath: '',\n      },\n    ],\n    '*.dev.wix-code.com': [\n      {\n        srcPath: '/_api/referral-tracker',\n        destPath: '',\n      },\n    ],\n    'editor._base_domain_': [\n      {\n        srcPath: '/_api/referral-tracker',\n        destPath: '',\n      },\n    ],\n    'blocks._base_domain_': [\n      {\n        srcPath: '/_api/referral-tracker',\n        destPath: '',\n      },\n    ],\n    'create.editorx': [\n      {\n        srcPath: '/_api/referral-tracker',\n        destPath: '',\n      },\n    ],\n    'www._base_domain_': [\n      {\n        srcPath: '/_api/referral-tracker',\n        destPath: '',\n      },\n    ],\n    'www.wixapis.com': [\n      {\n        srcPath: '/_api/referral-tracker',\n        destPath: '',\n      },\n    ],\n  };\n\n  return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_referral_tracker';\n\n/** Retrieves a referral event by ID. */\nexport function getReferralEvent(payload: object): RequestOptionsFactory<any> {\n  function __getReferralEvent({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.loyalty.referral.v1.referral_event',\n      method: 'GET' as any,\n      methodFqn:\n        'wix.loyalty.referral.tracker.v1.ReferralEvents.GetReferralEvent',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixLoyaltyReferralTrackerV1ReferralEventsUrl({\n        protoPath: '/v1/referral-events/{referralEventId}',\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: 'referralEvent.createdDate' },\n              { path: 'referralEvent.updatedDate' },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __getReferralEvent;\n}\n\n/**\n * Creates a query to retrieve a list of referral events.\n *\n * The `queryReferralEvents()` function builds a query to retrieve a list of referral events and returns a `ReferralEventsQueryBuilder` object.\n *\n * The returned object contains the query definition, which is typically used to run the query using the `find()` function.\n *\n * You can refine the query by chaining `ReferralEventsQueryBuilder` functions onto the query. `ReferralEventsQueryBuilder` functions enable you to sort, filter, and control the results `queryReferralEvents()` returns.\n *\n * `queryReferralEvents()` runs with these `ReferralEventsQueryBuilder` defaults, which you can override:\n *\n * - skip(0)\n * - limit(50)\n * - descending(\"_createdDate\")\n *\n * The functions that are chained to `queryReferralEvents()` are applied in the order they're called. For example, if you apply ascending('actionEvent') and then descending('rewardEvent'), the results are sorted first by the action events, and then, if there are multiple results with the same action events, the items are sorted by reward events.\n */\nexport function queryReferralEvent(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __queryReferralEvent({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.loyalty.referral.v1.referral_event',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.loyalty.referral.tracker.v1.ReferralEvents.QueryReferralEvent',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixLoyaltyReferralTrackerV1ReferralEventsUrl({\n        protoPath: '/v1/referral-events/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: 'referralEvents.createdDate' },\n              { path: 'referralEvents.updatedDate' },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __queryReferralEvent;\n}\n\n/** Retrieves referral statistics. */\nexport function getReferralStatistics(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __getReferralStatistics({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.loyalty.referral.v1.referral_event',\n      method: 'GET' as any,\n      methodFqn:\n        'wix.loyalty.referral.tracker.v1.ReferralEvents.GetReferralStatistics',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixLoyaltyReferralTrackerV1ReferralEventsUrl({\n        protoPath: '/v1/referral-statistics',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n    };\n\n    return metadata;\n  }\n\n  return __getReferralStatistics;\n}\n\n/**\n * Retrieves a list of referring customer totals, given the provided paging, filtering, and sorting.\n *\n * To learn about working with Query endpoints, see\n * [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language),\n * [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination),\n * and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).\n */\nexport function queryReferringCustomerTotals(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __queryReferringCustomerTotals({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.loyalty.referral.v1.referral_event',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.loyalty.referral.tracker.v1.ReferralEvents.QueryReferringCustomerTotals',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixLoyaltyReferralTrackerV1ReferralEventsUrl({\n        protoPath: '/v1/referring-customer-totals/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: 'referringCustomerTotals.lastSuccessfulReferral' },\n              { path: 'referringCustomerTotals.lastFriendAction' },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __queryReferringCustomerTotals;\n}\n\n/**\n * Retrieves a list of referred friend actions, given the provided paging, filtering, and sorting.\n *\n * To learn about working with Query endpoints, see\n * [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language),\n * [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination),\n * and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).\n */\nexport function queryReferredFriendActions(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __queryReferredFriendActions({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.loyalty.referral.v1.referral_event',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.loyalty.referral.tracker.v1.ReferralEvents.QueryReferredFriendActions',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixLoyaltyReferralTrackerV1ReferralEventsUrl({\n        protoPath: '/v1/referred-friend-actions/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: 'referredFriendActions.actionDate' },\n              { path: 'referredFriendActions.signupDate' },\n            ],\n          },\n          {\n            transformFn: transformRESTFloatToSDKFloat,\n            paths: [\n              {\n                path: 'referredFriendActions.coupon.couponSpecification.minimumSubtotal',\n              },\n              {\n                path: 'referredFriendActions.coupon.couponSpecification.fixedAmountOptions.amount',\n              },\n              {\n                path: 'referredFriendActions.coupon.couponSpecification.percentageOptions.percentage',\n              },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __queryReferredFriendActions;\n}\n","import {\n  getReferralEvent as publicGetReferralEvent,\n  queryReferralEvent as publicQueryReferralEvent,\n  typedQueryReferralEvent as publicTypedQueryReferralEvent,\n  getReferralStatistics as publicGetReferralStatistics,\n  queryReferringCustomerTotals as publicQueryReferringCustomerTotals,\n  queryReferredFriendActions as publicQueryReferredFriendActions,\n} from './loyalty-referral-v1-referral-event-tracker.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { createEventModule } from '@wix/sdk-runtime/event-definition-modules';\nimport {\n  BuildRESTFunction,\n  MaybeContext,\n  BuildEventDefinition,\n} from '@wix/sdk-types';\nimport { HttpClient } from '@wix/sdk-types';\nimport { createQueryOverloadRouter } from '@wix/sdk-runtime/query-method-router';\nimport {\n  ReferralEventQuery,\n  ReferralEventsQueryBuilder,\n  typedQueryReferralEvent as universalTypedQueryReferralEvent,\n} from './loyalty-referral-v1-referral-event-tracker.universal.js';\nimport { onReferralEventCreated as publicOnReferralEventCreated } from './loyalty-referral-v1-referral-event-tracker.public.js';\n\nfunction customQueryReferralEvent(httpClient: HttpClient) {\n  const router = createQueryOverloadRouter({\n    builderQueryFunction: () => publicQueryReferralEvent(httpClient)(),\n    typedQueryFunction: (query: ReferralEventQuery) =>\n      publicTypedQueryReferralEvent(httpClient)(query),\n    hasOptionsParameter: false,\n  });\n\n  function overloadedQuery(): ReferralEventsQueryBuilder;\n  function overloadedQuery(\n    query: ReferralEventQuery\n  ): ReturnType<typeof universalTypedQueryReferralEvent>;\n  function overloadedQuery(query?: ReferralEventQuery): any {\n    return router(...arguments);\n  }\n\n  return overloadedQuery;\n}\n\nexport const getReferralEvent: MaybeContext<\n  BuildRESTFunction<typeof publicGetReferralEvent> &\n    typeof publicGetReferralEvent\n> = /*#__PURE__*/ createRESTModule(publicGetReferralEvent);\nexport const getReferralStatistics: MaybeContext<\n  BuildRESTFunction<typeof publicGetReferralStatistics> &\n    typeof publicGetReferralStatistics\n> = /*#__PURE__*/ createRESTModule(publicGetReferralStatistics);\nexport const queryReferringCustomerTotals: MaybeContext<\n  BuildRESTFunction<typeof publicQueryReferringCustomerTotals> &\n    typeof publicQueryReferringCustomerTotals\n> = /*#__PURE__*/ createRESTModule(publicQueryReferringCustomerTotals);\nexport const queryReferredFriendActions: MaybeContext<\n  BuildRESTFunction<typeof publicQueryReferredFriendActions> &\n    typeof publicQueryReferredFriendActions\n> = /*#__PURE__*/ createRESTModule(publicQueryReferredFriendActions);\nexport const queryReferralEvent: MaybeContext<\n  BuildRESTFunction<typeof customQueryReferralEvent> &\n    typeof customQueryReferralEvent\n> = /*#__PURE__*/ createRESTModule(customQueryReferralEvent);\n/** */\nexport const onReferralEventCreated: BuildEventDefinition<\n  typeof publicOnReferralEventCreated\n> &\n  typeof publicOnReferralEventCreated = createEventModule(\n  publicOnReferralEventCreated\n);\n\nexport {\n  Reward,\n  SortOrder,\n  Status,\n  DiscountType,\n  WebhookIdentityType,\n} from './loyalty-referral-v1-referral-event-tracker.universal.js';\nexport {\n  ReferralEvent,\n  ReferralEventEventTypeOneOf,\n  ReferredFriendSignupEvent,\n  V1SuccessfulReferralEvent,\n  V1ActionEvent,\n  V1Trigger,\n  RewardEvent,\n  RewardEventReceiverOneOf,\n  CreateReferralEventRequest,\n  CreateReferralEventResponse,\n  GetReferralEventRequest,\n  GetReferralEventResponse,\n  QueryReferralEventRequest,\n  CursorQuery,\n  CursorQueryPagingMethodOneOf,\n  Sorting,\n  CursorPaging,\n  QueryReferralEventResponse,\n  CursorPagingMetadata,\n  Cursors,\n  GetReferralStatisticsRequest,\n  GetReferralStatisticsResponse,\n  QueryReferringCustomerTotalsRequest,\n  QueryReferringCustomerTotalsResponse,\n  ReferringCustomerTotal,\n  QueryReferredFriendActionsRequest,\n  QueryReferredFriendActionsResponse,\n  ReferredFriendAction,\n  ReferredFriendActionRewardTypeOptionsOneOf,\n  V1Coupon,\n  Coupon,\n  CouponDiscountTypeOptionsOneOf,\n  CouponScopeOrMinSubtotalOneOf,\n  FixedAmountDiscount,\n  PercentageDiscount,\n  CouponScope,\n  Group,\n  LoyaltyPoints,\n  ReprocessReferralEventsRequest,\n  ReprocessReferralEventsRequestEntityOneOf,\n  ReprocessReferralEventsResponse,\n  DomainEvent,\n  DomainEventBodyOneOf,\n  EntityCreatedEvent,\n  RestoreInfo,\n  EntityUpdatedEvent,\n  EntityDeletedEvent,\n  ActionEvent,\n  Empty,\n  SuccessfulReferralEvent,\n  ReferredFriendDetails,\n  ReferredFriendActionEvent,\n  Trigger,\n  MessageEnvelope,\n  IdentificationData,\n  IdentificationDataIdOneOf,\n  AccountInfo,\n  BaseEventMetadata,\n  EventMetadata,\n  AccountInfoMetadata,\n  ReferralEventCreatedEnvelope,\n  ReferralEventsQueryResult,\n  ReferralEventsQueryBuilder,\n  ReferralEventQuerySpec,\n  QueryReferringCustomerTotalsOptions,\n  QueryReferredFriendActionsOptions,\n} from './loyalty-referral-v1-referral-event-tracker.universal.js';\nexport { utils } from './loyalty-referral-v1-referral-event-tracker.universal.js';\nexport {\n  RewardWithLiterals,\n  SortOrderWithLiterals,\n  StatusWithLiterals,\n  DiscountTypeWithLiterals,\n  WebhookIdentityTypeWithLiterals,\n  CommonQueryWithEntityContext,\n  ReferralEventQuery,\n} from './loyalty-referral-v1-referral-event-tracker.universal.js';\n"],"mappings":"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","names":["renameKeysFromRESTResponseToSDKResponse","transformRESTTimestampToSDKTimestamp","transformPaths","payload","transformPaths","Reward","SortOrder","Status","DiscountType","WebhookIdentityType","getReferralEvent","queryReferralEvent","getReferralStatistics","queryReferringCustomerTotals","queryReferredFriendActions","getReferralEvent","queryReferralEvent","typedQueryReferralEvent","getReferralStatistics","queryReferringCustomerTotals","queryReferredFriendActions","renameKeysFromRESTResponseToSDKResponse","transformPaths","transformRESTTimestampToSDKTimestamp","queryReferralEvent","typedQueryReferralEvent","getReferralEvent","getReferralStatistics","queryReferringCustomerTotals","queryReferredFriendActions","onReferralEventCreated"]}