import { RedeemPointsForCouponRequest as RedeemPointsForCouponRequest$1, RedeemPointsForCouponResponse as RedeemPointsForCouponResponse$1, RedeemCurrentMemberPointsForCouponRequest as RedeemCurrentMemberPointsForCouponRequest$1, RedeemCurrentMemberPointsForCouponResponse as RedeemCurrentMemberPointsForCouponResponse$1, GetLoyaltyCouponRequest as GetLoyaltyCouponRequest$1, GetLoyaltyCouponResponse as GetLoyaltyCouponResponse$1, BulkGetLoyaltyCouponRequest as BulkGetLoyaltyCouponRequest$1, BulkGetLoyaltyCouponResponse as BulkGetLoyaltyCouponResponse$1, GetCurrentMemberCouponsRequest as GetCurrentMemberCouponsRequest$1, GetCurrentMemberCouponsResponse as GetCurrentMemberCouponsResponse$1, QueryLoyaltyCouponRequest as QueryLoyaltyCouponRequest$1, QueryLoyaltyCouponResponse as QueryLoyaltyCouponResponse$1, DeleteLoyaltyCouponRequest as DeleteLoyaltyCouponRequest$1, DeleteLoyaltyCouponResponse as DeleteLoyaltyCouponResponse$1 } from './index.typings.js'; import '@wix/sdk-types'; /** * A loyalty coupon is created when a customer redeems their loyalty points for a reward. Creating a loyalty coupon * also creates a corresponding "reference" coupon with the Coupons API. */ interface LoyaltyCoupon { /** * Loyalty coupon ID. * @format GUID * @readonly */ id?: string; /** * Loyalty [account ID](https://dev.wix.com/docs/rest/crm/loyalty-program/accounts/account-object) of the customer that redeemed points for a coupon. * @format GUID * @readonly */ accountId?: string; /** * Member ID of the customer that redeemed points for a coupon. See the Members API for more information. * @format GUID * @readonly * @deprecated Member ID of the customer that redeemed points for a coupon. See the Members API for more information. * @replacedBy member_id * @targetRemovalDate 2024-06-01 */ memberIdDeprecated?: string; /** * Member ID of the customer that redeemed points for a coupon. See the Members API for more information. * @format GUID * @readonly */ memberId?: string | null; /** * [Transaction ID](https://dev.wix.com/docs/rest/crm/loyalty-program/transactions/loyalty-transaction-object) for the transaction that created a coupon. * @format GUID * @readonly */ transactionId?: string | null; /** * Reference coupon information for the corresponding [coupon](https://dev.wix.com/docs/rest/business-management/marketing/coupons/coupons/coupon-object) * that is created along with the loyalty coupon. * @readonly */ couponReference?: CouponReference; /** * Loyalty coupon status. * * This status relates to the corresponding coupon that is created * at the same time as the loyalty coupon and is included in `couponReference`. * @readonly */ status?: StatusWithLiterals; /** * Name of reward that was redeemed to create this coupon. * @minLength 1 * @maxLength 50 * @readonly */ rewardName?: string; /** * Revision number, which increments by 1 each time the loyalty coupon is updated. * * To prevent conflicting changes, the current `revision` must be passed when updating the loyalty coupon. * @immutable */ revision?: string | null; /** * Date and time the loyalty coupon was created. * @readonly */ createdDate?: Date | null; /** * Date and time the loyalty coupon was last updated. * @readonly */ updatedDate?: Date | null; /** * Whether the loyalty coupon was created in a "refundable workflow" i.e. checkout-exchange, and therefore can be deleted in the background. Refundable coupons should not be visible to customers in the UI. * @readonly */ refundable?: boolean | null; } interface CouponReference { /** * Coupon ID. * @format GUID * @readonly */ couponId?: string; /** * Coupon code. * * Unique code entered by a customer to apply the coupon. * @maxLength 20 * @readonly */ code?: string; /** * Name of coupon. * @maxLength 80 * @readonly */ name?: string | null; /** * The information to use when creating the coupon. * @readonly */ specification?: Specification; /** * Whether the referenced coupon was deleted. * @readonly */ deleted?: boolean | null; } interface Specification extends SpecificationTypeDetailsOneOf, SpecificationScopeOrMinSubtotalOneOf { /** * Fixed price discount. * @min 0.01 */ moneyOffAmount?: number; /** Discount as a percentage. */ percentOffRate?: number; /** Free shipping. If true, the coupon applies to all items in all `namespaces` on a site. */ freeShipping?: boolean; /** Specific sale price. Currently only supported for coupons with a `stores` `namespace`. */ fixedPriceAmount?: number; /** * Free products when making a purchase. `buyXGetY` is an object that specifies `x` and `y` in the * following scenario: if a visitor purchases x number of products, they receive y number of products for free. C * urrently only supported for coupons with a `stores` `namespace`. */ buyXGetY?: BuyXGetY; /** * Scope of the coupon. When no scope is defined, the coupon applies to all * items in all `namespaces` in the site. */ scope?: Scope; /** The coupon is only applicable when the order subtotal is over this amount. */ minimumSubtotal?: number | null; /** Name of coupon. */ name?: string | null; type?: TypeWithLiterals; /** * Whether the coupon is limited to 1 discount per order. If true and a customer pays for multiple items * that the coupon applies to, only the lowest priced item is discounted. * Coupons with a `bookings` `namespace` are always limited to 1 item. */ limitedToOneItem?: boolean | null; /** Whether the coupon also applies to subscriptions. */ appliesToSubscriptions?: boolean | null; /** * Specifies the amount of cycles to apply the discount to for a subscription item. * * Can only be set when `appliesToSubscriptions` is `TRUE` and `specification.scope.namespace` is `pricingPlans`. * If `discountedCycleCount` is empty, the coupon applies to all available cycles. * * Min: `1` * * Max: `999` */ discountedCycleCount?: number | null; } /** @oneof */ interface SpecificationTypeDetailsOneOf { /** * Fixed price discount. * @min 0.01 */ moneyOffAmount?: number; /** Discount as a percentage. */ percentOffRate?: number; /** Free shipping. If true, the coupon applies to all items in all `namespaces` on a site. */ freeShipping?: boolean; /** Specific sale price. Currently only supported for coupons with a `stores` `namespace`. */ fixedPriceAmount?: number; /** * Free products when making a purchase. `buyXGetY` is an object that specifies `x` and `y` in the * following scenario: if a visitor purchases x number of products, they receive y number of products for free. C * urrently only supported for coupons with a `stores` `namespace`. */ buyXGetY?: BuyXGetY; } /** @oneof */ interface SpecificationScopeOrMinSubtotalOneOf { /** * Scope of the coupon. When no scope is defined, the coupon applies to all * items in all `namespaces` in the site. */ scope?: Scope; /** The coupon is only applicable when the order subtotal is over this amount. */ minimumSubtotal?: number | null; } declare enum Type { UNKNOWN = "UNKNOWN", MONEY_OFF_AMOUNT = "MONEY_OFF_AMOUNT", PERCENT_OFF_RATE = "PERCENT_OFF_RATE", FREE_SHIPPING = "FREE_SHIPPING", FIXED_PRICE_AMOUNT = "FIXED_PRICE_AMOUNT", BUY_X_GET_Y = "BUY_X_GET_Y" } /** @enumType */ type TypeWithLiterals = Type | 'UNKNOWN' | 'MONEY_OFF_AMOUNT' | 'PERCENT_OFF_RATE' | 'FREE_SHIPPING' | 'FIXED_PRICE_AMOUNT' | 'BUY_X_GET_Y'; interface BuyXGetY { /** Number of purchased items required to receive free items. */ x?: number; /** Number of items received for free if required number of items were purchased. */ y?: number; } interface Scope { /** * Group within a `namespace` for which the coupon is applicable. * * If no group is specified, the coupon applies to all items in the namespace. * `group` is required in some namespaces. See [Scope Values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values) * for a list of currently supported groups for each namespace. */ name?: string | null; /** * ID of the specific entity in the group for which the coupon is applicable. * * If no `entityId` is specified, the coupon applies to all entities in the group. In some cases when a group is specified, * an `entityId` is required. See [Scope Values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values) * for a list of currently supported entities for each namespace and group. */ entityId?: string | null; /** * Wix application for which the coupon is applicable. * * One of the following: * + `"stores"` * + `"bookings"` * + `"events"` * + `"pricingPlans"` */ namespace?: string; } declare enum Status { /** Unknown status. */ UNKNOWN = "UNKNOWN", /** The reference coupon was created but the loyalty points have not been redeemed yet. */ PENDING = "PENDING", /** The reference coupon is active and available to the customer. */ ACTIVE = "ACTIVE", /** The reference coupon was applied and is no longer available for use. */ APPLIED = "APPLIED", /** The reference coupon was created but something went wrong when redeeming points from the loyalty account. */ FAILED = "FAILED", /** The reference coupon was deleted. */ ARCHIVED = "ARCHIVED" } /** @enumType */ type StatusWithLiterals = Status | 'UNKNOWN' | 'PENDING' | 'ACTIVE' | 'APPLIED' | 'FAILED' | 'ARCHIVED'; interface RedeemPointsForCouponRequest { /** * ID of the loyalty reward to redeem. See the Loyalty Rewards API for more information. * @format GUID */ rewardId: string; /** * ID of the loyalty account of the customer redeeming points. See the Loyalty Accounts API for more information. * @format GUID */ loyaltyAccountId: string; } interface RedeemPointsForCouponResponse { /** Created loyalty coupon. */ coupon?: LoyaltyCoupon; } interface RedeemCurrentMemberPointsForCouponRequest { /** * ID of the loyalty reward to redeem. See the Loyalty Rewards API for more information. * @format GUID */ rewardId: string; } interface RedeemCurrentMemberPointsForCouponResponse { /** Created loyalty coupon. */ coupon?: LoyaltyCoupon; } interface RedeemMemberPointsForDiscountAmountCouponRequest { /** * ID of the loyalty reward to redeem. See the Loyalty Rewards API for more information. * @format GUID */ rewardId?: string; /** * Loyalty account ID. See the Loyalty Accounts API for more information. * @format GUID */ loyaltyAccountId?: string; /** Number of points to redeem. */ pointsToRedeem?: number; /** Coupon specification. */ specification?: Specification; } interface RedeemMemberPointsForDiscountAmountCouponResponse { /** Created loyalty coupon. */ coupon?: LoyaltyCoupon; /** Transaction ID of the coupon redemption. */ transactionId?: string; } interface GetLoyaltyCouponRequest { /** * ID of the loyalty coupon to retrieve. * @format GUID */ loyaltyCouponId: string; } interface GetLoyaltyCouponResponse { /** Retrieved loyalty coupon. */ loyaltyCoupon?: LoyaltyCoupon; } interface BulkGetLoyaltyCouponRequest { /** Query to filter loyalty coupons. */ query?: CursorQuery; } interface CursorQuery extends CursorQueryPagingMethodOneOf { /** * Cursor paging options. * * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging). */ cursorPaging?: CursorPaging; /** * Filter object. * * Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters). */ filter?: Record | null; /** * Sort object. * * Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#sorting). * @maxSize 5 */ sort?: Sorting[]; } /** @oneof */ interface CursorQueryPagingMethodOneOf { /** * Cursor paging options. * * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging). */ cursorPaging?: CursorPaging; } interface Sorting { /** * Name of the field to sort by. * @maxLength 512 */ fieldName?: string; /** Sort order. */ order?: SortOrderWithLiterals; } declare enum SortOrder { ASC = "ASC", DESC = "DESC" } /** @enumType */ type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC'; interface CursorPaging { /** * Maximum number of items to return in the results. * @max 100 */ limit?: number | null; /** * Pointer to the next or previous page in the list of results. * * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response. * Not relevant for the first request. * @maxLength 16000 */ cursor?: string | null; } interface BulkGetLoyaltyCouponResponse { /** * Retrieved loyalty coupons. * @maxSize 100 */ couponsInSite?: CouponsInSite[]; } interface CouponsInSite { /** * Metasite ID. * @format GUID */ metaSiteId?: string; /** * Retrieved loyalty coupons. * @maxSize 100 */ loyaltyCoupons?: LoyaltyCoupon[]; } interface GetCurrentMemberCouponsRequest { } interface GetCurrentMemberCouponsResponse { /** Retrieved loyalty coupons. */ loyaltyCoupons?: LoyaltyCoupon[]; } interface QueryLoyaltyCouponRequest { /** Query options. */ query: QueryV2; } interface QueryV2 extends QueryV2PagingMethodOneOf { /** Paging options to limit and offset the number of items. */ paging?: Paging; /** 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`. */ cursorPaging?: CursorPaging; /** * Filter object. * * Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters). */ filter?: Record | null; /** * Sort object. * * Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#sorting). */ sort?: Sorting[]; /** 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. */ fields?: string[]; /** 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. */ fieldsets?: string[]; } /** @oneof */ interface QueryV2PagingMethodOneOf { /** Paging options to limit and offset the number of items. */ paging?: Paging; /** 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`. */ cursorPaging?: CursorPaging; } interface Paging { /** Number of items to load. */ limit?: number | null; /** Number of items to skip in the current sort order. */ offset?: number | null; } interface QueryLoyaltyCouponResponse { /** Retrieved loyalty coupons. */ loyaltyCoupons?: LoyaltyCoupon[]; /** Metadata. */ metadata?: PagingMetadataV2; } interface PagingMetadataV2 { /** Number of items returned in the response. */ count?: number | null; /** Offset that was requested. */ offset?: number | null; /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */ total?: number | null; /** Flag that indicates the server failed to calculate the `total` field. */ tooManyToCount?: boolean | null; /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */ cursors?: Cursors; } interface Cursors { /** * Cursor string pointing to the next page in the list of results. * @maxLength 16000 */ next?: string | null; /** * Cursor pointing to the previous page in the list of results. * @maxLength 16000 */ prev?: string | null; } interface DeleteLoyaltyCouponRequest { /** * ID of the loyalty coupon to delete. * @format GUID */ id: string; /** * Revision number, which increments by 1 each time the loyalty coupon is updated. * * To prevent conflicting changes, the current `revision` must be passed when updating the loyalty coupon. */ revision?: string; } interface DeleteLoyaltyCouponResponse { } interface DomainEvent extends DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; /** Event ID. With this ID you can easily spot duplicated events and ignore them. */ id?: string; /** * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities. * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`. */ entityFqdn?: string; /** * Event action name, placed at the top level to make it easier for users to dispatch messages. * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`. */ slug?: string; /** ID of the entity associated with the event. */ entityId?: string; /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */ eventTime?: Date | null; /** * Whether the event was triggered as a result of a privacy regulation application * (for example, GDPR). */ triggeredByAnonymizeRequest?: boolean | null; /** If present, indicates the action that triggered the event. */ originatedFrom?: string | null; /** * 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. * 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. */ entityEventSequence?: string | null; } /** @oneof */ interface DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; } interface EntityCreatedEvent { entityAsJson?: string; /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */ restoreInfo?: RestoreInfo; } interface RestoreInfo { deletedDate?: Date | null; } interface EntityUpdatedEvent { /** * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff. * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects. * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it. */ currentEntityAsJson?: string; } interface EntityDeletedEvent { /** Entity that was deleted. */ deletedEntityAsJson?: string | null; } interface ActionEvent { bodyAsJson?: string; } interface Empty { } interface MessageEnvelope { /** * App instance ID. * @format GUID */ instanceId?: string | null; /** * Event type. * @maxLength 150 */ eventType?: string; /** The identification type and identity data. */ identity?: IdentificationData; /** Stringify payload. */ data?: string; /** Details related to the account */ accountInfo?: AccountInfo; } interface IdentificationData extends IdentificationDataIdOneOf { /** * ID of a site visitor that has not logged in to the site. * @format GUID */ anonymousVisitorId?: string; /** * ID of a site visitor that has logged in to the site. * @format GUID */ memberId?: string; /** * ID of a Wix user (site owner, contributor, etc.). * @format GUID */ wixUserId?: string; /** * ID of an app. * @format GUID */ appId?: string; /** @readonly */ identityType?: WebhookIdentityTypeWithLiterals; } /** @oneof */ interface IdentificationDataIdOneOf { /** * ID of a site visitor that has not logged in to the site. * @format GUID */ anonymousVisitorId?: string; /** * ID of a site visitor that has logged in to the site. * @format GUID */ memberId?: string; /** * ID of a Wix user (site owner, contributor, etc.). * @format GUID */ wixUserId?: string; /** * ID of an app. * @format GUID */ appId?: string; } declare enum WebhookIdentityType { UNKNOWN = "UNKNOWN", ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR", MEMBER = "MEMBER", WIX_USER = "WIX_USER", APP = "APP" } /** @enumType */ type WebhookIdentityTypeWithLiterals = WebhookIdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' | 'MEMBER' | 'WIX_USER' | 'APP'; interface AccountInfo { /** * ID of the Wix account associated with the event. * @format GUID */ accountId?: string | null; /** * ID of the parent Wix account. Only included when accountId belongs to a child account. * @format GUID */ parentAccountId?: string | null; /** * ID of the Wix site associated with the event. Only included when the event is tied to a specific site. * @format GUID */ siteId?: string | null; } type __PublicMethodMetaInfo = { getUrl: (context: any) => string; httpMethod: K; path: string; pathParams: M; __requestType: T; __originalRequestType: S; __responseType: Q; __originalResponseType: R; }; declare function redeemPointsForCoupon(): __PublicMethodMetaInfo<'POST', {}, RedeemPointsForCouponRequest$1, RedeemPointsForCouponRequest, RedeemPointsForCouponResponse$1, RedeemPointsForCouponResponse>; declare function redeemCurrentMemberPointsForCoupon(): __PublicMethodMetaInfo<'POST', {}, RedeemCurrentMemberPointsForCouponRequest$1, RedeemCurrentMemberPointsForCouponRequest, RedeemCurrentMemberPointsForCouponResponse$1, RedeemCurrentMemberPointsForCouponResponse>; declare function getLoyaltyCoupon(): __PublicMethodMetaInfo<'GET', { loyaltyCouponId: string; }, GetLoyaltyCouponRequest$1, GetLoyaltyCouponRequest, GetLoyaltyCouponResponse$1, GetLoyaltyCouponResponse>; declare function bulkGetLoyaltyCoupon(): __PublicMethodMetaInfo<'GET', {}, BulkGetLoyaltyCouponRequest$1, BulkGetLoyaltyCouponRequest, BulkGetLoyaltyCouponResponse$1, BulkGetLoyaltyCouponResponse>; declare function getCurrentMemberCoupons(): __PublicMethodMetaInfo<'GET', {}, GetCurrentMemberCouponsRequest$1, GetCurrentMemberCouponsRequest, GetCurrentMemberCouponsResponse$1, GetCurrentMemberCouponsResponse>; declare function queryLoyaltyCoupons(): __PublicMethodMetaInfo<'POST', {}, QueryLoyaltyCouponRequest$1, QueryLoyaltyCouponRequest, QueryLoyaltyCouponResponse$1, QueryLoyaltyCouponResponse>; declare function deleteLoyaltyCoupon(): __PublicMethodMetaInfo<'DELETE', { id: string; }, DeleteLoyaltyCouponRequest$1, DeleteLoyaltyCouponRequest, DeleteLoyaltyCouponResponse$1, DeleteLoyaltyCouponResponse>; export { type AccountInfo as AccountInfoOriginal, type ActionEvent as ActionEventOriginal, type BulkGetLoyaltyCouponRequest as BulkGetLoyaltyCouponRequestOriginal, type BulkGetLoyaltyCouponResponse as BulkGetLoyaltyCouponResponseOriginal, type BuyXGetY as BuyXGetYOriginal, type CouponReference as CouponReferenceOriginal, type CouponsInSite as CouponsInSiteOriginal, type CursorPaging as CursorPagingOriginal, type CursorQuery as CursorQueryOriginal, type CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOfOriginal, type Cursors as CursorsOriginal, type DeleteLoyaltyCouponRequest as DeleteLoyaltyCouponRequestOriginal, type DeleteLoyaltyCouponResponse as DeleteLoyaltyCouponResponseOriginal, type DomainEventBodyOneOf as DomainEventBodyOneOfOriginal, type DomainEvent as DomainEventOriginal, type Empty as EmptyOriginal, type EntityCreatedEvent as EntityCreatedEventOriginal, type EntityDeletedEvent as EntityDeletedEventOriginal, type EntityUpdatedEvent as EntityUpdatedEventOriginal, type GetCurrentMemberCouponsRequest as GetCurrentMemberCouponsRequestOriginal, type GetCurrentMemberCouponsResponse as GetCurrentMemberCouponsResponseOriginal, type GetLoyaltyCouponRequest as GetLoyaltyCouponRequestOriginal, type GetLoyaltyCouponResponse as GetLoyaltyCouponResponseOriginal, type IdentificationDataIdOneOf as IdentificationDataIdOneOfOriginal, type IdentificationData as IdentificationDataOriginal, type LoyaltyCoupon as LoyaltyCouponOriginal, type MessageEnvelope as MessageEnvelopeOriginal, type PagingMetadataV2 as PagingMetadataV2Original, type Paging as PagingOriginal, type QueryLoyaltyCouponRequest as QueryLoyaltyCouponRequestOriginal, type QueryLoyaltyCouponResponse as QueryLoyaltyCouponResponseOriginal, type QueryV2 as QueryV2Original, type QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOfOriginal, type RedeemCurrentMemberPointsForCouponRequest as RedeemCurrentMemberPointsForCouponRequestOriginal, type RedeemCurrentMemberPointsForCouponResponse as RedeemCurrentMemberPointsForCouponResponseOriginal, type RedeemMemberPointsForDiscountAmountCouponRequest as RedeemMemberPointsForDiscountAmountCouponRequestOriginal, type RedeemMemberPointsForDiscountAmountCouponResponse as RedeemMemberPointsForDiscountAmountCouponResponseOriginal, type RedeemPointsForCouponRequest as RedeemPointsForCouponRequestOriginal, type RedeemPointsForCouponResponse as RedeemPointsForCouponResponseOriginal, type RestoreInfo as RestoreInfoOriginal, type Scope as ScopeOriginal, SortOrder as SortOrderOriginal, type SortOrderWithLiterals as SortOrderWithLiteralsOriginal, type Sorting as SortingOriginal, type Specification as SpecificationOriginal, type SpecificationScopeOrMinSubtotalOneOf as SpecificationScopeOrMinSubtotalOneOfOriginal, type SpecificationTypeDetailsOneOf as SpecificationTypeDetailsOneOfOriginal, Status as StatusOriginal, type StatusWithLiterals as StatusWithLiteralsOriginal, Type as TypeOriginal, type TypeWithLiterals as TypeWithLiteralsOriginal, WebhookIdentityType as WebhookIdentityTypeOriginal, type WebhookIdentityTypeWithLiterals as WebhookIdentityTypeWithLiteralsOriginal, type __PublicMethodMetaInfo, bulkGetLoyaltyCoupon, deleteLoyaltyCoupon, getCurrentMemberCoupons, getLoyaltyCoupon, queryLoyaltyCoupons, redeemCurrentMemberPointsForCoupon, redeemPointsForCoupon };