export default RedeemableHolder;
/**
* The RedeemableHolder model module.
* @module model/RedeemableHolder
*/
declare class RedeemableHolder {
/**
* Initializes the fields of this object.
* This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
* Only for internal use.
*/
static initialize(obj: any): void;
/**
* Constructs a RedeemableHolder from a plain JavaScript object, optionally creating a new instance.
* Copies all relevant properties from data to obj if supplied or a new instance if not.
* @param {Partial} data The plain JavaScript object bearing properties of interest.
* @param {RedeemableHolder} [obj] Optional instance to populate.
* @returns {RedeemableHolder} The populated RedeemableHolder instance.
*/
static constructFromObject(data: Partial, obj?: RedeemableHolder): RedeemableHolder;
/**
* Validates the JSON data with respect to RedeemableHolder.
* @param {Partial} data The plain JavaScript object bearing properties of interest.
* @returns {boolean} to indicate whether the JSON data is valid with respect to RedeemableHolder.
*/
static validateJSON(data: Partial): boolean;
id: string | undefined;
created_at: Date | undefined;
redeemable_id: string | undefined;
redeemable_object: string | undefined;
customer_id: string | undefined;
holder_role: (keyof typeof RedeemableHolder.HolderRoleEnum) | undefined;
campaign_id: string | undefined;
campaign_type: (keyof typeof RedeemableHolder.CampaignTypeEnum) | undefined;
voucher_type: (keyof typeof RedeemableHolder.VoucherTypeEnum) | undefined;
metadata: any | undefined;
object: (keyof typeof RedeemableHolder.ObjectEnum) | undefined;
}
declare namespace RedeemableHolder {
namespace HolderRoleEnum {
let OWNER: string;
let REFERRER: string;
let REFEREE: string;
}
namespace CampaignTypeEnum {
let REFERRAL_PROGRAM: string;
}
namespace VoucherTypeEnum {
let GIFT_VOUCHER: string;
let DISCOUNT_VOUCHER: string;
let LOYALTY_CARD: string;
}
namespace ObjectEnum {
let redeemable_holder: string;
}
}