export type ProjectStatus = 'draft' | 'analyzing' | 'converting' | 'validating' | 'completed' | 'failed';

export interface TeamMember {
  name: string;
  role: string;
  avatar: string;
}

export interface ActivityEntry {
  id: string;
  timestamp: string;
  action: string;
  user: string;
  detail?: string;
}

export interface Project {
  id: string;
  name: string;
  description: string;
  status: ProjectStatus;
  repoUrl: string;
  sourceLanguage: string;
  targetLanguage: string;
  createdAt: string;
  updatedAt: string;
  completedAt?: string;
  /** Wizard / pipeline depth persisted for dashboard progress when file counts are missing */
  maxReachedStep?: number;
  currentStep?: number;
  totalFiles: number;
  totalLines: number;
  convertedFiles: number;
  accuracy: number;
  testCoverage: number;
  riskScore: number;
  estimatedTime: string;
  elapsedTime?: string;
  team: TeamMember[];
  tags: string[];
  activity: ActivityEntry[];
  config?: Record<string, unknown>;
  tokensUsed?: number;
}
