import { Transaction } from "../../common/Transaction";
import { SubAccountType } from "../accounts/SubAccountType";
/**
 * Bank transactions that are part of an investment account statement. Wraps a {@link Transaction}.
 * @see "Section 13.9.2.3, OFX Spec"
 */
export declare class InvestmentBankTransaction {
    private transaction;
    private subAccountFund;
    /**
     * Gets the wrapped transaction aggregate.
     * @return the wrapped transaction
     */
    getTransaction(): Transaction;
    /**
     * Sets the wrapped transaction aggregate.
     * @param transaction the wrapped transaction
     */
    setTransaction(transaction: Transaction): void;
    /**
     * Gets the sub account type that the security is from (e.g. CASH, MARGIN, SHORT, OTHER).
     * @see "Section 13.9.2.4.2, OFX Spec"
     *
     * @return the sub account fund for the transaction
     */
    getSubAccountFund(): string;
    /**
     * Sets the sub account type that the security is from (e.g. CASH, MARGIN, SHORT, OTHER).
     * @see "Section 13.9.2.4.2, OFX Spec"
     *
     * @param subAccountFund the sub account fund for the transaction
     */
    setSubAccountFund(subAccountFund: string): void;
    /**
     * Gets the result of getSubAccountFund as one of the well-known types.
     *
     * @return the type of null if it wasn't one of the well known types
     */
    getSubAccountFundEnum(): SubAccountType;
}
