import { CashFlowValue } from './cashFlowValue';
import { InstrumentEvent } from './instrumentEvent';
/**
 * Definition of a CashFlow event.  This is an event that describes the occurence of a cashflow and associated information.
 */
export interface CashFlowEvent {
    cashFlowValue: CashFlowValue;
    /**
     * What type of internal event does this represent; coupon, principal, premium etc.
     */
    readonly eventType: string;
    /**
     * What is the event status, is it a known (ie historic) or unknown (ie projected) event?
     */
    eventStatus: string;
    /**
     * The Type of Event. The available values are: TransitionEvent, InformationalEvent, OpenEvent, CloseEvent, StockSplitEvent, BondDefaultEvent, CashDividendEvent, AmortisationEvent, CashFlowEvent, ExerciseEvent, ResetEvent, TriggerEvent, RawVendorEvent, InformationalErrorEvent
     */
    instrumentEventType: CashFlowEvent.InstrumentEventTypeEnum;
}
export declare namespace CashFlowEvent {
    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;
    };
}
