import { SatoriOptions } from 'satori'; import { UIElement, Spec } from '@json-render/core'; import { ReactNode, ComponentType } from 'react'; interface ComponentRenderProps

> { element: UIElement; children?: ReactNode; emit: (event: string) => void; } type ComponentRenderer

> = ComponentType>; type ComponentRegistry = Record>; declare const standardComponents: ComponentRegistry; interface RenderOptions { registry?: ComponentRegistry; includeStandard?: boolean; state?: Record; fonts?: SatoriOptions["fonts"]; /** Override the Frame width. When omitted, uses the Frame component's width prop. */ width?: number; /** Override the Frame height. When omitted, uses the Frame component's height prop. */ height?: number; } /** * Render a json-render spec to an SVG string. * * Uses Satori to convert the spec's component tree into SVG. * No additional dependencies are needed beyond satori. */ declare function renderToSvg(spec: Spec, options?: RenderOptions): Promise; /** * Render a json-render spec to a PNG buffer. * * Requires `@resvg/resvg-js` to be installed as a peer dependency. * The SVG is first generated via Satori, then rasterized to PNG. */ declare function renderToPng(spec: Spec, options?: RenderOptions): Promise; export { type ComponentRenderProps as C, type RenderOptions as R, type ComponentRenderer as a, type ComponentRegistry as b, renderToPng as c, renderToSvg as r, standardComponents as s };