import type { Router } from "../../router";
import type { unstable_PatchRoutesOnMissFunction } from "../../components";
import type { AssetsManifest } from "./entry";
import type { RouteModules } from "./routeModules";
declare global {
    interface Navigator {
        connection?: {
            saveData: boolean;
        };
    }
}
type FogOfWarInfo = {
    nextPaths: Set<string>;
    knownGoodPaths: Set<string>;
    known404Paths: Set<string>;
};
export declare function isFogOfWarEnabled(isSpaMode: boolean): boolean;
export declare function getPartialManifest(manifest: AssetsManifest, router: Router): {
    routes: {};
    entry: {
        imports: string[];
        module: string;
    };
    url: string;
    version: string;
    hmr?: {
        timestamp?: number | undefined;
        runtime: string;
    } | undefined;
};
export declare function initFogOfWar(manifest: AssetsManifest, routeModules: RouteModules, isSpaMode: boolean, basename: string | undefined): {
    enabled: boolean;
    patchRoutesOnMiss?: unstable_PatchRoutesOnMissFunction;
};
export declare function useFogOFWarDiscovery(router: Router, manifest: AssetsManifest, routeModules: RouteModules, isSpaMode: boolean): void;
export declare function fetchAndApplyManifestPatches(paths: string[], _fogOfWar: FogOfWarInfo, manifest: AssetsManifest, routeModules: RouteModules, isSpaMode: boolean, basename: string | undefined, patchRoutes: Router["patchRoutes"]): Promise<void>;
export {};
