import type { CacheNodeSeedData, FlightRouterState, FlightSegmentPath } from '../../../shared/lib/app-router-types'; import type { CacheNode } from '../../../shared/lib/app-router-types'; import type { HeadData } from '../../../shared/lib/app-router-types'; export type NavigationTask = { status: NavigationTaskStatus; route: FlightRouterState; node: CacheNode; dynamicRequestTree: FlightRouterState | null; refreshUrl: string | null; children: Map | null; }; export declare const enum FreshnessPolicy { Default = 0, Hydration = 1, HistoryTraversal = 2, RefreshAll = 3, HMRRefresh = 4 } declare const enum NavigationTaskStatus { Pending = 0, Fulfilled = 1, Rejected = 2 } export type NavigationRequestAccumulation = { scrollableSegments: Array | null; separateRefreshUrls: Set | null; }; export declare function createInitialCacheNodeForHydration(navigatedAt: number, initialTree: FlightRouterState, seedData: CacheNodeSeedData | null, seedHead: HeadData): CacheNode; export declare function startPPRNavigation(navigatedAt: number, oldUrl: URL, oldCacheNode: CacheNode | null, oldRouterState: FlightRouterState, newRouterState: FlightRouterState, freshness: FreshnessPolicy, seedData: CacheNodeSeedData | null, seedHead: HeadData | null, prefetchData: CacheNodeSeedData | null, prefetchHead: HeadData | null, isPrefetchHeadPartial: boolean, isSamePageNavigation: boolean, accumulation: NavigationRequestAccumulation): NavigationTask | null; export declare function spawnDynamicRequests(task: NavigationTask, primaryUrl: URL, nextUrl: string | null, freshnessPolicy: FreshnessPolicy, accumulation: NavigationRequestAccumulation): void; type PendingDeferredRsc = Promise & { status: 'pending'; resolve: (value: T, debugInfo: Array | null) => void; reject: (error: any, debugInfo: Array | null) => void; tag: Symbol; _debugInfo: Array; }; type FulfilledDeferredRsc = Promise & { status: 'fulfilled'; value: T; resolve: (value: T, debugInfo: Array | null) => void; reject: (error: any, debugInfo: Array | null) => void; tag: Symbol; _debugInfo: Array; }; type RejectedDeferredRsc = Promise & { status: 'rejected'; reason: any; resolve: (value: T, debugInfo: Array | null) => void; reject: (error: any, debugInfo: Array | null) => void; tag: Symbol; _debugInfo: Array; }; type DeferredRsc = PendingDeferredRsc | FulfilledDeferredRsc | RejectedDeferredRsc; export declare function isDeferredRsc(value: any): value is DeferredRsc; export {};