export type Rule = {
  code: number
  name: string
  simplename: string
  isfirst?: string
}

export type RuleResult = { p: number; rule: Rule[] }

export type RulesStore = {
  rules: RuleResult[]
}

export type City = {
  allscore: number
  code: string
  isopen: number
  lizations: { name: string; policy: number; code: number }[]
  policy: number
  provincename: string
  years: number
}
export type IUserCity = {
  cities: Array<{ letter: string; provinces: { id: number; provincename: string } }>
}

export type ExtraUserInfo = {
  city?: City
  estimatedAchievement: {
    year: number
    score: number | string
    requireSubject: Rule
    optionalSubject: Rule[]
    cityCode: string
  }
} & IUserInfo

export type News = {
  coverImg: string
  createTime: string
  id: number
  source: string
  summary: string
  title: string
}

export type NewsDetail = {
  author: string
  click: number
  coverImg: string
  createTime: string
  detail: string
  id: number
  summary: string
  title: string
}
