import type { PAUSOptions, PAUSPayload, RequestSettings, Portfolio, Holding } from '../Shared/PAUSOptions'; import type { MorningstarConverterOptions, MorningstarMetadata } from '../Shared'; import type PerformanceJSON from './PerformanceJSON'; export interface PerformanceMetadata extends MorningstarMetadata { json: PerformanceJSON.PerformanceResponse; } export interface PerformanceOptions extends PAUSOptions { configId?: string; portfolios: Array; requestSettings: PerformanceRequestSettings; } export interface PerformanceRequestPayload extends PAUSPayload { config: { id: string; }; requestSettings: PerformanceRequestSettings; portfolios: Array; } export interface PerformanceRequestSettings extends RequestSettings { includePortfolioCorrelationMatrix?: boolean; initialValue?: number; analysisDateTimePeriod?: string; portfolioPerformanceStartDate?: string; portfolioPerformanceEndDate?: string; enablePerformanceCommonEndDate?: boolean; } export interface PerformancePortfolio extends Portfolio { fees?: fees; irrFees?: number; holdings: Array; } export interface fees { annualFeePercent: number; annualFeeFrequency: string; } export interface PerformanceHolding extends Holding { units?: number; value?: number; annualFeePercent?: number; annualFeeFrequency?: string; } export interface PerformanceConverterOptions extends MorningstarConverterOptions { json: PerformanceJSON.Performance; } export default PerformanceOptions;