//#region src/utils/cache-control-metadata.d.ts
declare function readCacheControlNumberField(ctx: Record<string, unknown> | undefined, field: string): number | undefined;
declare function readCacheControlRevalidateField(ctx: Record<string, unknown> | undefined): number | false | undefined;
/**
 * Client-reuse seconds from a resolved `cacheLife`. Shared by every emitter
 * (ISR write, hit replay, prerender seed, done-script) so warm hits claim what
 * the producing render claimed. Two rules: never synthesize `stale` from
 * `revalidate`/`expire` (the `default` profile would license ~136y of reuse),
 * and never clamp it by them (Next.js replays the stored value verbatim;
 * `expire` is a serve-side ceiling, not a client bound). A literal `stale: 0`
 * is still a real client claim; it must not be treated as absent.
 */
declare function resolveClientStaleTimeSeconds(cacheLife: {
  stale?: number;
} | null | undefined): number | undefined;
//#endregion
export { readCacheControlNumberField, readCacheControlRevalidateField, resolveClientStaleTimeSeconds };