export default ValidationsValidateResponseBodyRedeemablesItemResultDiscount;
/**
* The ValidationsValidateResponseBodyRedeemablesItemResultDiscount model module.
* @module model/ValidationsValidateResponseBodyRedeemablesItemResultDiscount
*/
declare class ValidationsValidateResponseBodyRedeemablesItemResultDiscount {
/**
* 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 ValidationsValidateResponseBodyRedeemablesItemResultDiscount 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 {ValidationsValidateResponseBodyRedeemablesItemResultDiscount} [obj] Optional instance to populate.
* @returns {ValidationsValidateResponseBodyRedeemablesItemResultDiscount} The populated ValidationsValidateResponseBodyRedeemablesItemResultDiscount instance.
*/
static constructFromObject(data: Partial, obj?: ValidationsValidateResponseBodyRedeemablesItemResultDiscount): ValidationsValidateResponseBodyRedeemablesItemResultDiscount;
/**
* Validates the JSON data with respect to ValidationsValidateResponseBodyRedeemablesItemResultDiscount.
* @param {Partial} data The plain JavaScript object bearing properties of interest.
* @returns {boolean} to indicate whether the JSON data is valid with respect to ValidationsValidateResponseBodyRedeemablesItemResultDiscount.
*/
static validateJSON(data: Partial): boolean;
type: (keyof typeof ValidationsValidateResponseBodyRedeemablesItemResultDiscount.TypeEnum) | undefined;
amount_off: number | undefined;
amount_off_formula: string | undefined;
aggregated_amount_limit: number | undefined;
effect: (keyof typeof ValidationsValidateResponseBodyRedeemablesItemResultDiscount.EffectEnum) | undefined;
is_dynamic: boolean | undefined;
unit_off: number | undefined;
unit_off_formula: string | undefined;
unit_type: string | undefined;
product: ValidationsValidateResponseBodyRedeemablesItemResultDiscountProduct | undefined;
sku: SimpleSkuDiscountUnit | undefined;
units: Array | undefined;
percent_off: number | undefined;
percent_off_formula: string | undefined;
amount_limit: number | undefined;
fixed_amount: number | undefined;
fixed_amount_formula: string | undefined;
}
declare namespace ValidationsValidateResponseBodyRedeemablesItemResultDiscount {
namespace TypeEnum {
let AMOUNT: string;
let UNIT: string;
let PERCENT: string;
let FIXED: string;
}
namespace EffectEnum {
let APPLY_TO_ORDER: string;
let APPLY_TO_ITEMS: string;
let APPLY_TO_ITEMS_PROPORTIONALLY: string;
let APPLY_TO_ITEMS_PROPORTIONALLY_BY_QUANTITY: string;
let APPLY_TO_ITEMS_BY_QUANTITY: string;
let ADD_MISSING_ITEMS: string;
let ADD_NEW_ITEMS: string;
let ADD_MANY_ITEMS: string;
let ADD_SAME_ITEMS: string;
}
}
import ValidationsValidateResponseBodyRedeemablesItemResultDiscountProduct from './ValidationsValidateResponseBodyRedeemablesItemResultDiscountProduct';
import SimpleSkuDiscountUnit from './SimpleSkuDiscountUnit';
import DiscountUnitMultipleOneUnit from './DiscountUnitMultipleOneUnit';