import { type ComponentType, type ReactNode } from 'react'; import { type CatalogOptions, type ComponentDefinition, type ComponentPresentation } from '../../../genui/index.js'; import type { GenuiRegistry } from './types.js'; export interface ReactComponentRenderers

{ react?: ComponentType

; text?: (props: P) => string | Promise; /** Return each page's complete props. Each page is validated again before SSR. */ paginate?: (props: P, rowsPerPage: number) => readonly P[] | Promise; } /** App-scoped registry shared by GenuiProvider and static server rendering. */ export declare function createReactComponentRegistry(options?: CatalogOptions): { readonly catalog: import("../../../genui/catalog.js").Catalog; readonly manifest: readonly import("../../../genui/registry.js").ComponentManifest[]; readonly components: GenuiRegistry; prepare: (presentation: ComponentPresentation) => Promise>>; render: (presentation: ComponentPresentation, channel: string) => Promise; register

(definition: ComponentDefinition

, renderers: ReactComponentRenderers

): /*elided*/ any; renderPages(presentation: ComponentPresentation, size: number): Promise; paginate(presentation: ComponentPresentation, size: number): Promise; }; export type ReactComponentRegistry = ReturnType; //# sourceMappingURL=react-registry.d.ts.map