import { EventDefinition, HttpClient } from '@wix/sdk-types'; import { BulkCreateRewardsResponse, BulkCreateRewardsResponseNonNullableFields, BulkGetRewardsResponse, BulkGetRewardsResponseNonNullableFields, CursorQuery, ListRewardsOptions, ListRewardsResponse, ListRewardsResponseNonNullableFields, QueryRewardsResponse, QueryRewardsResponseNonNullableFields, Reward, RewardCreatedEnvelope, RewardDeletedEnvelope, RewardNonNullableFields, RewardUpdatedEnvelope, UpdateReward, UpdateRewardResponse, UpdateRewardResponseNonNullableFields } from './loyalty-v1-reward-rewards.universal.js'; export declare const __metadata: { PACKAGE_NAME: string; }; export declare function createReward(httpClient: HttpClient): CreateRewardSignature; interface CreateRewardSignature { /** * Creates a reward that can be redeemed with loyalty points. * * When a customer redeems a reward, a loyalty coupon is created * based on the specifications detailed in either the `discountAmount` or `couponReward` fields. This coupon can * then be used by the customer to receive the discount. Note that while the Rewards API uses coupon scopes and specifications, * no coupon is actually created until a reward is redeemed with points. * See the Coupons API for more information about coupons. * * A reward's `active` status defaults to `false`. To make the reward available to customers, * either set the `active` field to `true` during creation or call [`updateReward()`](#updatereward) * to change the status. * * To customize a reward for each loyalty tier, use the `configsByTier` parameter. * This allows you to specify the amount of the earned discount, the cost in loyalty points * to redeem the reward, and the tier to which this configuration applies. Each tier requires its own * `configsByTier` configuration. To create a reward that is available to loyalty accounts in the base tier, * leave the `tierId` field empty. See the Loyalty Tiers API for more information on tiers. * @param - Reward to create. * @returns Created reward. */ (reward: Reward): Promise; } export declare function bulkCreateRewards(httpClient: HttpClient): BulkCreateRewardsSignature; interface BulkCreateRewardsSignature { /** * Creates multiple rewards. * @param - Rewards to create. */ (rewards: Reward[]): Promise; } export declare function getReward(httpClient: HttpClient): GetRewardSignature; interface GetRewardSignature { /** * Retrieves a reward. * @param - ID of the reward to retrieve. * @returns Retrieved reward. */ (_id: string): Promise; } export declare function bulkGetRewards(httpClient: HttpClient): BulkGetRewardsSignature; interface BulkGetRewardsSignature { /** * Retrieves rewards from all metasites that the caller is the member of. * * Must be called with user identity. */ (): Promise; } export declare function queryRewards(httpClient: HttpClient): QueryRewardsSignature; interface QueryRewardsSignature { /** * Retrieves a list of rewards, given the provided paging, filtering, and sorting. * * Query Rewards runs with these defaults, which you can override: `cursorPaging.limit` is `50`. * * To learn about working with _Query_ endpoints, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language),[Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination),and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection). * @param - Query parameters. */ (query: CursorQuery): Promise; } export declare function updateReward(httpClient: HttpClient): UpdateRewardSignature; interface UpdateRewardSignature { /** * Updates a loyalty reward. * * Use this endpoint to update details of a reward, such as the name, whether or not a reward is active, * or the amount of points it costs to redeem. Also use this endpoint to add new tiers that are eligible to redeem a reward. * * You may not change the `type` of a reward. That is set upon creation and cannot be updated. * @param - Reward ID. * @param - Reward info to update. */ (_id: string | null, reward: UpdateReward): Promise; } export declare function deleteReward(httpClient: HttpClient): DeleteRewardSignature; interface DeleteRewardSignature { /** * Deletes a reward. * @param - ID of the reward to delete. * @param - Revision number, which increments by 1 each time the reward is updated. * * To prevent conflicting changes, the current `revision` must be passed when deleting the reward. */ (_id: string, revision: string): Promise; } export declare function listRewards(httpClient: HttpClient): ListRewardsSignature; interface ListRewardsSignature { /** * Retrieves a list of rewards. * * The list includes rewards that are currently nonredeemable due to insufficient points held by any customers. * @param - List options. */ (options?: ListRewardsOptions | undefined): Promise; } export declare const onRewardCreated: EventDefinition; export declare const onRewardDeleted: EventDefinition; export declare const onRewardUpdated: EventDefinition; export { ActionEvent, ApplicationError, BaseEventMetadata, BulkActionMetadata, BulkCreateRewardsRequest, BulkCreateRewardsResponse, BulkCreateRewardsResponseNonNullableFields, BulkGetRewardsRequest, BulkGetRewardsResponse, BulkGetRewardsResponseNonNullableFields, BulkRewardResult, CouponReward, CouponRewardDiscountTypeOneOf, CouponRewardScopeOrMinSubtotalOneOf, CouponScope, CreateRewardRequest, CreateRewardResponse, CreateRewardResponseNonNullableFields, CursorPaging, CursorPagingMetadata, CursorQuery, CursorQueryPagingMethodOneOf, Cursors, DeleteRewardRequest, DeleteRewardResponse, DiscountAmount, DiscountAmountConfig, DomainEvent, DomainEventBodyOneOf, Empty, EntityCreatedEvent, EntityDeletedEvent, EntityUpdatedEvent, EventMetadata, FixedAmountDiscount, FixedAmountDiscountConfig, FreeShippingDiscount, FreeShippingDiscountConfig, GetRewardRequest, GetRewardResponse, GetRewardResponseNonNullableFields, Group, IdentificationData, IdentificationDataIdOneOf, ItemMetadata, ListRewardsInTierRequest, ListRewardsInTierResponse, ListRewardsOptions, ListRewardsRequest, ListRewardsResponse, ListRewardsResponseNonNullableFields, MessageEnvelope, PagingMetadataV2, PercentageDiscount, PercentageDiscountConfig, QueryRewardsRequest, QueryRewardsResponse, QueryRewardsResponseNonNullableFields, RestoreInfo, Reward, RewardCreatedEnvelope, RewardDeletedEnvelope, RewardDisabled, RewardNonNullableFields, RewardType, RewardTypeDetailsOneOf, RewardUpdatedEnvelope, RewardsInSite, SortOrder, Sorting, SpiDiscountAmount, UpdateReward, UpdateRewardRequest, UpdateRewardResponse, UpdateRewardResponseNonNullableFields, WebhookIdentityType, } from './loyalty-v1-reward-rewards.universal.js';