import { AmortizationItemDefinition, BusinessDayConvention, DayCountBasisConvention, PaymentRollConvention, PriceSide, FinancialInstrumentParams, Direction, IndexAverageMethod, PaymentFrequency, IndexCalculationMethod, AdjustInterest, StubRule, InterestType, IndexObservationMethod, InflationMode } from './financial-contracts'; export { AmortizationItemDefinition, BusinessDayConvention, DayCountBasisConvention, PaymentRollConvention, PriceSide, InflationMode, Outputs, Direction, InterestType, PaymentFrequency, IndexCalculationMethod, IndexObservationMethod, AdjustInterest, StubRule, } from './financial-contracts'; export interface Params extends InstrumentDefinition, FinancialInstrumentParams { pricingParameters?: PricingParameters; } export interface InstrumentDefinition { accruedCalculationMethod?: DayCountBasisConvention; adjustInterestToPaymentDate?: AdjustInterest; amortizationSchedule?: AmortizationItemDefinition[]; direction?: Direction; endDate?: string; firstAccrualDate?: string; firstRegularPaymentDate?: string; fixedRatePercent?: number; fixedRatePercentSchedule?: object; floorStrikePercent?: number; indexAverageMethod?: IndexAverageMethod; indexCompoundingMethod?: IndexCalculationMethod; indexFixingLag?: number; indexFixingRic?: string; indexLockoutPeriod?: number; indexObservationMethod?: IndexObservationMethod; indexResetFrequency?: PaymentFrequency; instrumentCode?: string; instrumentTag?: string; interestCalculationMethod?: DayCountBasisConvention; interestPaymentDelay?: number; interestPaymentFrequency?: PaymentFrequency; interestType?: InterestType; isPerpetual?: boolean; issueDate?: string; lastRegularPaymentDate?: string; notionalAmount?: number; notionalCcy?: string; paymentBusinessDayConvention?: BusinessDayConvention; paymentBusinessDays?: string; paymentRollConvention?: PaymentRollConvention; spreadBp?: number; stubRule?: StubRule; template?: string; } export interface PricingParameters { valuationDate?: string; marketDataDate?: string; settlementConvention?: string; reportCcy?: string; priceSide?: PriceSide; redemptionDateType?: RedemptionDateType; redemptionDate?: string; yieldType?: YieldType; taxOnIncomeGainPercent?: number; taxOnCapitalGainPercent?: number; taxOnYieldPercent?: number; taxOnPricePercent?: number; concessionFee?: number; benchmarkYieldSelectionMode?: BenchmarkYieldSelectionMode; price?: number; yieldPercent?: number; cleanPrice?: number; dirtyPrice?: number; netPrice?: number; cashAmount?: number; discountMarginBp?: number; simpleMarginBp?: number; neutralYieldPercent?: number; currentYieldPercent?: number; stripYieldPercent?: number; discountPercent?: number; zSpreadBp?: number; assetSwapSpreadBp?: number; optionAdjustedSpreadBp?: number; swapSpreadBp?: number; swapYieldPercent?: number; governmentSpreadBp?: number; governmentBenchmarkCurveYieldPercent?: number; govCountrySpreadBp?: number; govCountryBenchmarkCurveYieldPercent?: number; ratingSpreadBp?: number; ratingBenchmarkCurveYieldPercent?: number; sectorRatingSpreadBp?: number; sectorRatingBenchmarkCurveYieldPercent?: number; edsfSpreadBp?: number; edsfBenchmarkCurveYieldPercent?: number; issuerSpreadBp?: number; issuerBenchmarkCurveYieldPercent?: number; projectedIndexPercent?: number; iborRatePercent?: number; iborSpotLag?: string; marketValueFeesInDealCcy?: number; marketValueInDealCcy?: number; marketValueInReportCcy?: number; projectedIndexCalculationMethod?: ProjectedIndexCalculationMethod; computeCashFlowFromIssueDate?: boolean; roundingParameters?: RoundingParameters; computeCashFlowWithReportCcy?: boolean; defaultQuote?: DefaultQuote; adjustedCleanPrice?: number; adjustedDirtyPrice?: number; adjustedYieldPercent?: number; applyTaxToFullPricing?: boolean; benchmarkAtIssuePrice?: number; benchmarkAtIssueRic?: string; benchmarkAtIssueSpreadBp?: number; benchmarkAtIssueYieldPercent?: number; benchmarkAtRedemptionPrice?: number; benchmarkAtRedemptionSpreadBp?: number; benchmarkAtRedemptionYieldPercent?: number; bondRecoveryRatePercent?: number; cdsRecoveryRatePercent?: number; computeAllAnalyticsWithReportCcy?: boolean; creditSpreadType?: CreditSpreadType; dividendType?: DividendType; dividendYieldPercent?: number; efpBenchmarkPrice?: number; efpBenchmarkRic?: string; efpBenchmarkYieldPercent?: number; efpSpreadBp?: number; flatCreditSpreadBp?: number; flatCreditSpreadTenor?: string; fxPriceSide?: PriceSide; fxStockCorrelation?: number; fxVolatilityPercent?: number; fxVolatilityTenor?: string; govCountryBenchmarkCurvePrice?: number; governmentBenchmarkCurvePrice?: number; inflationMode?: InflationMode; isCouponPaymentAdjustedforLeapYear?: boolean; nextCouponRatePercent?: number; oisZcBenchmarkCurveYieldPercent?: number; oisZcSpreadBp?: number; quoteFallbackLogic?: QuoteFallbackLogic; quotedPrice?: number; stockBorrowRatePercent?: number; stockFlatVolatilityPercent?: number; stockFlatVolatilityTenor?: string; stockPriceOnDefault?: number; swapBenchmarkCurveYieldPercent?: number; swapSpreadTenor?: string; taxOnCouponPercent?: number; tradeDate?: string; useSettlementDateFromQuote?: boolean; userDefinedBenchmarkPrice?: number; userDefinedBenchmarkYieldPercent?: number; userDefinedSpreadBp?: number; volatilityTermStructureType?: VolatilityTermStructureType; volatilityType?: VolatilityType; } export interface FinancialInstrument { instrumentType: string; instrumentDefinition: InstrumentDefinition; pricingParameters?: PricingParameters; } export declare enum RedemptionDateType { RedemptionAtMaturityDate = "RedemptionAtMaturityDate", RedemptionAtCallDate = "RedemptionAtCallDate", RedemptionAtPutDate = "RedemptionAtPutDate", RedemptionAtWorstDate = "RedemptionAtWorstDate", RedemptionAtBestDate = "RedemptionAtBestDate", RedemptionAtSinkDate = "RedemptionAtSinkDate", RedemptionAtParDate = "RedemptionAtParDate", RedemptionAtPremiumDate = "RedemptionAtPremiumDate", RedemptionAtMakeWholeCallDate = "RedemptionAtMakeWholeCallDate", RedemptionAtCustomDate = "RedemptionAtCustomDate", RedemptionAtPerpetuity = "RedemptionAtPerpetuity", RedemptionAtAverageLife = "RedemptionAtAverageLife", RedemptionAtPartialCallDate = "RedemptionAtPartialCallDate", RedemptionAtPartialPutDate = "RedemptionAtPartialPutDate", RedemptionAtNextDate = "RedemptionAtNextDate", NativeRedemptionDate = "NativeRedemptionDate " } export declare enum YieldType { Native = "Native", UsGovt = "UsGovt", UsTBills = "UsTBills", Isma = "Isma", Euroland = "Euroland", Discount_Actual_360 = "Discount_Actual_360", Discount_Actual_365 = "Discount_Actual_365", MoneyMarket_Actual_360 = "MoneyMarket_Actual_360", MoneyMarket_Actual_365 = "MoneyMarket_Actual_365", MoneyMarket_Actual_Actual = "MoneyMarket_Actual_Actual", Bond_Actual_364 = "Bond_Actual_364", Japanese_Simple = "Japanese_Simple", Japanese_Compounded = "Japanese_Compounded", Moosmueller = "Moosmueller", Braess_Fangmeyer = "Braess_Fangmeyer", Weekend = "Weekend", TurkishCompounded = "TurkishCompounded", Annual_Equivalent = "Annual_Equivalent", Semiannual_Equivalent = "Semiannual_Equivalent", Quarterly_Equivalent = "Quarterly_Equivalent", MarketReference = "MarketReference" } export declare enum BenchmarkYieldSelectionMode { Nearest = "Nearest", Interpolate = "Interpolate" } export declare enum ProjectedIndexCalculationMethod { ConstantIndex = "ConstantIndex", ForwardIndex = "ForwardIndex", ConstantCouponPayment = "ConstantCouponPayment" } export declare enum Rounding { Zero = "Zero", One = "One", Two = "Two", Three = "Three", Four = "Four", Five = "Five", Six = "Six", Seven = "Seven", Eight = "Eight", Default = "Default", Unrounded = "Unrounded" } export declare enum RoundingType { Default = "Default", Near = "Near", Up = "Up", Down = "Down", Floor = "Floor", Ceil = "Ceil", FaceNear = "FaceNear", FaceDown = "FaceDown", FaceUp = "FaceUp" } export interface DefaultQuote { quotationMode: QuotationMode; quotationValue: number; } export declare enum QuotationMode { Unknown = "Unknown", CashCleanPrice = "CashCleanPrice", CashGrossPrice = "CashGrossPrice", PercentCleanPrice = "PercentCleanPrice", PercentGrossPrice = "PercentGrossPrice", Yield = "Yield", MoneyMarketYield = "MoneyMarketYield", Discount = "Discount", Spread = "Spread", SimpleMargin = "SimpleMargin", DiscountMargin = "DiscountMargin" } export declare enum CreditSpreadType { FlatSpread = "FlatSpread", TermStructure = "TermStructure" } export declare enum DividendType { None = "None", ForecastTable = "ForecastTable", HistoricalYield = "HistoricalYield", ForecastYield = "ForecastYield", ImpliedYield = "ImpliedYield", ImpliedTable = "ImpliedTable", Futures = "Futures" } export declare enum QuoteFallbackLogic { None = "None", BestField = "BestField" } export declare enum VolatilityTermStructureType { Historical = "Historical", Implied = "Implied" } export declare enum VolatilityType { Flat = "Flat", TermStructure = "TermStructure" } export interface RoundingParameters { accruedRounding?: Rounding; accruedRoundingType?: RoundingType; priceRounding?: Rounding; priceRoundingType?: RoundingType; yieldRounding?: Rounding; yieldRoundingType?: RoundingType; spreadRounding?: Rounding; spreadRoundingType?: RoundingType; }