import { AccountType } from './account-type'; import { DebitOrder } from './debit-order'; import { DetailedBalance } from './detailed-balance'; import { Transaction } from './transaction'; import { DetailedBalanceSavings } from './detailed-balance-savings'; import { TransactionSavings } from './transaction-savings'; import { DetailedBalanceCheque } from './detailed-balance-cheque'; import { TransactionCheque } from './transaction-cheque'; import { DetailedBalanceCredit } from './detailed-balance-credit'; import { TransactionCredit } from './transaction-credit'; import { DetailedBalanceVehicle } from './detailed-balance-vehicle'; import { TransactionVehicle } from './transaction-vehicle'; export interface AccountInitData { name: string; accountNumber: string; balance?: number; availableBalance: number; } /** Represents an FNB account and provides access to more granular account data. */ export declare class Account { /** The "nickname" of the account */ readonly name: string; /** The account number of the account. This may be masked. */ readonly accountNumber: string; /** The current balance of the account. Can be undefined during FNBs maintenance mode. */ readonly balance?: number; /** The available balance of the account. */ readonly availableBalance: number; constructor(init: AccountInitData); /** * Gets all transactions FNB exposes through online banking. * @see Transaction */ transactions(): Promise; /** * Gets the detailed balance for this account type. * @see type * @see AccountType * @see DetailedBalance * @see DetailedBalanceCredit * @see DetailedBalanceCheque */ detailedBalance(): Promise; /** * Gets a list of debit orders FNB exposes through online banking. * @see DebitOrder */ debitOrders(): Promise; /** * Gets the type of this account * @see AccountType */ type(): Promise; } export type AccountCheque = Account; export type AccountCredit = Account; export type AccountSavings = Account; export type AccountVehicle = Account;