declare namespace Datav {
  interface BoardInfo {
    lineId: number;
    year: number;
    currentDate: string;
    consecutiveSafeDays: number;
    riskPointList: Knowledge.RiskItem[];
    stationRiskPointIdListMap: {
      [key: string]: number[];
    };
    troubleList: Hazard.HazardDto[];
    stationTroubleIdListMap: {
      [key: string]: number[];
    };
    // 隐患治理临期
    // troubleResolveAdventNumber: number;
    // 隐患排查计划临期
    // troubleshootResolveAdventNumber: number;
  }

  interface HazardInfoDto {
    notStarted: number;
    inProgress: number;
    completed: number;
    total: number;
  }
  interface HazardDurationInfo {
    levelCTotal: number;
    levelCInfo: HazardInfoDto;
    levelBTotal: number;
    levelBInfo: HazardInfoDto;
    levelATotal: number;
    levelAInfo: HazardInfoDto;
    levelImportantTotal: number;
    levelImportantInfo: HazardInfoDto;
    total: number;
  }

  interface PlanDurationInfo {
    /** 未制定排查任务数量 */
    unformulated: number;
    /** 未制定排查任务百分比 */
    unformulatedPercentage: string;
    /** 已制定但未下发排查任务数量 */
    unissued: number;
    /** 已制定但未下发排查任务百分比 */
    unissuedPercentage: string;
    /** 已下发但未开展排查任务数量 */
    uninitiated: number;
    /** 已下发但未开展排查任务百分比 */
    uninitiatedPercentage: string;
    /** 已开展排查任务数量 */
    initiated: number;
    /** 已开展排查任务百分比 */
    initiatedPercentage: string;
    /** 已结束排查任务数量 */
    completed: number;
    /** 已结束排查任务百分比 */
    completedPercentage: string;
    /** 排查任务总数 */
    total: number;
  }
  interface HazardStatisticsData {
    /** 隐患治理临期 */
    troubleResolveAdventNumber: number;
    /** 隐患排查计划临期 */
    troubleshootResolveAdventNumber: number;
    troubleResolveInfo: HazardDurationInfo;
    troubleshootResolveInfo: PlanDurationInfo;
  }

  interface GetAccidentsParams {
    page: number;
    size: number;
  }

  interface Accident {
    id: number;
    // name: string;
    // time: string;
    // scene: string;
    // description: string;
    // consequence: string;
    // result: string;
    // line: number | undefined;
    // station: number | undefined;
    // endStation: number | undefined;
    // other: string;

    title: string;
    accidentDate: string;
    positionType: string;
    line: number;
    position: number;
    positionNext: number;
    positionOther: string;
    content: string;
    consequence: string;
    disposalResult: string;
  }
}
