export interface UpdatedStatusEmployee {
  EMPLOYEE_ID: string;
  SAVED_BY_USER: string;
  LINE_NUMBER: string;
}

export interface ResponseDataEmployee {
  error: boolean;
  msg: string;
  response: EmployeeInfo;
}

export interface ResponseDataEmployeeDocuments {
  error: boolean;
  msg: string;
  response: Array<DownoloadEmployeeDocument>;
}

export interface ResponseDataEmployeeInterventions {
  error: boolean;
  msg: string;
  response: Array<Interventions>;
}

export interface ResponseDataEmployeeContracts {
  error: boolean;
  msg: string;
  response: Array<Contract>;
}

export interface Contract {
  START_DATE: string,
  END_DATE: string,
  CONTRACT_COST: string,
}

export interface Interventions {
  IDORDEN: string,
  DESCRIPCION: string,
  TIPOORDEN: string
}

export interface Employee {
  EMPLOYEE_ID?: string;
  DOCUMENT_OFFICE: FormData | null,
  DOCUMENTS_AUTHO: Array<FormData> | null,
  DOCUMENTS_CERT: Array<FormData> | null,
  USER_ID: string;
  CONTACT_NAME: string;
  CONTACT_TELEPHONE: string;
  CONTACT_LADA: string;
  CONTACT_ADDRESS: string;
  CONTRACT_TYPE: string;
  SPECIALITY: string;
  SUBCONTRATIST_ID: number;
  SAVED_BY_USER: string;
  WORKTEAM_ID: string;
  LINE_NUMBER: number;
  DOCUMENTS?: Array<string>;
}

export interface EmployeeInfo {
  ID_EMPLOYEE: string;
  EMPLOYEE_NAME: string;
  USER_ID: string;
  WORKTEAM_ID: string | null;
  WORKTEAM_NAME: string | null;
  CONTRACT_TYPE: string;
  SUBCONTRATIST_ID: string | null;
  SUBCONTRATIST_NAME: string | null;
  TAX_REGIME: string | null;
  TAX_REGIME_DESCRIPTION: string | null;
  SPECIALITY: string;
  SPECIALITY_ARR?: string[];
  FOREIGNER: string;
  RFC: string | null;
  TAX_ID: string | null;
  COUNTRY: string;
  STATE: string;
  CITY: string | null;
  TOWN: string | null;
  SETTING: string;
  ZIP_CODE: string;
  STREET: string;
  EXTERIOR_NUMBER: number;
  INTERIOR_NUMBER: number | null;
  CONTACT_NAME: string;
  CONTACT_LADA: string;
  CONTACT_TELEPHONE: string;
  CONTACT_ADDRESS: string;
  DOCUMENTS: string;
  STATUS: string;
  USRREG: string;
  USRMOD: string | null;
  FECREG: string;
  FECMOD: string | null;
}

export interface DownoloadEmployeeInfo {
  SAVED_BY_USER: number;
  EMPLOYEE: any;
}

export interface DownoloadEmployeeDocument {
  DOCUMENT_LINK: string;
}

export interface FilesDocuments{
  index: number;
  file: any;
  type: string;
  update: string;
}

export interface EmployeesListResponse {
  error: boolean;
  msg: string;
  response: EmployeesListItem[];
}

export interface EmployeesListItem{
  ID_EMPLOYEE: string | string;
  NAME: string;
  CONTRACT_TYPE: string;
  ID_SUBCONTRATISTA: string | null;
  ID_USUARIO: string;
  SPECIALITY: string;
  SPECIALITY_ARR?: string[];
  TEAM_ID: string | null;
  TEAM_NAME: string | null;
  REGISTER_DATE: string;
  REGISTERED_BY_USER: string;
  UPDATE_DATE: string | null;
  UPDATED_BY_USER: string | null;
  STATUS: string;
}

export interface DataDialogFormScheduleActivity {
  typeForm: 'REG' | 'UPD';
  idEmployee: string;
  idActivity: string | null;
}

export interface ResponseDataGetActivityEmployee {
  error: boolean;
  msg: string;
  response: Array<ActivityEmployee>;
}

export interface ResponseDataActivityEmployee {
  error: boolean;
  msg: string;
  response: ActivityEmployee;
}

export interface ActivityEmployee {
  ID_ACTIVIDAD?: string | null;
  ID_EMPLEADO: string;
  ACTIVIDAD: string;
  CLASIFICACION: string;
  DESCRIPCION: string;
  TIPO_ACTIVIDAD: string;
  ID_ORDEN?: string;
  ID_ORDEN_PREVENTIVO?: string | null,
  ID_ORDEN_CORRECTIVO?: string | null,
  PERIODICIDAD: string;
  FECHA_INICIO: string;
  HORA_INICIO: string;
  FECHA_FINAL: string;
  HORA_FINAL: string;
  FECHA_FINAL_REAL?: string | null;
  HORA_FINAL_REAL?: string | null;
  PERIODICIDAD_PERSONALIZADA: string | null;
  COLOR: string;
  ESTADO?: string;
  FECHA_REGISTRA?: string;
  USUARIO_REGISTRA?: string;
  FECHA_MODIFICA?: string | null;
  USUARIO_MODIFICA?: string | null;
  USUARIO: string;
  NUMERO_LINEA: number;
}

export interface DeleteFormActivity {
  USUARIO: string;
  NUMERO_LINEA: number;
}