import { ContentDefinition, ExtendedParams } from '../../base-interfaces'; import * as Cap from './cap'; import * as Eti from './eti'; import * as Fx from './fx'; import * as Swaption from './swaption'; export { PriceSide } from '../ipa'; export declare enum LayoutFormat { Matrix = "Matrix", List = "List", NDimensionalArray = "NDimensionalArray" } export declare enum AxisUnit { Date = "Date", Strike = "Strike", Tenor = "Tenor", Delta = "Delta", Moneyness = "Moneyness", Expiry = "Expiry" } export declare enum InputVolatilityType { Default = "Default", LogNormalVolatility = "LogNormalVolatility", NormalizedVolatility = "NormalizedVolatility" } export declare enum TimeStampSelectionType { Default = "Default", Open = "Open", Close = "Close", Settle = "Settle" } export declare enum DiscountingType { OisDiscounting = "OisDiscounting", LiborDiscounting = "LiborDiscounting" } export declare enum VolatilityAdjustmentType { PbUndefined = "PbUndefined", ConstantCaplet = "ConstantCaplet", NormalizedCaplet = "NormalizedCaplet", ConstantCap = "ConstantCap", NormalizedCap = "NormalizedCap", ShiftedCap = "ShiftedCap" } export declare enum Outputs { Headers = "Headers", DataType = "DataType", Data = "Data", Statuses = "Statuses", ForwardCurve = "ForwardCurve", CalibrationParameters = "CalibrationParameters", Constituents = "Constituents", Dividends = "Dividends", InterestRateCurve = "InterestRateCurve", GoodnessOfFit = "GoodnessOfFit", UnderlyingSpot = "UnderlyingSpot", DiscountCurve = "DiscountCurve", Description = "Description", MoneynessStrike = "MoneynessStrike" } export type SurfacesDefinitions = Array>; export interface Params extends InstrumentParams { definitions: SurfacesDefinitions; } export interface InstrumentParams extends ExtendedParams { outputs?: Outputs[]; } export interface LayoutDataPoint { x: number; y: number; } export interface Layout { format: LayoutFormat; dataPoints?: LayoutDataPoint[]; xPointCount?: number; xValues?: string[]; yPointCount?: number; yValues?: string[]; zPointCount?: number; zValues?: string[]; } export type RequestItem = Cap.RequestItem | Eti.RequestItem | Fx.RequestItem | Swaption.RequestItem; export interface BaseItemParams { surfaceLayout?: Layout; surfaceTag?: string; surfaceParameters?: T; } export interface BaseRequestItem { underlyingType: string; surfaceLayout?: Layout; surfaceTag?: string; } export interface Content { universe: RequestItem[]; outputs?: Outputs[]; }