import type { PrerenderManifest } from "./manifests.js"; /** * Turns a prerendered value into one that varies per request. * * A value the build already prerendered is the one value guaranteed *not* to * measure anything: every request hits the same warm cache entry and the route * reads as flat no matter what it retains. That is a silent false negative, and * it lands on exactly the leaks being reported now — `use cache`, * `cacheComponents` and ISR all key on the params * (vercel/next.js#97938, #97776, #97424, #92287). * * The prerendered value is still the best hint available: it shows the shape * the app accepts. So the shape is kept and only the tail is made to move — * `post-0` becomes `post-{n}`, `seed` becomes `seed-{n}`. * * If the app answers 404 for params it never prerendered, the run says so * loudly through its non-2xx count. A noisy 404 is a far better outcome than a * quiet `stable`. */ export declare function varyingValueFrom(prerendered: string): string; /** * Sample values lifted from paths the build actually prerendered. * * A skeleton full of placeholders still leaves the user guessing what a valid * value looks like. The build already knows: `prerender-manifest.json` lists * concrete paths, each pointing back at its template through `srcRoute`, so a * template like `/posts/[slug]` can be filled with a real `post-0` that will * resolve on the first try. */ export declare function sampleValuesFromManifest(manifest: PrerenderManifest | undefined, routeTemplate: string): Record | null; /** * The `next-leak.config.json` that would measure the routes a run had to skip. * * Printed rather than merely referenced: telling someone a config file exists * and leaving them to work out its shape is the difference between a run they * can fix in ten seconds and one they abandon. */ export declare function renderConfigSkeleton(routeTemplates: readonly string[], manifest?: PrerenderManifest | undefined): string | null; /** Whether a rendered skeleton still needs the user to fill anything in. */ export declare function hasPlaceholders(skeleton: string): boolean;