/**
 * 诊断分析相关类型定义
 */

export type DiagnosisStatus = "pass" | "warning" | "fail";

export type DiagnosisTab = "seo" | "geo" | "combined";

export interface DiagnosisItem {
  name: string;
  status: DiagnosisStatus;
  description: string;
  suggestion?: string;
}

export interface DiagnosisDimension {
  name: string;
  score: number;
  max_score: number;
  percentage: number;
  status: string;
  items: DiagnosisItem[];
}

export interface DiagnosisRecommendation {
  priority: string;
  dimension: string;
  title: string;
  description: string;
  impact: string;
  effort: string;
}

export interface DiagnosisResult {
  overall_score: number;
  health_level: string;
  dimensions: DiagnosisDimension[];
  recommendations: DiagnosisRecommendation[];
}

export interface SEODiagnosisResponse extends DiagnosisResult {}

export interface GEODiagnosisResponse extends DiagnosisResult {}

export interface CombinedDiagnosisResponse {
  overall_score: number;
  health_level: string;
  seo_score: number;
  geo_score: number;
  seo_dimensions: DiagnosisDimension[];
  geo_dimensions: DiagnosisDimension[];
  recommendations: DiagnosisRecommendation[];
}
