// 步骤数据类型
export interface Step {
  id: number
  title: string
  description: string
}

// 当前提案信息类型
export interface ProposalInfo {
  title: string
  date: string
  areas: string[]         // 涉及领域 TAG（domain_name）
  billDomain: string[]    // 政策领域完整选项列表（bill_domain）
  defaultDomains: string[] // 政策领域默认已选项（domain_name）
  electionPhase: string
  proposer: string
  coProposers: string
  proposerPosition: string
  governmentType: string
  patternType: string
  budgetScale: string
  proposalType: string
}

// 筛选条件类型
export interface FilterOption {
  value: string
  label: string
  hint?: string
}

export interface FilterField {
  id: string
  label: string
  options: FilterOption[]
  selectedValues: string[]
  hint?: string
}

// 步骤数据（固定配置，非接口数据）
export const STEPS: Step[] = [
  {
    id: 1,
    title: '设置筛选条件',
    description: '基于核心相似度维度构建预测基准'
  },
  {
    id: 2,
    title: '筛选同类法案',
    description: '形成历史相似同类法案预测基准集'
  },
  {
    id: 3,
    title: '阶段预测分析',
    description: '基于相似法案的历史数据预测模型'
  }
]

// 筛选结果统计类型
export interface FilterStats {
  totalBills: number
  becameLaw: number
  notPassedOrShelved: number
  medianDays: number
  passRate: number
  selectedCount: number
}

// 法案信息类型
export interface BillInfo {
  id: string
  title: string
  tags: string[]
  passTime: string
  totalDays: number
  selected: boolean
}

// 阶段预测分析类型
export type RiskLevel = 'passed' | 'high' | 'medium' | 'low'

export interface StatItem {
  value: string
  label: string
}

export interface PredictionPhase {
  id: number
  title: string
  description: string
  riskLevel: RiskLevel
  progressLevel: number
  estimatedDays: string
  modelInputs: string[]
  predictionBasis?: string
  supportingFacts: {
    title: string
    basedOn: string
    stats: StatItem[]
  }
}

export interface PredictionAnalysis {
  title: string
  subtitle: string
  overallRisk: RiskLevel
  overallProgressLevel: number
  overallEstimatedDays: string
  highlightText: string
  phases: PredictionPhase[]
}
