/**
* NOTE: This class is auto generated by DANA Indonesia.
* Do not edit the class manually.
*/
import type { ValidationErrorContext } from '../../../runtime';
import type { Money } from './Money';
/**
*
* @export
* @interface AccountInfo
*/
export interface AccountInfo {
/**
* Account information of balance type to specify which balance type expected to be returned. Will return all available balance type if this parameter empty
* @type {string}
* @memberof AccountInfo
*/
balanceType?: string;
/**
* Account information of amount which include the net active amount. Contains two sub-fields:
* 1. Value: Amount, including the cents
* 2. Currency: Currency code based on ISO
*
* @type {Money}
* @memberof AccountInfo
*/
amount?: Money;
/**
* Account information of float amount which include the inactive amount due to cut off period. Contains two sub-fields:
* 1. Value: Amount, including the cents
* 2. Currency: Currency code based on ISO
*
* @type {Money}
* @memberof AccountInfo
*/
floatAmount?: Money;
/**
* Account information of hold amount which include the unusable amount due to certain type of transaction. Contains two sub-fields:
* 1. Value: Amount, including the cents
* 2. Currency: Currency code based on ISO
*
* @type {Money}
* @memberof AccountInfo
*/
holdAmount?: Money;
/**
* Account information of available balance which include the active amount that can be used for transaction. Contains two sub-fields:
* 1. Value: Amount, including the cents
* 2. Currency: Currency code based on ISO
*
* @type {Money}
* @memberof AccountInfo
*/
availableBalance?: Money;
/**
* Account information of ledger balance which include the starting balance for this day. Contains two sub-fields:
* 1. Value: Amount, including the cents
* 2. Currency: Currency code based on ISO
*
* @type {Money}
* @memberof AccountInfo
*/
ledgerBalance?: Money;
/**
* Account information of current multilateral limit. Contains two sub-fields:
* 1. Value: Amount, including the cents
* 2. Currency: Currency code based on ISO
*
* @type {Money}
* @memberof AccountInfo
*/
currentMultilateralLimit?: Money;
/**
* Account information of customer registration status
* @type {string}
* @memberof AccountInfo
*/
registrationStatusCode?: string;
/**
* Account information of status. The values include:
* 1 = Active Account
* 2 = Closed Account
* 4 = New Account
* 6 = Restricted Account
* 7 = Frozen Account
*
* @type {string}
* @memberof AccountInfo
*/
status?: string;
}
/**
* Check if a given object implements the AccountInfo interface.
*/
export declare function instanceOfAccountInfo(value: object): value is AccountInfo;
export declare function AccountInfoFromJSON(json: any): AccountInfo;
export declare function AccountInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccountInfo;
export declare function AccountInfoToJSON(json: any): AccountInfo;
export declare function AccountInfoToJSONTyped(value?: AccountInfo | null, ignoreDiscriminator?: boolean): any;
export declare function validateAccountInfo(value: AccountInfo): ValidationErrorContext[];