export interface PWAUpdateToastProps { /** * Force the toast on/off. Omit to let the component listen for * `burdenoff:pwaUpdateReady` itself (e.g. pass `usePWA().hasUpdate` when the * shell already owns a `usePWA()` instance). */ hasUpdate?: boolean; message?: string; actionLabel?: string; /** Override the reload action (default: `window.location.reload()`). */ onReload?: () => void; className?: string; } /** * PWAUpdateToast — persistent "Update ready" snackbar for installed PWAs. * * Self-contained on purpose: it needs no provider and does NOT call `usePWA()` * (which registers/polls the service worker — a second instance would duplicate * that work). It listens for the shell-native `burdenoff:pwaUpdateReady` event, * or renders from the `hasUpdate` prop when the shell already has a `usePWA()`. * * Shells mount it once, near the root: * ```tsx * * ``` * `AppShellProvider` shells already get an update banner from * `PWAInstallBanner`; mount this only in shells that don't use that provider, * or that want the snackbar treatment instead. * * DOM contract: `[data-pwa-update-toast]`, safe-area aware, sits above the * mobile tab bar via `--mobile-tabbar-height`. */ export declare function PWAUpdateToast({ hasUpdate, message, actionLabel, onReload, className, }: PWAUpdateToastProps): import("react/jsx-runtime").JSX.Element | null; //# sourceMappingURL=pwa-update-toast.d.ts.map