// financialService 类型声明 export interface RequestOptions { signal?: AbortSignal; } export interface ApiResponse { success: boolean; data: T; message?: string; } export interface FinancialService { getStockInfo(seccode: string, options?: RequestOptions): Promise>; getBalanceSheet(seccode: string, limit?: number, options?: RequestOptions): Promise>; getIncomeStatement(seccode: string, limit?: number, options?: RequestOptions): Promise>; getCashflow(seccode: string, limit?: number, options?: RequestOptions): Promise>; getFinancialMetrics(seccode: string, limit?: number, options?: RequestOptions): Promise>; getMainBusiness(seccode: string, periods?: number, options?: RequestOptions): Promise>; getForecast(seccode: string, options?: RequestOptions): Promise>; getIndustryRank(seccode: string, limit?: number, options?: RequestOptions): Promise>; getPeriodComparison(seccode: string, periods?: number, options?: RequestOptions): Promise>; } export const financialService: FinancialService; export interface FormatUtils { formatLargeNumber(num: number, decimal?: number): string; formatPercent(num: number, decimal?: number): string; formatDate(dateStr: string): string; getReportType(dateStr: string): string; getGrowthColor(value: number): string; getTrendIcon(current: number, previous: number): 'up' | 'down' | 'stable'; calculateYoY(current: number, yearAgo: number): number | null; calculateQoQ(current: number, previous: number): number | null; getFinancialHealthScore(metrics: any): { score: number; level: string; color: string } | null; getTableColumns(type: string): any[]; } export const formatUtils: FormatUtils; export interface ChartUtils { prepareTrendData(data: any[], metrics: any[]): any[]; preparePieData(data: any[], valueKey: string, nameKey: string): any[]; prepareComparisonData(data: any[], periods: any[], metrics: any[]): any[]; getChartColors(theme?: string): string[]; } export const chartUtils: ChartUtils;