/**
* NOTE: This class is auto generated by DANA Indonesia.
* Do not edit the class manually.
*/
import type { ValidationErrorContext } from '../../../runtime';
/**
* Additional information
* @export
* @interface TransferToBankRequestAdditionalInfo
*/
export interface TransferToBankRequestAdditionalInfo {
/**
* Additional information of withdraw fund type, i.e.
* MERCHANT_WITHDRAW_FOR_CORPORATE
*
* @type {string}
* @memberof TransferToBankRequestAdditionalInfo
*/
fundType: string;
/**
* Additional information of external division identifier. (fundType: MERCHANT_WITHDRAW_FOR_CORPORATE)
* Notes: The required of this parameter is Optional, but if "additionalInfo.chargeTarget" has value DIVISION then the required of this parameter will be changed to Mandatory
*
* @type {string}
* @memberof TransferToBankRequestAdditionalInfo
*/
externalDivisionId?: string;
/**
* Additional information of charge target. The values are:
* • null
* • DIVISION
* • MERCHANT
* Notes: If the value is DIVISION, externalDivisionId will be Mandatory
*
* @type {string}
* @memberof TransferToBankRequestAdditionalInfo
*/
chargeTarget?: TransferToBankRequestAdditionalInfoChargeTargetEnum;
/**
* Additional information of flag result notification on transaction completed (result sync/async)
* @type {boolean}
* @memberof TransferToBankRequestAdditionalInfo
*/
needNotify?: boolean;
/**
* Additional information of beneficiary account name for validation purpose
* @type {string}
* @memberof TransferToBankRequestAdditionalInfo
*/
beneficiaryAccountName?: string;
/**
* Contains customer token, which has been obtained from binding process, refer to Account Binding & Unbinding documentation
* If request is coming from user interaction, this field is mandatory. If not, just filled customerNumber
*
* @type {string}
* @memberof TransferToBankRequestAdditionalInfo
*/
accessToken?: string;
}
/**
* @export
*/
export declare const TransferToBankRequestAdditionalInfoChargeTargetEnum: {
readonly Division: "DIVISION";
readonly Merchant: "MERCHANT";
};
export type TransferToBankRequestAdditionalInfoChargeTargetEnum = typeof TransferToBankRequestAdditionalInfoChargeTargetEnum[keyof typeof TransferToBankRequestAdditionalInfoChargeTargetEnum] | '';
/**
* Check if a given object implements the TransferToBankRequestAdditionalInfo interface.
*/
export declare function instanceOfTransferToBankRequestAdditionalInfo(value: object): value is TransferToBankRequestAdditionalInfo;
export declare function TransferToBankRequestAdditionalInfoFromJSON(json: any): TransferToBankRequestAdditionalInfo;
export declare function TransferToBankRequestAdditionalInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): TransferToBankRequestAdditionalInfo;
export declare function TransferToBankRequestAdditionalInfoToJSON(json: any): TransferToBankRequestAdditionalInfo;
export declare function TransferToBankRequestAdditionalInfoToJSONTyped(value?: TransferToBankRequestAdditionalInfo | null, ignoreDiscriminator?: boolean): any;
export declare function validateTransferToBankRequestAdditionalInfo(value: TransferToBankRequestAdditionalInfo): ValidationErrorContext[];