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;
