export default EarningRuleEffectPointsProportional;
/**
* The EarningRuleEffectPointsProportional model module.
* @module model/EarningRuleEffectPointsProportional
*/
declare class EarningRuleEffectPointsProportional {
/**
* 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 EarningRuleEffectPointsProportional 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 {EarningRuleEffectPointsProportional} [obj] Optional instance to populate.
* @returns {EarningRuleEffectPointsProportional} The populated EarningRuleEffectPointsProportional instance.
*/
static constructFromObject(data: Partial, obj?: EarningRuleEffectPointsProportional): EarningRuleEffectPointsProportional;
/**
* Validates the JSON data with respect to EarningRuleEffectPointsProportional.
* @param {Partial} data The plain JavaScript object bearing properties of interest.
* @returns {boolean} to indicate whether the JSON data is valid with respect to EarningRuleEffectPointsProportional.
*/
static validateJSON(data: Partial): boolean;
calculation_type: (keyof typeof EarningRuleEffectPointsProportional.CalculationTypeEnum) | undefined;
card_definition_id: string | undefined;
points_expiration: EarningRuleEffectPointsExpiration | undefined;
order: EarningRulePointsProportionalOrder | undefined;
customer: EarningRulePointsProportionalCustomer | undefined;
custom_event: EarningRulePointsProportionalCustomEvent | undefined;
order_items: EarningRulePointsProportionalOrderItems | undefined;
}
declare namespace EarningRuleEffectPointsProportional {
namespace CalculationTypeEnum {
let PRE_DISCOUNT_ORDER_AMOUNT: string;
let POST_DISCOUNT_ORDER_AMOUNT: string;
let PRE_DISCOUNT_ORDER_ITEMS_AMOUNT: string;
let POST_DISCOUNT_ORDER_ITEMS_AMOUNT: string;
let ORDER_ITEMS_QUANTITY: string;
let ORDER_METADATA_VALUE: string;
let CUSTOMER_METADATA_VALUE: string;
let CUSTOM_EVENT_METADATA_VALUE: string;
}
}
import EarningRuleEffectPointsExpiration from './EarningRuleEffectPointsExpiration';
import EarningRulePointsProportionalOrder from './EarningRulePointsProportionalOrder';
import EarningRulePointsProportionalCustomer from './EarningRulePointsProportionalCustomer';
import EarningRulePointsProportionalCustomEvent from './EarningRulePointsProportionalCustomEvent';
import EarningRulePointsProportionalOrderItems from './EarningRulePointsProportionalOrderItems';