import { InstrumentEvent } from './instrumentEvent';
/**
 * Definition of an Amortisation event.  This is an event that describes the occurence of amortisation.
 */
export interface AmortisationEvent {
    /**
     * The amount reduced in this amortisation event.  That is, the difference between the previous notional amount and the current notional amount as set in this event.
     */
    amountReduced: number;
    /**
     * Domestic currency of the originating instrument
     */
    domCcy: string;
    /**
     * Is this event in relation to the Pay or Receive leg
     */
    payReceive: string;
    /**
     * What is the event status, is it a known (ie historic) or unknown (ie projected) event?
     */
    eventStatus: string;
    /**
     * The date the principal payment is to be made.
     */
    paymentDate: Date;
    /**
     * The Type of Event. The available values are: TransitionEvent, InformationalEvent, OpenEvent, CloseEvent, StockSplitEvent, BondDefaultEvent, CashDividendEvent, AmortisationEvent, CashFlowEvent, ExerciseEvent, ResetEvent, TriggerEvent, RawVendorEvent, InformationalErrorEvent
     */
    instrumentEventType: AmortisationEvent.InstrumentEventTypeEnum;
}
export declare namespace AmortisationEvent {
    type InstrumentEventTypeEnum = 'TransitionEvent' | 'InformationalEvent' | 'OpenEvent' | 'CloseEvent' | 'StockSplitEvent' | 'BondDefaultEvent' | 'CashDividendEvent' | 'AmortisationEvent' | 'CashFlowEvent' | 'ExerciseEvent' | 'ResetEvent' | 'TriggerEvent' | 'RawVendorEvent' | 'InformationalErrorEvent';
    const InstrumentEventTypeEnum: {
        TransitionEvent: InstrumentEvent.InstrumentEventTypeEnum;
        InformationalEvent: InstrumentEvent.InstrumentEventTypeEnum;
        OpenEvent: InstrumentEvent.InstrumentEventTypeEnum;
        CloseEvent: InstrumentEvent.InstrumentEventTypeEnum;
        StockSplitEvent: InstrumentEvent.InstrumentEventTypeEnum;
        BondDefaultEvent: InstrumentEvent.InstrumentEventTypeEnum;
        CashDividendEvent: InstrumentEvent.InstrumentEventTypeEnum;
        AmortisationEvent: InstrumentEvent.InstrumentEventTypeEnum;
        CashFlowEvent: InstrumentEvent.InstrumentEventTypeEnum;
        ExerciseEvent: InstrumentEvent.InstrumentEventTypeEnum;
        ResetEvent: InstrumentEvent.InstrumentEventTypeEnum;
        TriggerEvent: InstrumentEvent.InstrumentEventTypeEnum;
        RawVendorEvent: InstrumentEvent.InstrumentEventTypeEnum;
        InformationalErrorEvent: InstrumentEvent.InstrumentEventTypeEnum;
    };
}
