// =============================================================================
// 企微IT智能服务台 — H5用户端排查模板类型定义
// =============================================================================
// 说明：与坐席端 troubleshooting.ts 共享的类型定义
// H5 端暂不直接调用排查模板 API（数据通过 WebSocket 从坐席端推送），
// 但需要 FlowchartNode 等类型来渲染交互式排查流程
// =============================================================================

/** 排查步骤路径节点 */
export interface PathStep {
  /** 步骤标题 */
  label: string
  /** 步骤状态: done / current / pending */
  status: 'done' | 'current' | 'pending'
}

/** 决策树递归节点 */
export interface FlowchartNode {
  /** 节点唯一标识 */
  id: string
  /** 节点类型: step（步骤/操作）/ decision（判断/问答） */
  type: 'step' | 'decision'
  /** 节点标签文字 */
  label: string
  /** 节点状态: done / current / pending */
  status?: 'done' | 'current' | 'pending'
  /** 子节点列表（step 类型） */
  children?: FlowchartNode[]
  /** "是" 分支（decision 类型） */
  yes_branch?: FlowchartNode
  /** "否" 分支（decision 类型） */
  no_branch?: FlowchartNode
}

/** 排查模板摘要（WebSocket 推送时使用） */
export interface TroubleshootingTemplateSummary {
  /** 模板唯一标识 */
  id: string
  /** 模板名称 */
  name: string
  /** 分类 */
  category: string
  /** 排障步骤路径 */
  path_steps: PathStep[]
  /** 流程图定义 */
  flowchart: FlowchartNode
}
