import { CounterLastMeasuresListItem } from "./counters-activators.interface";

export interface ControlPanelsListResponse{
  error: boolean;
  msg: string;
  response: ControlPanelsListItem[];
}

export interface ControlPanelsListItem{
  ID_PANEL: string;
  NOMBRE_PANEL: string;
  ORIENTACION: string;
  ESTADO: string;
  USRREG: string;
  FECREG: string;
  USRMOD: string | null;
  FECMOD: string | null;
  USUARIOS_RELACIONADOS: number;
}

export interface PanelCountersListResponse{
  error: boolean;
  msg: string;
  response: PanelCountersListItem[];
}

export interface PanelCountersListItem{
  ID_CONTADOR: string;
  CODIGO_EQUIPAMIENTO: string;
  ID_EQUIPAMIENTO: string;
  TIPO_EQUIPAMIENTO: string;
  MODELO_EQUIPAMIENTO: string;
  LAST_MEASURES: CounterLastMeasuresListItem[];
}

export interface ControlPanelDetailsResponse{
  error: boolean;
  msg: string;
  response: ControlPanelDetails;
}

export interface ControlPanelDetails{
  ID_PANEL: string;
  NOMBRE_PANEL: string;
  INDICADORES_RELACIONADOS: string;
  ORIENTACION: string;
  ESTADO: string;
  USRREG: string;
  FECREG: string;
  USRMOD: string | null;
  FECMOD: string | null;
}

export interface PanelElements{
  module: string;
  idElement: any;
}

export interface BroadcastListsResponse{
  error: boolean;
  msg: string;
  response: BroadcastListsItem[];
}

export interface BroadcastListsItem{
  ID_LISTA: string;
  NOMBRE_LISTA: string;
  ESTADO: string;
  USRREG: string;
  FECREG: string;
  USRMOD: string | null;
  FECMOD: string | null;
}

export interface BroadcastListDetailsResponse{
  error: boolean;
  msg: string;
  response: BroadcastListDetails;
}

export interface BroadcastListDetails{
  ID_LISTA: string;
  NOMBRE_LISTA: string;
  INTEGRANTES: string;
  INTEGRANTES_ARR?: BroadcastListUsers[];
  ESTADO: string;
  USRREG: string;
  FECREG: string;
  USRMOD: string | null;
  FECMOD: string | null;
}

export interface BroadcastListUsers{
  ID_USUARIO: string;
  NOMBRE_USUARIO: string;
  ID_PERFIL: string;
  NOMBRE_PERFIL: string;
}

export interface ProfileExportPermissionsListResponse{
  error: boolean;
  msg: string;
  response: ProfileExportPermissionsListItem[];
}

export interface ProfileExportPermissionsListItem{
  id: string;
  value: boolean;
}

export interface ExportableSpreadsheetsListResponse{
  error: boolean;
  msg: string;
  response: ModuleSpreadsheetsListItem[];
}

export interface ModuleSpreadsheetsListItem{
  module: string;
  moduleName?: string;
  spreadsheets: ExportableSpreadsheetsListItem[];
}

export interface ExportableSpreadsheetsListItem{
  id: string;
  name: string;
}