import { StatementResponse } from "../../common/StatementResponse";
import { InvestmentAccountDetails } from "../accounts/InvestmentAccountDetails";
import { InvestmentTransactionList } from "../transactions/InvestmentTransactionList";
import { InvestmentPositionList } from "../positions/InvestmentPositionList";
import { InvestmentBalance } from "./InvestmentBalance";
import { SecurityList } from "../../seclist/SecurityList";
/**
 * Aggregate for the investment statement download response.
 * @see "Section 13.9.2.2, OFX Spec"
 */
export declare class InvestmentStatementResponse extends StatementResponse {
    private dateOfStatement;
    private account;
    private investmentTransactionList;
    private positionList;
    private accountBalance;
    private securityList;
    /**
     * Gets the name of the response message.
     *
     * @return the name of the response message
     */
    getResponseMessageName(): string;
    /**
     * Gets the date and time for the statement download. This is a required field according to the
     * OFX spec.
     *
     * @return the date and time for the statement download
     */
    getDateOfStatement(): Date;
    /**
     * Sets the date and time for the statement download. This is a required field according to the
     * OFX spec.
     *
     * @param dateOfStatement the date and time for the statement download
     */
    setDateOfStatement(dateOfStatement: Date): void;
    /**
     * Gets the account for the statement. This is a required field according to the OFX spec.
     *
     * @return the account for the statement
     */
    getAccount(): InvestmentAccountDetails;
    /**
     * Sets the account for the statement. This is a required field according to the OFX spec.
     *
     * @param account the account for the statement
     */
    setAccount(account: InvestmentAccountDetails): void;
    /**
     * Gets the transaction list aggregate. This is an optional field according to the OFX spec.
     *
     * @return the transaction list aggregate
     */
    getInvestmentTransactionList(): InvestmentTransactionList;
    /**
     * Sets the transaction list aggregate. This is an optional field according to the OFX spec.
     *
     * @param transactionList the transaction list aggregate
     */
    setInvestmentTransactionList(transactionList: InvestmentTransactionList): void;
    /**
     * Gets the position list aggreate. This is an optional field according to the OFX spec.
     *
     * @return the position list aggregate
     */
    getPositionList(): InvestmentPositionList;
    /**
     * Sets the position list aggreate. This is an optional field according to the OFX spec.
     *
     * @param positionList the position list aggregate
     */
    setPositionList(positionList: InvestmentPositionList): void;
    /**
     * Gets the account balance. This is an optional field according to the OFX spec.
     *
     * @return the account balance
     */
    getAccountBalance(): InvestmentBalance;
    /**
     * Sets the account balance. This is an optional field according to the OFX spec.
     *
     * @param accountBalance the account balance
     */
    setAccountBalance(accountBalance: InvestmentBalance): void;
    /**
     * Gets the security list aggregate.
     * <br>
     * This is not actually technically part of the investment statement responsr aggregate, but
     * according to Section 13.8.4, OFX spec, this aggregate can appear the overall response and
     * we provide it here for convenience.
     *
     * @return the security list aggregate
     */
    getSecurityList(): SecurityList;
    /**
     * Sets the security list aggregate.
     * <br>
     * This is not actually technically part of the investment statement responsr aggregate, but
     * according to Section 13.8.4, OFX spec, this aggregate can appear the overall response and
     * we provide it here for convenience.
     *
     * @param securityList the security list aggregate
     */
    setSecurityList(securityList: SecurityList): void;
}
