import { BaseOtherInvestmentTransaction } from "./BaseOtherInvestmentTransaction";
import { OriginalCurrency } from "./OriginalCurrency";
import { SubAccountType } from "../accounts/SubAccountType";
/**
 * Transaction for journal security transactions between sub-accounts within the same investment
 * account.
 * @see "Section 13.9.2.4.4, OFX Spec"
 */
export declare class MarginInterestTransaction extends BaseOtherInvestmentTransaction {
    private total;
    private subAccountFund;
    private currencyCode;
    private originalCurrencyInfo;
    constructor();
    /**
     * Gets the sub account type the margin interest affects (e.g. CASH, MARGIN, SHORT, OTHER).
     * @see "Section 13.9.2.4.4, OFX Spec"
     *
     * @return the sub account type
     */
    getSubAccountFund(): string;
    /**
     * Sets the sub account type the margin interest affects (e.g. CASH, MARGIN, SHORT, OTHER).
     * @see "Section 13.9.2.4.4, OFX Spec"
     *
     * @param subAccountFund the sub account type
     */
    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;
    /**
     * Gets the total for the transaction.
     * @see "Section 13.9.2.4.4, OFX Spec"
     *
     * @return the total
     */
    getTotal(): number;
    /**
     * Sets the total for the transaction.
     * @see "Section 13.9.2.4.4, OFX Spec"
     *
     * @param total the total
     */
    setTotal(total: number): void;
    /**
     * 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;
    /**
     * Sets 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"
     *
     * @param currencyCode the currency code for the transaction.
     */
    setCurrencyCode(currencyCode: string): void;
    /**
     * 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;
    /**
     * Sets the original currency info for the transaction.
     * @see "Section 13.9.2.4.3, OFX Spec"
     *
     * @param originalCurrency the original currency info for the transaction.
     */
    setOriginalCurrencyInfo(originalCurrency: OriginalCurrency): void;
}
