UNPKG

ofx4js

Version:

A javascript OFX library, ported from OFX4J

60 lines (59 loc) 2.43 kB
import { FinancialInstitutionData } from "./FinancialInstitutionData"; import { FinancialInstitutionProfile } from "./FinancialInstitutionProfile"; import { AccountProfile } from "../domain/data/signup/AccountProfile"; import { BankAccountDetails } from "../domain/data/banking/BankAccountDetails"; import { BankAccount } from "./BankAccount"; import { CreditCardAccountDetails } from "../domain/data/creditcard/CreditCardAccountDetails"; import { CreditCardAccount } from "./CreditCardAccount"; import { InvestmentAccountDetails } from "../domain/data/investment/accounts/InvestmentAccountDetails"; import { InvestmentAccount } from "./InvestmentAccount"; export interface FinancialInstitution { /** * The financial institution data defining this FI. * * @return The financial institution data. */ getData(): FinancialInstitutionData; /** * Read the specified financial institution profile. Implies a network call. * * @return The profile. * @throws OFXException if something goes awry. */ readProfile(): Promise<FinancialInstitutionProfile>; /** * Read the account profiles of the specified user. * * @param username The username. * @param password The password. * @return The profiles. */ readAccountProfiles(username: string, password: string): Promise<Array<AccountProfile>>; /** * Load a bank account. * * @param details The bank account details. * @param username The username. * @param password The password. * @return The bank account. */ loadBankAccount(details: BankAccountDetails, username: string, password: string): BankAccount; /** * Load a credit card account. * * @param details The credit card account details. * @param username The username. * @param password The password. * @return The credit card account. */ loadCreditCardAccount(details: CreditCardAccountDetails, username: string, password: string): CreditCardAccount; /** * Load an investment account. * * @param details The investment account details. * @param username The username. * @param password The password. * @return The investment account. */ loadInvestmentAccount(details: InvestmentAccountDetails, username: string, password: string): InvestmentAccount; }