export interface WeatherData {
  current: string
  hourly: HourlyItem[]
  daily: DailyItem[]
}

export interface HourlyItem {
  time: string
  icon: string
  temp: string
  pop?: string
}

export interface DailyItem {
  date: string
  icon: string
  tempMin: string
  tempMax: string
}

export interface HoroscopeData {
  zodiac: string
  all: string
  love: string
  work: string
  money: string
  health: string
  luckyColor: string
  luckyNum: string
  noble: string
  summary: string
}

export interface AINewsItem {
  title: string
  source: string
  ctime: string
  description: string
  picUrl: string
}

export interface KnowledgeData {
  content: string
  keyword: string
}

export interface PhotoData {
  src: string
  counter: string
  interval: number
}

export interface SettingsData {
  lightTheme: boolean
  wallpaper: boolean
  time: boolean
  weather: boolean
  zodiacCard: boolean
  knowledgeCard: boolean
  layout: string
  zodiac: string
  city: string
  provinces: string[]
  citiesByProv: Record<string, { id: string; name: string }[]>
  wallpaperType: string
  theme: string
  themes: { value: string; label: string }[]
  color1: string
  color2: string
  colorGradient: boolean
  savedColors: { color1: string; color2: string; gradient: boolean }[]
  bingAutoRefresh: boolean
  knowledgeKeyword: string
  knowledgePrompt: string
  wallpaperText: string
  imagePath: string
  showSeconds: boolean
  ainewsCard: boolean
  photoDir: string
  photoInterval: number
  photoCard: boolean
  photoFrameMode: boolean
  autoStart: boolean
  audioVizStyle: string
  audioSensitivity: number
  audioSmoothing: number
  audioColorScheme: string
}

export interface BingState {
  date: string
  title: string
  copyright: string
  url: string
  fav: boolean
  idx: number
  total: number
}
