/**
 * 轮询监控相关类型定义
 */

/**
 * 轮询总览统计对象
 */
export interface PollingOverviewStats {
  /** 总卡数 */
  total_cards: number
  /** 已初始化卡数 */
  initialized_cards: number
  /** 是否正在初始化 */
  is_initializing: boolean
  /** 初始化进度（0-100） */
  init_progress: number
  /** 实名检查队列大小 */
  realname_queue_size: number
  /** 套餐检查队列大小 */
  package_queue_size: number
  /** 流量检查队列大小 */
  carddata_queue_size: number
}

/**
 * 轮询初始化进度对象
 */
export interface PollingInitProgress {
  /** 总卡数 */
  total_cards: number
  /** 已初始化卡数 */
  initialized_cards: number
  /** 进度百分比（0-100） */
  progress: number
  /** 是否完成 */
  is_complete: boolean
  /** 开始时间 */
  started_at: string
  /** 预计完成时间 */
  estimated_eta: string
}

/**
 * 轮询队列状态对象
 */
export interface PollingQueueStatus {
  /** 任务类型 */
  task_type: string
  /** 任务类型名称 */
  task_type_name: string
  /** 队列大小 */
  queue_size: number
  /** 到期待处理数 */
  due_count: number
  /** 手动触发待处理数 */
  manual_pending: number
  /** 平均等待时间（秒） */
  avg_wait_time_s: number
}

/**
 * 队列状态列表响应
 */
export interface PollingQueueStatusResponse {
  /** 队列状态列表 */
  items: PollingQueueStatus[]
}

/**
 * 轮询任务统计对象
 */
export interface PollingTaskStats {
  /** 任务类型 */
  task_type: string
  /** 任务类型名称 */
  task_type_name: string
  /** 1小时总数 */
  total_count_1h: number
  /** 1小时成功数 */
  success_count_1h: number
  /** 1小时失败数 */
  failure_count_1h: number
  /** 成功率（0-100） */
  success_rate: number
  /** 平均耗时（毫秒） */
  avg_duration_ms: number
}

/**
 * 任务统计列表响应
 */
export interface PollingTaskStatsResponse {
  /** 任务统计列表 */
  items: PollingTaskStats[]
}
