/** Tipos de la bandeja de alertas de empresa. Ver docs/plan-alertas-empresa.md. */

export type CriticidadAlerta = 'alta' | 'media' | 'baja';
export type ResolucionAlerta = 'auto' | 'manual' | 'liberada';
export type OrigenAlerta = 'sistema' | 'regla' | 'ia';

export const ORDEN_CRITICIDAD: Record<string, number> = { alta: 0, media: 1, baja: 2 };

export interface RegistrarAlertaInput {
  empresaId: string;
  /** Deduplicación: una sola alerta abierta por (empresa, clave). */
  clave: string;
  tipo: string;
  criticidad: CriticidadAlerta;
  titulo: string;
  descripcion: string;
  accionSugerida?: string | null;
  modulo: string;
  privilegioRequerido?: string | null;
  ruta?: string | null;
  /** NULL = de toda la empresa. */
  sucursalId?: string | null;
  entidadTipo?: string | null;
  entidadId?: string | null;
  datos?: Record<string, unknown> | null;
  origen: OrigenAlerta;
}
