import { BaseSecurityInfo } from "./BaseSecurityInfo";
import { DebtType } from "./DebtType";
import { DebtClass } from "./DebtClass";
import { CouponFrequency } from "./CouponFrequency";
import { CallType } from "./CallType";
import { AssetClass } from "./AssetClass";
/**
 * Info about a debt security.
 * @see "Section 13.8.5.2, OFX Spec"
 */
export declare class DebtSecurityInfo extends BaseSecurityInfo {
    private parValue;
    private debtType;
    private debtClass;
    private couponRate;
    private nextMaturityDate;
    private couponFrequency;
    private callPrice;
    private yieldToCall;
    private nextCallDate;
    private callType;
    private yieldToMaturity;
    private debtMaturityDate;
    private assetClass;
    private fiAssetClass;
    /**
     * Gets the par value of the debt. This is a required field according to the OFX spec.
     *
     * @return the par value of the debt
     */
    getParValue(): number;
    /**
     * Sets the par value of the debt. This is a required field according to the OFX spec.
     *
     * @param parValue the par value of the debt
     */
    setParValue(parValue: number): void;
    /**
     * Gets the type of debt. One of "COUPON" or "ZERO". This is a required field according to the
     * OFX spec.
     *
     * @return the type of debt
     */
    getDebtType(): string;
    /**
     * Sets the type of debt. One of "COUPON" or "ZERO". This is a required field according to the
     * OFX spec.
     *
     * @param debtType the type of debt
     */
    setDebtType(debtType: string): void;
    /**
     * Gets the type of debt as one of the well-known types.
     *
     * @return the type of debt or null if it's not one of the well-known types
     */
    getDebtTypeEnum(): DebtType;
    /**
     * Gets the class of debt. One of "TREASURY", "MUNICIPAL", "CORPORATE", or "OTHER".
     * This is an optional field according to the OFX spec.
     *
     * @return the class of debt
     */
    getDebtClass(): string;
    /**
     * Sets the class of debt. One of "TREASURY", "MUNICIPAL", "CORPORATE", or "OTHER".
     * This is an optional field according to the OFX spec.
     *
     * @param debtClass the class of debt
     */
    setDebtClass(debtClass: string): void;
    /**
     * Gets the class of debt as one of the well-known types.
     *
     * @return the class of debt or null if it's not one of the well-known types
     */
    getDebtClassEnum(): DebtClass;
    /**
     * Gets the coupon rate of the debt for the next closest call date.
     * This is an optional field according to the OFX spec.
     *
     * @return the coupon rate
     */
    getCouponRate(): number;
    /**
     * Sets the coupon rate of the debt for the next closest call date.
     * This is an optional field according to the OFX spec.
     *
     * @param couponRate the coupon rate
     */
    setCouponRate(couponRate: number): void;
    /**
     * Gets the next maturity date for the next coupon.
     * This is an optional field according to the OFX spec.
     *
     * @return the maturity date for the next coupon
     */
    getNextMaturityDate(): Date;
    /**
     * Sets the next maturity date for the next coupon.
     * This is an optional field according to the OFX spec.
     *
     * @param nextMaturityDate the maturity date for the next coupon.
     */
    setNextMaturityDate(nextMaturityDate: Date): void;
    /**
     * Gets the coupon frequency. One of "MONTHLY", "QUARTERLY", "SEMIANNUAL", "ANNUAL", or "OTHER".
     * This is an optional field according to the OFX spec.
     *
     * @return the coupon frequency
     */
    getCouponFrequency(): string;
    /**
     * Sets the coupon frequency. One of "MONTHLY", "QUARTERLY", "SEMIANNUAL", "ANNUAL", or "OTHER".
     * This is an optional field according to the OFX spec.
     *
     * @param couponFrequency the coupon frequency
     */
    setCouponFrequency(couponFrequency: string): void;
    /**
     * Gets the coupon frequency as one of the well-known types.
     *
     * @return the coupon frequency or null if it's not one of the well-known types
     */
    getCouponFrequencyEnum(): CouponFrequency;
    /**
     * Gets the bond price. This is an optional field according to the OFX spec.
     *
     * @return the bond price
     */
    getCallPrice(): number;
    /**
     * Sets the bond price. This is an optional field according to the OFX spec.
     *
     * @param callPrice the bond price
     */
    setCallPrice(callPrice: number): void;
    /**
     * Gets the yield to call as a rate. This is an optional field according to the OFX spec.
     *
     * @return the yield to call rate
     */
    getYieldToCall(): number;
    /**
     * Sets the yield to call as a rate. This is an optional field according to the OFX spec.
     *
     * @param yieldToCall the yield to call rate
     */
    setYieldToCall(yieldToCall: number): void;
    /**
     * Gets the next call date. This is an optional field according to the OFX spec.
     *
     * @return the next call date.
     */
    getNextCallDate(): Date;
    /**
     * Sets the next call date. This is an optional field according to the OFX spec.
     *
     * @param nextCallDate the next call date.
     */
    setNextCallDate(nextCallDate: Date): void;
    /**
     * Gets the type of call.
     *
     * @return the type of call
     */
    getCallType(): string;
    /**
     * Sets the type of call.
     *
     * @param callType the type of call
     */
    setCallType(callType: string): void;
    /**
     * Gets the type of call as one of the well-known types.
     *
     * @return the type of call or null if it's not one of the well-known types
     */
    getCallTypeEnum(): CallType;
    /**
     * Gets the yield to maturity as a rate. This is an optional field according to the OFX spec.
     *
     * @return the yield to call rate
     */
    getYieldToMaturity(): number;
    /**
     * Sets the yield to maturity as a rate. This is an optional field according to the OFX spec.
     *
     * @param yieldToMaturity the yield to call rate
     */
    setYieldToMaturity(yieldToMaturity: number): void;
    /**
     * Gets the date when the debt matures. This is an optional field according to the OFX spec.
     *
     * @return the date when the debt matures
     */
    getDebtMaturityDate(): Date;
    /**
     * Sets the date when the debt matures. This is an optional field according to the OFX spec.
     *
     * @param debtMaturityDate the date when the debt matures
     */
    setDebtMaturityDate(debtMaturityDate: Date): void;
    /**
     * Gets the asset class of the debt. This is an optional field according to the OFX spec.
     *
     * @return the asset class of the debt
     */
    getAssetClass(): string;
    /**
     * Sets the asset class of the debt. This is an optional field according to the OFX spec.
     *
     * @param assetClass the asset class of the debt
     */
    setAssetClass(assetClass: string): void;
    /**
     * Gets the assert class as one of the well-known types.
     *
     * @return the asset class or null if it's not one of the well-known types
     */
    getAssetClassEnum(): AssetClass;
    /**
     * Gets the FI-defined asset class of the debt. This is an optional field according to the OFX
     * spec.
     *
     * @return the FI-defined asset class of the debt
     */
    getFiAssetClass(): string;
    /**
     * Sets the FI-defined asset class of the debt. This is an optional field according to the OFX
     * spec.
     *
     * @param fiAssetClass the FI-defined asset class of the debt
     */
    setFiAssetClass(fiAssetClass: string): void;
}
