import * as i0 from "@angular/core"; /** * val-update-banner * * Avisa al usuario de una versión nueva. Colócalo una sola vez, alto en el * árbol de la app (p.ej. en `app.component` por encima del router outlet) * para que sea visible en cualquier ruta. * * @example * ```html * * ``` */ export declare class UpdateBannerComponent { private readonly version; private readonly i18n; constructor(); /** * True cuando el banner está en modo obligatorio (hard gate, no descartable). */ readonly required: import("@angular/core").Signal; /** * True cuando el banner debe renderizarse: * - siempre que el estado sea `update-required`, o * - si es `update-available` y el usuario no lo descartó. */ readonly visible: import("@angular/core").Signal; /** * Textos resolvidos del banner. Reactivo a idioma y al estado required. * Usa el namespace `UpdateBanner` de `I18nService` con fallback embebido. */ readonly t: import("@angular/core").Signal<{ title: string; message: string; updateAction: string; dismissAction: string; }>; /** * Feedback visual mientras se aplica el update. El botón pasa a estado * WORKING (spinner) y se bloquean nuevos taps. `applyUpdate()` siempre * recarga la página al terminar (try/finally), así que NO reseteamos este * flag: queda en true hasta que el reload reemplaza la app. */ readonly applying: import("@angular/core").WritableSignal; /** Aplica la actualización (activa el SW si existe + recarga). */ onUpdate(): void; /** Descarta el banner opcional. No-op en modo obligatorio. */ onDismiss(): void; /** * Resuelve una key i18n del namespace `UpdateBanner` con fallback al * contenido por defecto embebido (es / en / pt). */ private tr; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }