// Users 👤 
type RoleId = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11;

type RoleNombre =
  | "Participante"
  | "Representante región"
  | "Manejador(a) de caso"
  | "Asistente de programa"
  | "Directora/Director"
  | "Auditor"
  | "Gerente"
  | "Administrador"
  | "Director(a) Ejecutivo";

  type RegionCodigo =
  | "I"
  | "II"
  | "III"
  | "IV"
  | "V"
  | "VI"
  | "NA";

type UserType = {
  rolesId: RoleId;
  nombre: RoleNombre;
  descripcion: string | null;
  creadoEn: string | null;
  creadoPor: number;
  actualizadoEn: string;
  actualizadoPor: number;
  cognitoGrupos: number;
  casos: any[]; // WIP 👷‍♂️
  usuarios: any[]; // WIP 👷‍♂️
  id: number;
  name: RoleNombre;
};

// Regions 🗺️ 
type NombreRegion =
  | "NORTE I"
  | "NORTE II"
  | "OESTE III"
  | "SUR IV"
  | "CENTRAL V"
  | "ESTE VI"
  | "MUNICIPIO NO ASOCIADO";

type RegionId = 1 | 2 | 3 | 4 | 5 | 6 | 7;

export type RegionType = {
  regionId: RegionId;
  nombre: NombreRegion;
  regionCodigo: RegionCodigo;
  creadoEn: string;
  creadoPor: number;
  actualizadoEn: string;
  actualizadoPor: number;
  activo: 1 | 0;
  prMunicipiosTemps: any[]; // WIP 👷‍♂️
  solicitudes: any[]; // WIP 👷‍♂️
  usuarios: any[]; // WIP 👷‍♂️
  id: RegionId;
  name: NombreRegion;
};

// Patronos 👨‍💼 
export type Patrono = { // WIP 👷‍♂️
  patronoId: number;
  insecVendorId: number | null;
  name: string;
  insecEstatus: number | null;
  patronoEstatus: number;
  direccion1: string;
  direccion2: string | null;
  ciudadPostal: string | null;
  municipio: number;
  estado: string | null;
  zipcode: string;
  telefono1: string;
  telefono2: string | null;
  creadoEn: string;
  creadoPor: number | null;
  actualizadoEn: string;
  actualizadoPor: number | null;
  presupuesto: number;
  contacto: string;
  email: string;
  ssPatronal: string;
  tipoEmpresa: number;
  descripcionEmpresa: string;
  tipoEmpresaNavigation: any | null; // Adjust this type according to the actual content type
  id: number;
};

// 🗺️ Location 
export type Municipio = {
  municipioId: number;
  municipio: string;
  insecRegion: number;
  creadoEn: string;
  creadoPor: null | string;
  actualizadoEn: string;
  actualizadoPor: null | string;
  prCiudadPostals: any[]; // Assuming this is an array of a certain type, you should replace 'any[]' with the actual type
  solicitudeDirpostalmunicipioNavigations: any[]; // Same as above, replace 'any[]' with the actual type
  solicitudeMunicipioNavigations: any[]; // Same as above, replace 'any[]' with the actual type
};

// 🗃️ Characterísticos
export type Characteristicos = {
  id: number;
  descripcion: string;
  activo: boolean;
  participantesOtrascaracteristicas: any[]; 
}
