import { default as React } from 'react'; import { UISchema, EventAction } from '../types'; import { ComponentRegistry } from './component-registry'; /** * Event handler callback type */ export type EventHandler = (action: EventAction, event: React.SyntheticEvent, componentId: string) => void; /** * Render options for customizing rendering behavior */ export interface RenderOptions { /** Component registry to use (defaults to defaultRegistry) */ registry?: ComponentRegistry; /** Event handler callback */ onEvent?: EventHandler; /** Custom component for unknown types */ unknownComponent?: React.ComponentType<{ type: string; id: string; }>; /** Whether to show error boundaries */ showErrors?: boolean; } /** * Render a UISchema to React elements * * @param schema - The UISchema to render * @param options - Render options * @returns React element tree */ export declare function render(schema: UISchema, options?: RenderOptions): React.ReactNode; /** * React component wrapper for rendering UISchema */ export interface UIRendererProps { /** The UISchema to render */ schema: UISchema; /** Component registry to use */ registry?: ComponentRegistry; /** Event handler callback */ onEvent?: EventHandler; /** Custom component for unknown types */ unknownComponent?: React.ComponentType<{ type: string; id: string; }>; /** Whether to show error boundaries */ showErrors?: boolean; } /** * UIRenderer component - renders a UISchema as React components */ export declare const UIRenderer: React.FC; /** * Hook for using the renderer with state management */ export declare function useRenderer(schema: UISchema, options?: RenderOptions): { rendered: React.ReactNode; handleEvent: EventHandler; }; /** * Extract the pure schema structure without framework-specific code * This demonstrates that the schema is framework-agnostic * * @param schema - The UISchema * @returns A plain object representation of the schema */ export declare function extractPureSchema(schema: UISchema): object; //# sourceMappingURL=renderer.d.ts.map