import { type ServiceWorkerStatus } from "../services/register-sw";
interface ServiceWorkerContextValue {
    status: ServiceWorkerStatus;
    applyUpdate: () => void;
    clearCache: () => void;
    refreshCacheStatus: () => Promise<Record<string, number> | null>;
    checkNetworkNow: () => Promise<boolean>;
}
export declare function useServiceWorker(): ServiceWorkerContextValue;
interface ServiceWorkerProviderProps {
    children: React.ReactNode;
    /**
     * Base path used when registering the service worker. The SW is fetched
     * from `${basePath}/sw.js` and scoped to `basePath || '/'`. Pass the
     * host app's bundler-resolved base path (e.g. Next.js's
     * `process.env.NEXT_PUBLIC_BASE_PATH`). Defaults to '' (root).
     */
    basePath?: string;
}
export declare function ServiceWorkerProvider({ children, basePath, }: ServiceWorkerProviderProps): import("react/jsx-runtime").JSX.Element;
export {};
