import { PerxCategory, PerxTag } from './Taxonomy'; /** * Mapped against * * { "attained": true, "loyalty_id": 2, "loyalty_name": "Titanium", "loyalty_points_required_for_redemption": null, "sneak_peek": false } */ export declare class PerxRewardLoyaltyScope { loyaltyId: number; attained: boolean; loyaltyName: string | null; loyaltyPointsRequiredForRedemption: number | null; sneakPeek: boolean; } export declare class PerxImage { url: string; type: string; } export declare class PerxBrand { id: number; name: string; } export declare class PerxRewardPrice { id: number; identifier: string | null; currencyCode: string | null; price: string; points: number; rewardCurrency: string | null; rewardAmount: string; loyaltyProgramId: number | null; } /** * Mapped against * * ```json * { * "code": 4103, * "message": "No rewards available for the specified user due to account lifetime limit" * } * ``` */ export declare class PerxRewardInventoryLimitErrorKlass { code: number; message: string; } export declare class PerxRewardInventoryBalance { availableAmount: number; limitType: 'account_lifetime' | 'account_interval'; limitErrorKlass: PerxRewardInventoryLimitErrorKlass | null; } export declare class PerxRewardInventory { rewardTotalLimit: number | null; rewardTotalBalance: number | null; minutesPerPeriod: number | null; periodStart: Date | null; rewardLimitPerPeriod: number | null; rewardLimitPerPeriodBalance: number | null; rewardLimitPerUser: number | null; rewardLimitPerUserBalance: PerxRewardInventoryBalance | null; minutesPerUserPeriod: number | null; perUserPeriodStart: Date | null; rewardLimitPerUserPerPeriod: number | null; rewardLimitPerUserPerPeriodBalance: PerxRewardInventoryBalance | null; } /** * Representation of Reward's reservation * * Example Payload * "id": 173, "voucher_code": "*****************", "voucher_key": null, "voucher_type": "code", "state": "reserved", "custom_fields": { "reward_price": {} }, "reserved_expires_at": "2021-09-21T01:42:58.000Z" */ export declare class PerxRewardReservation { id: number; voucherCode: string; voucherKey: string | null; state: string; voucherType: string | null; customFields: any; reservedExpiresAt: Date | null; } export declare class PerxReward { id: number; name: string; description: string; operatingNow: boolean; stepsToRedeem: string | null; merchantId: number | null; merchantName: string | null; merchantWebsite: string | null; merchantLogoURL: string | null; merchantNameAlt: string | null; merchantWebsiteAlt: string | null; merchantTextAlt: string | null; ecommerceOnly: boolean; brands: PerxBrand[]; subtitle: string | null; validFrom: Date | null; validTo: Date | null; sellingFrom: Date | null; sellingTo: Date | null; eligible: boolean; images: PerxImage[]; inventory: PerxRewardInventory; rewardPrices: PerxRewardPrice[]; customFields: any; termsAndConditions: string | null; loyalty: PerxRewardLoyaltyScope[]; tags: PerxTag[]; categoryTags: PerxCategory[]; isGiftable: boolean; isFavourite: boolean; }