declare namespace DealAPI {
  //获取待办理操作项
  interface TodoListOptions {
    optionCode: string;
    optionName: string;
    countNum: string;
  }

  interface PageParmas {
    page: number;
    count: number;
  }

  interface ListReq {
    caseStatus: string;
    searchKeyword?: string;
  }

  interface ProcessreqListReq {
    operation: string;
    searchKeyword?: string;
  }
  interface EventDto {
    address: string;
    dealOverdue: string;
    deptCode: string;
    deptName: string;
    disposeDeadline: string;
    disposePicPath: string;
    eventCollectionMode: string;
    eventId: string;
    eventStatus: string;
    eventStatusName: string;
    eventUpdateTime: string;
    extendAddress: string;
    extendClass: string;
    informantId: string;
    informantName: string;
    informantPhone: string;
    informantUnitId: string;
    informantUnitName: string;
    lastCirculationId: string;
    limitTimeText: string;
    plannedCompletionTime: string;
    remainingTimeText: string;
    reportTime: string;
    standardEventContent: string;
    standardEventTitle: string;
    timeDescription: string;
    undone: false;
    eventStatusColor: string;
  }

  interface DeptOptions {
    unitType: string;
    unitName: string;
    id: string;
  }

  interface DealCaseProcessDto {
    id: string;
    mainId: string;
    operation: string;
    operationCode: string;
    remarks: string;
    dept: string;
    deptCode: string;
    nextPerson: string;
    nextPersonId: string;
    nextHandleRoles: string;
    nextHandleRolesCode: string;
    mId: string;
    nextPhone: string;
  }
  interface BtnOperateDto {
    operationId: string;
    nodeId: string;
    operationCode: string;
    operationName: string;
    operationRemarks: string;
    operationToStatus: string;
    buttonColor: string;
    buttonIcon: string;
    operationType: string;
    identifier: string;
    previousStateOperation: string;
    shortcutPhrase: string;
  }

  interface GroupStatistics {
    count: number;
    deptStatisticsDTOs: {
      deptId: string | number;
      name: string;
      status: string;
      count: number;
    }[];
    name: string;
  }

  interface DeptGroupStatisticsDto {
    total: number;
    list: GroupStatistics[];
  }

  interface AddHandlingDeptReq {
    id: string;
    unitName: string;
    parentCode: string;
    unitType: 1 | 2; //单位类型（1中心单位 2处置单位）
    deptBelongType: stringstring;
  }

  interface ConditionOptionsDto {
    caseClosureCriteria: string;
    id: string;
  }

  interface UserOptions {
    dept: string;
    deptCode: string;
    id: string;
    username: string;
  }

  interface SubDeptDto {
    id: string;
    pid: string;
    title: string;
    children: SubDeptDto[];
  }

  interface SupervisionUserDto {
    directSingleSupervision: {
      avatar: string;
      deptName: string;
      personName: string;
      signTimeText: string;
      positionName: string;
    };
    directSingleSupervisions: {
      avatar: string;
      deptName: string;
      personName: string;
      supervision: string;
      supervisionLevel: string;
      supervisionLevelText: string;
      supervisionStatus: string;
      supervisionTime?: string;
    };
  }

  interface PersonItem {
    position: ReactNode;
    department: string;
    departmentId: string;
    memberId: string;
    memberName: string;
    phone: string;
    positionId: string;
  }

  interface SupervisionDealDto {
    disposePersons: PersonItem[];
    supervisingPersonnelInformation: PersonItem[];
  }

  interface DisposalStatusInfoDto {
    caseStatus: string;
    caseStatusDes: string;
    overdue: string;
    doTimeText: string;
    remainingTimeText: string;
    timeProgress: string;
  }
}
