ofx4js
Version:
A javascript OFX library, ported from OFX4J
60 lines (59 loc) • 2.43 kB
TypeScript
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;
}