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