import React from 'react'; import { type CacheEntry } from './suspense-resource-cache'; export type ModuleSsrRequest = { requestId: string; cache: Map>; }; /** * Провайдер per-request кэша серверного рендеринга модулей. * * Хост создаёт его на каждый HTTP-запрос с уникальным `requestId` (например, * `crypto.randomUUID()`) и передаёт `requestId` пропом — НЕ генерирует его внутри * рендера (Suspense throw→retry мог бы поменять его и сбросить кэш посередине рендера). * * Провайдер не рендерит DOM (оборачивает children без ноды), поэтому он * hydration-transparent: добавлять его нужно только в серверную точку входа хоста. * Кэш живёт в рамках запроса и умирает вместе с ним (GC). При смене `requestId` * кэш пересоздаётся. */ export declare function ModuleSsrRequestProvider({ requestId, children, }: { requestId: string; children?: React.ReactNode; }): React.JSX.Element; export declare function useModuleSsrRequestContext(): ModuleSsrRequest;