import { Decimal } from 'decimal.js';
import { AccountCryptoProperties } from './AccountCryptoProperties';
import { AccountFiatProperties } from './AccountFiatProperties';
import { Card } from './Card';
import { CurrencyType, CurrencyCode, Network, AccountType, AccountJSON, CustodyType } from '../interfaces';
/** Account details. */
export declare class Account {
    /** @internal */
    json: AccountJSON;
    /** Unique account identifier. */
    id: string;
    /** Account currency type. */
    currencyType: CurrencyType;
    /** Account currency code. */
    currencyCode: CurrencyCode;
    /** Account network type. */
    network: Network;
    /** Account type. */
    type: AccountType;
    /** Custody type. */
    custodyType: CustodyType;
    /** Account balance. */
    balance: Decimal;
    /** Account ledger balance. */
    ledgerBalance: Decimal;
    /** Account available balance, i.e. ledger balance minus pending transactions. */
    availableBalance: Decimal;
    /** Overdraft limit. */
    overdraftLimit: Decimal;
    /** Account has associated nominated account. */
    hasNominatedAccount: boolean;
    /** Account crypto properties if account is a crypto account, otherwise null. */
    cryptoProperties: AccountCryptoProperties | null;
    /** Account fiat properties if account is a fiat account, otherwise null. */
    fiatProperties: AccountFiatProperties | null;
    /** Cards associated with this account. */
    cards: Array<Card>;
    /** @internal */
    constructor(json: AccountJSON);
}
