import { IndexConvention } from './indexConvention';
import { LusidInstrument } from './lusidInstrument';
/**
 * LUSID representation of a Forward Rate Agreement.
 */
export interface ForwardRateAgreement {
    /**
     * The settlement date of the FRA
     */
    startDate: Date;
    /**
     * The final maturity date of the instrument. This means the last date on which the instruments makes a payment of any amount.  For the avoidance of doubt, that is not necessarily prior to its last sensitivity date for the purposes of risk; e.g. instruments such as  Constant Maturity Swaps (CMS) often have sensitivities to rates beyond their last payment date.
     */
    maturityDate: Date;
    /**
     * The domestic currency of the instrument.
     */
    domCcy: string;
    /**
     * The date at which the rate to be paid, the reference rate, is confirmed/observed.
     */
    fixingDate: Date;
    /**
     * The rate at which the FRA is traded.
     */
    fraRate: number;
    /**
     * The amount for which the FRA is traded.
     */
    notional: number;
    indexConvention?: IndexConvention;
    /**
     * The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap
     */
    instrumentType: ForwardRateAgreement.InstrumentTypeEnum;
}
export declare namespace ForwardRateAgreement {
    type InstrumentTypeEnum = 'QuotedSecurity' | 'InterestRateSwap' | 'FxForward' | 'Future' | 'ExoticInstrument' | 'FxOption' | 'CreditDefaultSwap' | 'InterestRateSwaption' | 'Bond' | 'EquityOption' | 'FixedLeg' | 'FloatingLeg' | 'BespokeCashFlowsLeg' | 'Unknown' | 'TermDeposit' | 'ContractForDifference' | 'EquitySwap' | 'CashPerpetual' | 'CapFloor' | 'CashSettled' | 'CdsIndex' | 'Basket' | 'FundingLeg' | 'FxSwap' | 'ForwardRateAgreement' | 'SimpleInstrument' | 'Repo' | 'Equity' | 'ExchangeTradedOption' | 'ReferenceInstrument' | 'ComplexBond' | 'InflationLinkedBond' | 'InflationSwap';
    const InstrumentTypeEnum: {
        QuotedSecurity: LusidInstrument.InstrumentTypeEnum;
        InterestRateSwap: LusidInstrument.InstrumentTypeEnum;
        FxForward: LusidInstrument.InstrumentTypeEnum;
        Future: LusidInstrument.InstrumentTypeEnum;
        ExoticInstrument: LusidInstrument.InstrumentTypeEnum;
        FxOption: LusidInstrument.InstrumentTypeEnum;
        CreditDefaultSwap: LusidInstrument.InstrumentTypeEnum;
        InterestRateSwaption: LusidInstrument.InstrumentTypeEnum;
        Bond: LusidInstrument.InstrumentTypeEnum;
        EquityOption: LusidInstrument.InstrumentTypeEnum;
        FixedLeg: LusidInstrument.InstrumentTypeEnum;
        FloatingLeg: LusidInstrument.InstrumentTypeEnum;
        BespokeCashFlowsLeg: LusidInstrument.InstrumentTypeEnum;
        Unknown: LusidInstrument.InstrumentTypeEnum;
        TermDeposit: LusidInstrument.InstrumentTypeEnum;
        ContractForDifference: LusidInstrument.InstrumentTypeEnum;
        EquitySwap: LusidInstrument.InstrumentTypeEnum;
        CashPerpetual: LusidInstrument.InstrumentTypeEnum;
        CapFloor: LusidInstrument.InstrumentTypeEnum;
        CashSettled: LusidInstrument.InstrumentTypeEnum;
        CdsIndex: LusidInstrument.InstrumentTypeEnum;
        Basket: LusidInstrument.InstrumentTypeEnum;
        FundingLeg: LusidInstrument.InstrumentTypeEnum;
        FxSwap: LusidInstrument.InstrumentTypeEnum;
        ForwardRateAgreement: LusidInstrument.InstrumentTypeEnum;
        SimpleInstrument: LusidInstrument.InstrumentTypeEnum;
        Repo: LusidInstrument.InstrumentTypeEnum;
        Equity: LusidInstrument.InstrumentTypeEnum;
        ExchangeTradedOption: LusidInstrument.InstrumentTypeEnum;
        ReferenceInstrument: LusidInstrument.InstrumentTypeEnum;
        ComplexBond: LusidInstrument.InstrumentTypeEnum;
        InflationLinkedBond: LusidInstrument.InstrumentTypeEnum;
        InflationSwap: LusidInstrument.InstrumentTypeEnum;
    };
}
