export default LoyaltiesExamineEarningRulesExamineRequestBody;
/**
* The LoyaltiesExamineEarningRulesExamineRequestBody model module.
* @module model/LoyaltiesExamineEarningRulesExamineRequestBody
*/
declare class LoyaltiesExamineEarningRulesExamineRequestBody {
/**
* 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, trigger: any, customerIdentification: any): void;
/**
* Constructs a LoyaltiesExamineEarningRulesExamineRequestBody 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 {LoyaltiesExamineEarningRulesExamineRequestBody} [obj] Optional instance to populate.
* @returns {LoyaltiesExamineEarningRulesExamineRequestBody} The populated LoyaltiesExamineEarningRulesExamineRequestBody instance.
*/
static constructFromObject(data: Partial, obj?: LoyaltiesExamineEarningRulesExamineRequestBody): LoyaltiesExamineEarningRulesExamineRequestBody;
/**
* Validates the JSON data with respect to LoyaltiesExamineEarningRulesExamineRequestBody.
* @param {Partial} data The plain JavaScript object bearing properties of interest.
* @returns {boolean} to indicate whether the JSON data is valid with respect to LoyaltiesExamineEarningRulesExamineRequestBody.
*/
static validateJSON(data: Partial): boolean;
/**
* Constructs a new LoyaltiesExamineEarningRulesExamineRequestBody.
* Request body schema for **POST** `/v2/loyalties/examine/earning-rules`. When `trigger.type` is `SPECIFIC`, the context object matching the specific event is required and the other context objects must not be present: `customer.order.paid` > `customer_order_paid`, `customer.segment.entered` > `customer_segment_entered`, `customer.custom_event` > `customer_custom_event`. The API validates field combinations that this schema does not express.
* @alias LoyaltiesExamineEarningRulesExamineRequestBody
* @param {LoyaltiesExamineEarningRulesExamineRequestBodyTrigger} trigger
* @param {ExamineCustomerIdentification} customerIdentification
*/
constructor(trigger: LoyaltiesExamineEarningRulesExamineRequestBodyTrigger, customerIdentification: ExamineCustomerIdentification);
trigger: LoyaltiesExamineEarningRulesExamineRequestBodyTrigger;
customer_identification: ExamineCustomerIdentification;
customer_order_paid: LoyaltiesExamineEarningRulesExamineRequestBodyCustomerOrderPaid | undefined;
customer_segment_entered: LoyaltiesExamineEarningRulesExamineRequestBodyCustomerSegmentEntered | undefined;
customer_custom_event: LoyaltiesExamineEarningRulesExamineRequestBodyCustomerCustomEvent | undefined;
}
declare namespace LoyaltiesExamineEarningRulesExamineRequestBody {
let RequiredProperties: string[];
}
import LoyaltiesExamineEarningRulesExamineRequestBodyTrigger from './LoyaltiesExamineEarningRulesExamineRequestBodyTrigger';
import ExamineCustomerIdentification from './ExamineCustomerIdentification';
import LoyaltiesExamineEarningRulesExamineRequestBodyCustomerOrderPaid from './LoyaltiesExamineEarningRulesExamineRequestBodyCustomerOrderPaid';
import LoyaltiesExamineEarningRulesExamineRequestBodyCustomerSegmentEntered from './LoyaltiesExamineEarningRulesExamineRequestBodyCustomerSegmentEntered';
import LoyaltiesExamineEarningRulesExamineRequestBodyCustomerCustomEvent from './LoyaltiesExamineEarningRulesExamineRequestBodyCustomerCustomEvent';