// src/types/index.ts

export interface AgrupacionPolitica {
  id: string;
  idTelegrama: string;
  nombre: string;
  nombreCorto: string | null;
  color: string | null;
  ordenDiputados: number | null;
  ordenSenadores: number | null;
}

export interface UpdateAgrupacionData {
    nombreCorto: string | null;
    color: string | null;
}

export const TipoCamara = {
  Diputados: 0,
  Senadores: 1,
} as const;

export type TipoCamaraValue = typeof TipoCamara[keyof typeof TipoCamara];

export interface OcupanteBanca {
  id: number;
  bancadaId: number;
  nombreOcupante: string;
  fotoUrl: string | null;
  periodo: string | null;
}

// Nueva interfaz para la Bancada
export interface Bancada {
  id: number;
  camara: TipoCamaraValue;
  numeroBanca: number;
  agrupacionPoliticaId: string | null;
  agrupacionPolitica: AgrupacionPolitica | null;
  ocupante: OcupanteBanca | null;
}

export interface LogoAgrupacionCategoria {
    id: number;
    agrupacionPoliticaId: string;
    categoriaId: number;
    logoUrl: string | null;
    ambitoGeograficoId: number | null;
}

export interface MunicipioSimple { id: string; nombre: string; }