import { BuySell, FxSwapCalculationMethod, PriceSide, FinancialInstrumentParams, TenorReferenceDate } from './financial-contracts'; export { BuySell, FxSwapCalculationMethod, PriceSide, 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 { instrumentTag?: string; fxCrossCode?: string; fxCrossType?: FxCrossType; tradedCrossRate?: number; tradedSwapPoints?: number; referenceSpotRate?: number; referenceSwapPoints?: number; ndfFixingSettlementCcy?: string; settlementCcy?: string; legs?: FxCrossLegDefinition[]; } export interface PricingParameters { adjustAllDepositPointsToCrossCalendars?: boolean; adjustAllSwapPointsToCrossCalendars?: boolean; impliedDepositDateConvention?: string; tenorReferenceDate?: TenorReferenceDate; valuationDate?: string; marketDataDate?: string; reportCcy?: string; ignoreRefCcyHolidays?: boolean; fxSwapCalculationMethod?: FxSwapCalculationMethod; priceSide?: PriceSide; useDirectQuote?: boolean; } export declare enum FxCrossType { FxSpot = "FxSpot", FxForward = "FxForward", FxNonDeliverableForward = "FxNonDeliverableForward", FxSwap = "FxSwap", FxForwardForward = "FxForwardForward" } export interface FxCrossLegDefinition { legTag?: string; fxLegType?: FxCrossLegType; dealCcy?: string; dealCcyBuySell?: BuySell; dealAmount?: number; contraAmount?: number; contraCcy?: string; endDate?: string; tenor?: string; } export declare enum FxCrossLegType { FxSpot = "FxSpot", FxForward = "FxForward", FxNonDeliverableForward = "FxNonDeliverableForward", SwapNear = "SwapNear", SwapFar = "SwapFar" }