import { BaseOtherInvestmentTransaction } from "./BaseOtherInvestmentTransaction";
import { TransactionWithSecurity } from "./TransactionWithSecurity";
import { SecurityId } from "../../seclist/SecurityId";
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 JournalSecurityTransaction extends BaseOtherInvestmentTransaction implements TransactionWithSecurity {
    private securityId;
    private subAccountFrom;
    private subAccountTo;
    private total;
    constructor();
    /**
     * Gets the id of the security that was transferred. 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;
    /**
     * Sets the id of the security that was transferred. This is a required field according to the OFX
     * spec.
     * @see "Section 13.9.2.4.3, OFX Spec"
     *
     * @param securityId the security id of the security that was bought
     */
    setSecurityId(securityId: SecurityId): void;
    /**
     * Gets the sub account type the transer is from (e.g. CASH, MARGIN, SHORT, OTHER).
     * @see "Section 13.9.2.4.4, OFX Spec"
     *
     * @return the sub account type
     */
    getFromSubAccountFund(): string;
    /**
     * Sets the sub account type the transer is from (e.g. CASH, MARGIN, SHORT, OTHER).
     * @see "Section 13.9.2.4.4, OFX Spec"
     *
     * @param subAccountFrom the sub account type
     */
    setFromSubAccountFund(subAccountFrom: string): void;
    /**
     * Gets the result of getFromSubAccountFund as one of the well-known types.
     *
     * @return the type of null if it wasn't one of the well known types.
     */
    getFromSubAccountFundEnum(): SubAccountType;
    /**
     * Gets the sub account type that the transfer is to (e.g. CASH, MARGIN, SHORT, OTHER).
     * @see "Section 13.9.2.4.4, OFX Spec"
     *
     * @return the sub account fund
     */
    getToSubAccountFund(): string;
    /**
     * sets the sub account type that the transfer is to (e.g. CASH, MARGIN, SHORT, OTHER).
     * @see "Section 13.9.2.4.4, OFX Spec"
     *
     * @param subAccountTo the sub account fund
     */
    setToSubAccountFund(subAccountTo: string): void;
    /**
     * Gets the result of getToSubAccountFund as one of the well-known types.
     *
     * @return the type of null if it wasn't one of the well known types.
     */
    getToSubAccountFundEnum(): 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;
}
