import { BaseOtherInvestmentTransaction } from "./BaseOtherInvestmentTransaction";
import { SecurityId } from "../../seclist/SecurityId";
import { OriginalCurrency } from "./OriginalCurrency";
import { SubAccountType } from "../accounts/SubAccountType";
import { Inv401KSource } from "../positions/Inv401KSource";
/**
 * Transaction for a stock split.
 * @see "Section 13.9.2.4.4, OFX Spec"
 */
export declare class SplitTransaction extends BaseOtherInvestmentTransaction {
    private securityId;
    private subAccountSecurity;
    private oldUnits;
    private newUnits;
    private numerator;
    private denominator;
    private currencyCode;
    private originalCurrencyInfo;
    private cashForFractionalUnits;
    private subAccountFund;
    private inv401kSource;
    constructor();
    /**
     * Gets the id of the security for the split. 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 for the expsense
     */
    getSecurityId(): SecurityId;
    /**
     * Sets the id of the security for the split. 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 for the expsense
     */
    setSecurityId(securityId: SecurityId): void;
    /**
     * Gets the sub account type for the security (e.g. CASH, MARGIN, SHORT, OTHER). This is a
     * required field according to the OFX spec.
     * @see "Section 13.9.2.4.3, OFX Spec"
     *
     * @return the sub account type
     */
    getSubAccountSecurity(): string;
    /**
     * Sets the sub account type for the security (e.g. CASH, MARGIN, SHORT, OTHER). This is a
     * required field according to the OFX spec.
     * @see "Section 13.9.2.4.3, OFX Spec"
     *
     * @param subAccountSecurity the sub account type
     */
    setSubAccountSecurity(subAccountSecurity: string): void;
    /**
     * 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 old number of units for the split. This is a required field according to the OFX
     * spec.
     *
     * @return the old number of units.
     */
    getOldUnits(): number;
    /**
     * Sets the old number of units for the split. This is a  equired field according to the OFX
     * spec.
     *
     * @param oldUnits the old number of units.
     */
    setOldUnits(oldUnits: number): void;
    /**
     * Gets the new number of units for the split. This is a required field according to the OFX
     * spec.
     *
     * @return the new number of units.
     */
    getNewUnits(): number;
    /**
     * Sets the new number of units for the split. This is a required field according to the OFX
     * spec.
     *
     * @param newUnits the new number of units.
     */
    setNewUnits(newUnits: number): void;
    /**
     * Gets the numerator for the split ratio. This is a required field according to the OFX spec.
     *
     * @return the numerator for the split ratio
     */
    getNumerator(): number;
    /**
     * Sets the numerator for the split ratio. This is a required field according to the OFX spec.
     *
     * @param numerator the numerator for the split ratio
     */
    setNumerator(numerator: number): void;
    /**
     * Gets the denominator for the split ratio. This is a required field according to the OFX spec.
     *
     * @return the numerator for the split ratio
     */
    getDenominator(): number;
    /**
     * Sets the denominator for the split ratio. This is a required field according to the OFX spec.
     *
     * @param denominator the numerator for the split ratio
     */
    setDenominator(denominator: number): void;
    /**
     * Gets the currency code for the transaction. Only one of currency code or original currency
     * code 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
     * code 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
     */
    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"
     *
     * @return the original currency info for the transaction
     */
    setOriginalCurrencyInfo(originalCurrencyInfo: OriginalCurrency): void;
    /**
     * Gets the cash for fractional units.
     *
     * @return the cash for fractional units
     */
    getCashForFractionalUnits(): number;
    /**
     * Sets the cash for fractional units.
     *
     * @param cashForFractionalUnits the cash for fractional units
     */
    setCashForFractionalUnits(cashForFractionalUnits: number): void;
    /**
     * Gets the sub account type for the fund. (e.g. CASH, MARGIN, SHORT, OTHER).
     * @see "Section 13.9.2.4.3, OFX Spec"
     *
     * @return the sub account fund
     */
    getSubAccountFund(): string;
    /**
     * Sets the sub account type for the fund. (e.g. CASH, MARGIN, SHORT, OTHER).
     * @see "Section 13.9.2.4.3, OFX Spec"
     *
     * @param subAccountFund the sub account fund
     */
    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 401K source for the transaction. Should be one of "PRETAX", "AFTERTAX", "MATCH",
     * "PROFITSHARING", "ROLLOVER", "OTHERVEST", "OTHERNONVEST".  This is an optional field
     * according to the OFX spec.
     * @see "Section 13.9.2.4.3, OFX Spec"
     *
     * @return the 401k source
     */
    get401kSource(): string;
    /**
     * Sets the 401K source for the transaction. Should be one of "PRETAX", "AFTERTAX", "MATCH",
     * "PROFITSHARING", "ROLLOVER", "OTHERVEST", "OTHERNONVEST".  This is an optional field
     * according to the OFX spec.
     * @see "Section 13.9.2.4.3, OFX Spec"
     *
     * @param inv401kSource the 401k source
     */
    set401kSource(inv401kSource: string): void;
    /**
     * Gets the 401k source as one of the well-known types.
     *
     * @return the 401k source or null if its not one of the well-known types
     */
    get401kSourceEnum(): Inv401KSource;
}
