import React from 'react'; type PrerenderDataKeyPart = string | number | boolean; /** * Identifies a piece of prerender data. Either a plain string (used as-is — handy for a URL + * query string, e.g. `"/cities?offset=20"`) or an array of `string` / `number` / `boolean` * segments (e.g. `["cities", offset]`) which are joined with `:`. Define it once and reuse the * same key for {@link usePrerenderData}, your data library, and {@link useHydrateData}. */ type PrerenderDataKey = string | readonly PrerenderDataKeyPart[]; type PrerenderDataMode = "collect" | "seeded"; type PrerenderDataProviderProps = { mode: PrerenderDataMode; data: Record; children?: React.ReactNode; }; /** * Prerender data context for `useSuspenseData`, `usePrerenderData`, and `useHydrateData`. * * - **`mode: "collect"`** — prerender: loaders / hydrate writes populate `data` for * `ServerPrerenderResult.data`. * - **`mode: "seeded"`** — client: pre-populated `data` from prerender; missing keys share * one in-memory resource cache per provider (see `useSuspenseData` JSDoc). */ declare function PrerenderDataProvider({ mode, data, children, }: PrerenderDataProviderProps): React.JSX.Element; export { type PrerenderDataKey as P, type PrerenderDataMode as a, PrerenderDataProvider as b, type PrerenderDataProviderProps as c };