export interface ArStepVO {
  /**
   * 步骤ID
   */
  id: string | number;

  /**
   * 所属任务ID
   */
  taskId: string | number;

  /**
   * 父步骤ID(0表示根节点)
   */
  parentId: string | number;

  /**
   * 祖级列表
   */
  ancestors: string;

  /**
   * 步骤名称
   */
  stepName: string;

  /**
   * 步骤内容
   */
  stepContent: string;

  /**
   * 内容语音URL
   */
  contentVoice: string;

  /**
   * 显示顺序
   */
  orderNum: number;

  /**
   * 关联点位ID
   */
  pointId: string | number;

  /**
   * 关联点位名称
   */
  pointName?: string;

  /**
   * 是否需要语音播报(0否 1是)
   */
  needVoiceRead: string;

  /**
   * 是否需要复述(0否 1是)
   */
  needVoiceRephrase: string;

  /**
   * 复述内容
   */
  rephraseContent: string;

  /**
   * 复述语音URL
   */
  rephraseVoice: string;

  /**
   * 是否需要语音确认(0否 1是)
   */
  needVoiceConfirm: string;

  /**
   * 确认内容
   */
  confirmContent: string;

  /**
   * 确认语音URL
   */
  confirmVoice: string;

  /**
   * 确认关键词
   */
  confirmWord: string;

  /**
   * 是否需要AI识别(0否 1是)
   */
  needAi: string;

  /**
   * AI识别目标名称
   */
  aiTargetName: string;

  /**
   * AI配置数据(JSON格式)
   */
  aiData: Record<string, any> | string;

  /**
   * 是否需要操作(0否 1是)
   */
  isOperation: string;

  /**
   * 是否叶子节点(0否 1是)
   */
  isLeaf: string;

  /**
   * 子节点列表(用于树形结构)
   */
  children?: ArStepVO[];
}

export interface ArStepForm extends BaseEntity {
  /**
   * 步骤ID
   */
  id?: string | number;

  /**
   * 所属任务ID
   */
  taskId?: string | number;

  /**
   * 父步骤ID(0表示根节点)
   */
  parentId?: string | number;

  /**
   * 步骤名称
   */
  stepName?: string;

  /**
   * 步骤内容
   */
  stepContent?: string;

  /**
   * 内容语音URL
   */
  contentVoice?: string;

  /**
   * 显示顺序
   */
  orderNum?: number;

  /**
   * 关联点位ID
   */
  pointId?: string | number;

  /**
   * 是否需要语音播报(0否 1是)
   */
  needVoiceRead?: string;

  /**
   * 是否需要复述(0否 1是)
   */
  needVoiceRephrase?: string;

  /**
   * 复述内容
   */
  rephraseContent?: string;

  /**
   * 复述语音URL
   */
  rephraseVoice?: string;

  /**
   * 是否需要语音确认(0否 1是)
   */
  needVoiceConfirm?: string;

  /**
   * 确认内容
   */
  confirmContent?: string;

  /**
   * 确认语音URL
   */
  confirmVoice?: string;

  /**
   * 确认关键词
   */
  confirmWord?: string;

  /**
   * 是否需要AI识别(0否 1是)
   */
  needAi?: string;

  /**
   * AI识别目标名称
   */
  aiTargetName?: string;

  /**
   * AI配置数据(JSON格式)
   */
  aiData?: Record<string, any> | string;

  /**
   * 是否需要操作(0否 1是)
   */
  isOperation?: string;
}

export interface ArStepQuery {
  /**
   * 所属任务ID
   */
  taskId?: string | number;

  /**
   * 父步骤ID
   */
  parentId?: string | number;

  /**
   * 步骤名称
   */
  stepName?: string;

  /**
   * 关联点位ID
   */
  pointId?: string | number;
}
