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
 * <val-update-banner />
 * ```
 */
export declare class UpdateBannerComponent {
    private readonly version;
    private readonly i18n;
    /**
     * True cuando el banner está en modo obligatorio (hard gate, no descartable).
     */
    readonly required: import("@angular/core").Signal<boolean>;
    /**
     * 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<boolean>;
    /**
     * 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;
    }>;
    /** 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<UpdateBannerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<UpdateBannerComponent, "val-update-banner", never, {}, {}, never, never, true, never>;
}
