import { InputFlow, PriceSide } from './cap-floor'; export { InputFlow, PriceSide } from './cap-floor'; import { BuySell, CallPut, ExerciseStyle, SwapLegDefinition, FinancialInstrumentParams } from './financial-contracts'; export { BuySell, CallPut, ExerciseStyle, SwapLegDefinition, Outputs, Table, TableRow } from './financial-contracts'; export interface Params extends InstrumentDefinition, FinancialInstrumentParams { pricingParameters?: PricingParameters; } export interface FinancialInstrument { instrumentType: string; instrumentDefinition: InstrumentDefinition; pricingParameters?: PricingParameters; } export interface InstrumentDefinition { underlyingDefinition?: SwapDefinition; bermudanSwaptionDefinition?: BermudanSwaptionDefinition; buySell?: BuySell; callPut?: CallPut; deliveryDate?: string; endDate?: string; exerciseStyle?: ExerciseStyle; instrumentTag?: string; notionalAmount?: number; payments?: InputFlow[]; premiumSettlementType?: PremiumSettlementType; settlementType?: OptionSettlementType; spreadVsAtmInBp?: number; startDate?: string; swaptionType?: SwaptionType; strikePercent?: number; tenor?: string; } export interface PricingParameters { exerciseDate?: string; impliedVolatilityBp?: number; impliedVolatilityPercent?: number; marketDataDate?: string; marketValueInDealCcy?: number; nbIterations?: number; priceSide?: PriceSide; reportCcy?: string; simulateExercise?: boolean; valuationDate?: string; } export interface BermudanSwaptionDefinition { exerciseSchedule: string[]; exerciseScheduleType: ScheduleType; notificationDays: number; } export declare enum ScheduleType { FixedLeg = "FixedLeg", FloatLeg = "FloatLeg", UserDefined = "UserDefined " } export declare enum PremiumSettlementType { Spot = "Spot", Forward = "Forward", Schedule = "Schedule " } export declare enum OptionSettlementType { Cash = "Cash", Physical = "Physical", CCP = "CCP" } export declare enum SwaptionType { Payer = "Payer", Receiver = "Receiver" } export interface SwapDefinition { endDate?: string; instrumentCode?: string; instrumentTag?: string; isNonDeliverable?: boolean; legs?: SwapLegDefinition[]; settlementCcy?: string; startDate?: string; startTenor?: string; template?: string; tenor?: string; tradeDate?: number; }