ofx4js
Version:
A javascript OFX library, ported from OFX4J
152 lines (151 loc) • 5.96 kB
TypeScript
import { InvestmentTransactionType } from "./TransactionType";
import { BaseInvestmentTransaction } from "./BaseInvestmentTransaction";
import { TransactionWithSecurity } from "./TransactionWithSecurity";
import { BuyInvestmentTransaction } from "./BuyInvestmentTransaction";
import { InvestmentTransaction } from "./InvestmentTransaction";
import { SecurityId } from "../../seclist/SecurityId";
import { OriginalCurrency } from "./OriginalCurrency";
import { SubAccountType } from "../accounts/SubAccountType";
/**
* Base class for all investment transactions for buying securities.
* <br>
* This class exposes a read-only view of the flattened aggregates that are
* common to all buy investment transactions as a convenience to application
* developers who may not find the ofx aggregation model intuitive.
*/
export declare abstract class BaseBuyInvestmentTransaction extends BaseInvestmentTransaction implements TransactionWithSecurity {
private buyInvestment;
constructor(transactionType: InvestmentTransactionType);
/**
* Gets the buy investment transaction child aggregate.
*
* @return the buy investment transaction child aggregate
*/
getBuyInvestment(): BuyInvestmentTransaction;
/**
* Sets the buy investment transaction child aggregate.
*
* @param buyInvestment the buy investment transaction child aggregate
*/
setBuyInvestment(buyInvestment: BuyInvestmentTransaction): void;
/**
* Gets the investment transaction aggregate.
*
* @return the investment transaction aggregate
*/
getInvestmentTransaction(): InvestmentTransaction;
/**
* Gets the id of the security that was bought. This is a required field according to the OFX
* spec.
* @see "Section 13.9.2.4.3, OFX Spec"
*
* @return the security id of the security that was bought
*/
getSecurityId(): SecurityId;
/**
* Gets the number of units of the security that was bought. For security-based actions other
* than stock splits, this is the quantity bought. For stocks, mutual funds, and others, this
* is the number of shares. For bonds, this is the face value. For options, this is the number of
* contacts. This is a required field according to the OFX spec.
* @see "Section 13.9.2.4.3, OFX Spec"
*
* @return the number of units purchased.
*/
getUnits(): number;
/**
* Gets the price per commonly-quoted unit. For stocks, mutual funds, and others, this is the
* share price. For bonds, this is the percentage of par. For options, this is the per share (not
* per contact) price. This is a required field according to the OFX spec.
* @see "Section 13.9.2.4.3, OFX Spec"
*
* @return the per unit price
*/
getUnitPrice(): number;
/**
* Gets the portion of the unit price that is attributed to the dealer markup. This is an
* optional field according to the OFX spec.
* @see "Section 13.9.2.4.3, OFX Spec"
*
* @return the per unit markeup price
*/
getMarkup(): number;
/**
* Gets the transaction commission for the purchase. This is an optional field according to the
* OFX spec.
* @see "Section 13.9.2.4.3, OFX Spec"
*
* @return the transaction commision
*/
getCommission(): number;
/**
* Gets the taxes for the purchase. This is an optional field according to the OFX spec.
* @see "Section 13.9.2.4.3, OFX Spec"
*
* @return the transaction taxes
*/
getTaxes(): number;
/**
* Gets the fees for the purchase. This is an optional field according to the OFX spec.
* @see "Section 13.9.2.4.3, OFX Spec"
*
* @return the transaction fees
*/
getFees(): number;
/**
* Gets the load for the purchase. This is an optional field according to the OFX spec.
* @see "Section 13.9.2.4.3, OFX Spec"
*
* @return the load
*/
getLoad(): number;
/**
* Gets the total for the purchase. Should be equal to
* (units * (unitPrice + markup)) + (commision + fees + load + taxes) according to the OFX
* spec. This is a required field according to the OFX spec.
* @see "Section 13.9.2.4.3, OFX Spec"
*
* @return the total
*/
getTotal(): number;
/**
* Gets the currency code for the transaction. Only one of currency code or original currency
* info should be set according to the OFX spec. If neither are set, means the default currency.
* @see "Section 13.9.2.4.3, OFX Spec"
*
* @return the currency code for the transaction
*/
getCurrencyCode(): string;
/**
* Gets the original currency info for the transaction.
* @see "Section 13.9.2.4.3, OFX Spec"
*
* @return the original currency info for the transaction
*/
getOriginalCurrencyInfo(): OriginalCurrency;
/**
* Gets the sub account type for the security (e.g. CASH, MARGIN, SHORT, OTHER).
* @see "Section 13.9.2.4.3, OFX Spec"
*
* @return the sub account type
*/
getSubAccountSecurity(): string;
/**
* Gets the result of getSubAccountSecurity as one of the well-known types.
*
* @return the type of null if it wasn't one of the well known types
*/
getSubAccountSecurityEnum(): SubAccountType;
/**
* Gets the sub account type that the money came from. (e.g. CASH, MARGIN, SHORT, OTHER).
* @see "Section 13.9.2.4.3, OFX Spec"
*
* @return the sub account fund
*/
getSubAccountFund(): string;
/**
* Gets the result of getSubAccountFund as one of the well-known types.
*
* @return the type or null if it wasn't one of the well known types.
*/
getSubAccountFundEnum(): SubAccountType;
}