import { Signal } from '@angular/core'; import { AppVersionStatus } from './types'; import * as i0 from "@angular/core"; export declare class AppVersionService { /** SwUpdate solo existe si el SW está registrado (prod build). */ private readonly swUpdate; /** AppConfigService es opcional: la app puede no wirearlo. */ private readonly appConfig; private readonly serviceConfig; private readonly document; private readonly destroyRef; /** True cuando el SW reportó un bundle nuevo listo (`VERSION_READY`). */ private readonly swUpdateReady; /** * True cuando el usuario descartó el banner de actualización opcional. * El banner obligatorio (`update-required`) ignora este flag. */ private readonly _dismissed; readonly dismissed: Signal; /** * Versión local del build actual de la app. * Proviene del provider `provideValtechAppVersion({ currentVersion })`. */ readonly currentVersion: Signal; /** * Última versión publicada según el config remoto. * `null` si `AppConfigService` no está disponible o aún no cargó. */ readonly latestVersion: Signal; /** * Estado de la versión: * - `update-required` — la versión local quedó por debajo de `minVersion` * del config remoto. Hard gate. Solo si `AppConfigService` tiene datos. * - `update-available` — el SW descargó un bundle nuevo (`VERSION_READY`) * o `AppConfigService.hasUpdate` es true. * - `up-to-date` — en cualquier otro caso. */ readonly status: Signal; constructor(); /** * Aplica la actualización pendiente. * * Si el SW está habilitado, activa la versión descargada y recarga; si no, * solo recarga la página (la web obtiene el bundle nuevo del servidor). */ applyUpdate(): Promise; /** * Descarta el banner de actualización opcional. * No tiene efecto sobre el estado `update-required` (hard gate). */ dismiss(): void; /** * Fuerza un chequeo de actualización del service worker. * No-op si el SW no está habilitado. */ checkNow(): Promise; /** * Suscribe `versionUpdates`, programa chequeos periódicos y reacciona al * volver la app a foreground. Solo actúa si el SW está habilitado. */ private wireServiceWorker; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }