import { STALE_CHUNK_RECOVERY_EXHAUSTED_EVENT } from "../shared/route-chunk-recovery-bootstrap.js"; export { STALE_CHUNK_RECOVERY_EXHAUSTED_EVENT }; export type StaleChunkRecoveryExhaustedReason = "cooldown" | "desktop" | "external-embed"; export interface StaleChunkRecoveryExhausted { reason: StaleChunkRecoveryExhaustedReason; } export interface RouteChunkRecoveryState { intendedHref: string | null; intendedAt: number; routeModuleFailureAt: number; recoveryHref: string | null; recovering: boolean; } export declare function createRouteChunkRecoveryState(): RouteChunkRecoveryState; export declare function isRouteModuleReloadMessage(value: unknown): boolean; export declare function isDynamicImportFailureMessage(value: unknown): boolean; export declare function rememberIntendedNavigation(state: RouteChunkRecoveryState, href: string, now?: number): void; /** Preserve router-driven targets whose route module fails before history commits. */ export declare function rememberRouteChunkRecoveryNavigation(href: string, win?: Window | undefined): void; export declare function getFreshIntendedNavigation(state: RouteChunkRecoveryState, currentHref: string, now?: number): string | null; export declare function intendedHrefFromClick(win: Window, event: MouseEvent): string | null; /** The recorded exhaustion for this page session, if recovery ever gave up. */ export declare function readStaleChunkRecoveryExhausted(win?: Window | undefined): StaleChunkRecoveryExhausted | undefined; export declare function reloadForStaleChunk(win?: Window | undefined, now?: number): boolean; export declare function recoverFromStaleChunkError(error: unknown, win?: Window | undefined): boolean; export declare function installRouteChunkRecovery(win?: Window | undefined): void;