import { type PageSearchParams } from "@evjs/shared"; import { type ComponentType } from "react"; import type { PageProps } from "./page-context.js"; import type { PageRouteLoaderData, PageRouteParams, PageRoutePath, PageRouteSearch } from "./route-types.js"; interface RscPageRuntime { buildId: string; routing: { kind: "spa"; routes: Array<{ id: string; path: string; pageId?: string; }>; } | { kind: "mpa"; pages: Record; }; rsc?: { clientReferenceManifest?: Record; }; } export interface RscPageFlightRenderContext { runtime: RscPageRuntime; pageId?: string; pageUrl?: string; request: Request; } export declare function runPageContext(value: PageProps, render: () => T): T; export declare function createRscPageFlightRenderer(Component: ComponentType>): (ctx: RscPageFlightRenderContext) => Promise; export declare function usePageContext(path: TPath): PageProps, PageRouteSearch, PageRouteLoaderData>; export declare function usePageContext = Record, TSearch extends Record = PageSearchParams, TLoaderData = unknown>(): PageProps; export declare function usePageParams(path: TPath): PageRouteParams; export declare function usePageParams = Record>(): TParams; export declare function usePageSearch(path: TPath): PageRouteSearch; export declare function usePageSearch = PageSearchParams>(): TSearch; export declare function usePageLoaderData(path: TPath): PageRouteLoaderData; export declare function usePageLoaderData(): TLoaderData; export {}; //# sourceMappingURL=rsc-page-context.d.ts.map