/**
* NOTE: This class is auto generated by DANA Indonesia.
* Do not edit the class manually.
*/
import type { ValidationErrorContext } from '../../../runtime';
/**
* Additional information
* @export
* @interface TransferToDanaRequestAdditionalInfo
*/
export interface TransferToDanaRequestAdditionalInfo {
/**
* Additional information of extend
* @type {string}
* @memberof TransferToDanaRequestAdditionalInfo
*/
extendInfo?: string;
/**
* Additional information of account type
* @type {string}
* @memberof TransferToDanaRequestAdditionalInfo
*/
accountType?: string;
/**
* Additional information of transfer to DANA fund type, i.e.
* AGENT_TOPUP_FOR_USER_SETTLE
*
* @type {string}
* @memberof TransferToDanaRequestAdditionalInfo
*/
fundType: string;
/**
* Additional information of external division identifier. This parameter only used for Transfer to DANA subMerchant (fundType : AGENT_TOPUP_FOR_USER_SETTLE)
* 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 TransferToDanaRequestAdditionalInfo
*/
externalDivisionId?: string;
/**
* Additional information of charge target. This parameter only used for Transfer to DANA subMerchant. The value are:
* • null
* • DIVISION
* • MERCHANT
* if the value is DIVISION, externalDivisionId will be Mandatory
*
* @type {string}
* @memberof TransferToDanaRequestAdditionalInfo
*/
chargeTarget?: TransferToDanaRequestAdditionalInfoChargeTargetEnum;
/**
* 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 TransferToDanaRequestAdditionalInfo
*/
accessToken?: string;
/**
* Public user identifier of DANA user.
* Notes: If used, requires customerNumber to be filled with default phone number literal "620000000000"
*
* @type {string}
* @memberof TransferToDanaRequestAdditionalInfo
*/
customerId?: string;
}
/**
* @export
*/
export declare const TransferToDanaRequestAdditionalInfoChargeTargetEnum: {
readonly Division: "DIVISION";
readonly Merchant: "MERCHANT";
};
export type TransferToDanaRequestAdditionalInfoChargeTargetEnum = typeof TransferToDanaRequestAdditionalInfoChargeTargetEnum[keyof typeof TransferToDanaRequestAdditionalInfoChargeTargetEnum] | '';
/**
* Check if a given object implements the TransferToDanaRequestAdditionalInfo interface.
*/
export declare function instanceOfTransferToDanaRequestAdditionalInfo(value: object): value is TransferToDanaRequestAdditionalInfo;
export declare function TransferToDanaRequestAdditionalInfoFromJSON(json: any): TransferToDanaRequestAdditionalInfo;
export declare function TransferToDanaRequestAdditionalInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): TransferToDanaRequestAdditionalInfo;
export declare function TransferToDanaRequestAdditionalInfoToJSON(json: any): TransferToDanaRequestAdditionalInfo;
export declare function TransferToDanaRequestAdditionalInfoToJSONTyped(value?: TransferToDanaRequestAdditionalInfo | null, ignoreDiscriminator?: boolean): any;
export declare function validateTransferToDanaRequestAdditionalInfo(value: TransferToDanaRequestAdditionalInfo): ValidationErrorContext[];