import { 
  AnalysisTemplateSet, 
  AnalysisResultDto,
  TaskProgress
} from '@/types';

export interface ReportState {
  // 1. Context
  symbol: string;
  market: string;
  templateId: string;
  templateConfig: AnalysisTemplateSet | null;

  // 2. Phase Status
  fetchStatus: 'idle' | 'fetching' | 'complete' | 'error';
  analysisStatus: 'idle' | 'running' | 'complete' | 'error';

  // 3. Data
  fundamentalData: unknown[]; 
  analysisResults: Record<string, AnalysisResultDto>; // Key: ModuleID
  tasks: TaskProgress[];
  
  // 4. Progress
  requestId: string | null;
  executionMeta: {
    startTime: number;
    elapsed: number;
    tokens: number;
  };
  error: string | null;
}

