declare namespace XRayJSON { interface AssetAllocation { type: string; salePosition: string; values: Record; } interface Benchmark { breakdowns?: Breakdowns; historicalPerformanceSeries?: Array; trailingPerformance?: Array; underlyHoldings?: Array; riskStatistics?: RiskStatistics; } interface Breakdowns { assetAllocation: Array; regionalExposure?: Array; globalStockSector?: Array; styleBox?: Array; creditQuality?: Array; } interface HistoricalPerformance { frequency: string; returns: Array; returnType: string; startDate: string; timePeriod: string; } interface RiskStatistics { currencyId: string; endDate: string; sharpeRatio?: Array; standardDeviation?: Array; type: string; } interface RiskStatisticsReturn { frequency: string; timePeriod: string; value: number; } interface UnderlyHolding { [key: string]: string | number; country: string; countryId: string; currencyId: string; currencyName: string; globalIndustryId: string; globalSectorId: string; holdingId: string; iSIN: string; marketValue: number; name: string; performanceId: string; sector: string; sectorId: string; securityId: string; securityType: string; weight: number; } type HistoricalReturn = [ date: string, value: number ]; interface RegionalExposure { salePosition: string; values: Record; } interface GlobalStockSector { salePosition: string; values: Record; } interface Response { XRay: Array; } interface Status { detailedStatusMessage: string; statusCode: number; statusDescription: string; } interface StyleBox { salePosition: string; values: Record; } interface CreditQuality { salePosition: string; values: Record; } interface TrailingPerformance { currencyId: string; endDate: string; returns: Array; returnType: string; type: string; } interface TrailingReturn { timePeriod: string; value: number; } interface XRayResponse extends Benchmark { benchmark?: Array; benchmarkId?: string; currencyId?: string; status?: Status; } function isResponse(json?: unknown): json is Response; function isXRayResponse(json?: unknown): json is XRayResponse; } export default XRayJSON;