/**
* NOTE: This class is auto generated by DANA Indonesia.
* Do not edit the class manually.
*/
import type { ValidationErrorContext } from '../../../runtime';
import type { AuditInfo } from './AuditInfo';
import type { RefundOptionBill } from './RefundOptionBill';
import type { ActorContext } from './ActorContext';
import type { EnvInfo } from './EnvInfo';
/**
*
* @export
* @interface RefundOrderRequestAdditionalInfo
*/
export interface RefundOrderRequestAdditionalInfo {
/**
* Additional information of payout account number. This param need to be filled if want to refund to specific payout account not that specified by DANA
* @type {string}
* @memberof RefundOrderRequestAdditionalInfo
*/
payoutAccountNo?: string;
/**
* Additional information of refund applied time, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
* @type {string}
* @memberof RefundOrderRequestAdditionalInfo
*/
refundAppliedTime?: string;
/**
* Additional information of actor type. The enums:
* * USER - User
* * MERCHANT - Merchant
* * MERCHANT_OPERATOR - Merchant operator
* * BACK_OFFICE - Back office
* * SYSTEM - System
*
* @type {string}
* @memberof RefundOrderRequestAdditionalInfo
*/
actorType?: RefundOrderRequestAdditionalInfoActorTypeEnum;
/**
* Additional information of return charge to payer
* @type {string}
* @memberof RefundOrderRequestAdditionalInfo
*/
returnChargeToPayer?: string;
/**
* Additional information of destination
* @type {string}
* @memberof RefundOrderRequestAdditionalInfo
*/
destination?: string;
/**
* Additional information of environment
* @type {EnvInfo}
* @memberof RefundOrderRequestAdditionalInfo
*/
envInfo?: EnvInfo;
/**
* Additional information of audit
* @type {AuditInfo}
* @memberof RefundOrderRequestAdditionalInfo
*/
auditInfo?: AuditInfo;
/**
* Additional information of actor context
* @type {ActorContext}
* @memberof RefundOrderRequestAdditionalInfo
*/
actorContext?: ActorContext;
/**
* Additional information of refund option bill
* @type {Array}
* @memberof RefundOrderRequestAdditionalInfo
*/
refundOptionBill?: Array;
/**
* Additional information of extend
* @type {string}
* @memberof RefundOrderRequestAdditionalInfo
*/
extendInfo?: string;
/**
* Additional information of async refund to determine the process of refund whether sync or async. The values is true/false
* @type {string}
* @memberof RefundOrderRequestAdditionalInfo
*/
asyncRefund?: string;
}
/**
* @export
*/
export declare const RefundOrderRequestAdditionalInfoActorTypeEnum: {
readonly User: "USER";
readonly Merchant: "MERCHANT";
readonly MerchantOperator: "MERCHANT_OPERATOR";
readonly BackOffice: "BACK_OFFICE";
readonly System: "SYSTEM";
};
export type RefundOrderRequestAdditionalInfoActorTypeEnum = typeof RefundOrderRequestAdditionalInfoActorTypeEnum[keyof typeof RefundOrderRequestAdditionalInfoActorTypeEnum] | '';
/**
* Check if a given object implements the RefundOrderRequestAdditionalInfo interface.
*/
export declare function instanceOfRefundOrderRequestAdditionalInfo(value: object): value is RefundOrderRequestAdditionalInfo;
export declare function RefundOrderRequestAdditionalInfoFromJSON(json: any): RefundOrderRequestAdditionalInfo;
export declare function RefundOrderRequestAdditionalInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): RefundOrderRequestAdditionalInfo;
export declare function RefundOrderRequestAdditionalInfoToJSON(json: any): RefundOrderRequestAdditionalInfo;
export declare function RefundOrderRequestAdditionalInfoToJSONTyped(value?: RefundOrderRequestAdditionalInfo | null, ignoreDiscriminator?: boolean): any;
export declare function validateRefundOrderRequestAdditionalInfo(value: RefundOrderRequestAdditionalInfo): ValidationErrorContext[];