import { HttpInterceptorFn } from '@angular/common/http'; /** * Interceptor HTTP de observabilidad (Capa 1 del estándar de manejo de errores). * * Para CADA respuesta HTTP con error: * 1. Normaliza el error con `interpretError`. * 2. Loguea un evento estructurado a consola con el prefijo `[HTTP]`. * 3. Reporta el error a Firebase Analytics (`source: 'http'`), si hay analytics. * * **NO traga el error** — lo re-lanza tal cual. Las páginas y servicios siguen * recibiendo el error en su `catch` / `catchError` y deciden la UX (eso es * Capa 3: `ValtechErrorService`). * * `AnalyticsService` se inyecta `@Optional()` — apps sin Firebase Analytics * igual obtienen el log estructurado a consola. * * Decisión sobre 401: **se saltea** del tracking de Analytics. Un 401 es el * disparador normal del flujo de refresh de token del `authInterceptor`; el * token se renueva y la request se reintenta de forma transparente. Trackear * cada 401 inundaría Analytics de ruido (cada sesión genera varios al expirar * el access token). El 401 SÍ se loguea a consola (nivel `info`, no `error`) * para no perder la traza en debugging local, pero no se reporta como error. * * Se registra vía {@link provideValtechErrorHandling}. */ export declare const errorLoggingInterceptor: HttpInterceptorFn;