import * as _json_render_core from '@json-render/core'; /** * The schema for @json-render/react * * Defines: * - Spec: A flat tree of elements with keys, types, props, and children references * - Catalog: Components with props schemas, and optional actions */ declare const schema: _json_render_core.Schema<{ spec: _json_render_core.SchemaType<"object", { /** Root element key */ root: _json_render_core.SchemaType<"string", unknown>; /** Flat map of elements by key */ elements: _json_render_core.SchemaType<"record", _json_render_core.SchemaType<"object", { /** Component type from catalog */ type: _json_render_core.SchemaType<"ref", string>; /** Component props */ props: _json_render_core.SchemaType<"propsOf", string>; /** Child element keys (flat reference) */ children: _json_render_core.SchemaType<"array", _json_render_core.SchemaType<"string", unknown>>; /** Visibility condition */ visible: _json_render_core.SchemaType<"any", unknown>; }>>; }>; catalog: _json_render_core.SchemaType<"object", { /** Component definitions */ components: _json_render_core.SchemaType<"map", { /** Zod schema for component props */ props: _json_render_core.SchemaType<"zod", unknown>; /** Slots for this component. Use ['default'] for children, or named slots like ['header', 'footer'] */ slots: _json_render_core.SchemaType<"array", _json_render_core.SchemaType<"string", unknown>>; /** Description for AI generation hints */ description: _json_render_core.SchemaType<"string", unknown>; /** Example prop values used in prompt examples (auto-generated from Zod schema if omitted) */ example: _json_render_core.SchemaType<"any", unknown>; }>; /** Action definitions (optional) */ actions: _json_render_core.SchemaType<"map", { /** Zod schema for action params */ params: _json_render_core.SchemaType<"zod", unknown>; /** Description for AI generation hints */ description: _json_render_core.SchemaType<"string", unknown>; }>; }>; }>; /** * Type for the React schema */ type ReactSchema = typeof schema; /** * Infer the spec type from a catalog */ type ReactSpec = typeof schema extends { createCatalog: (catalog: TCatalog) => { _specType: infer S; }; } ? S : never; /** @deprecated Use `schema` instead */ declare const elementTreeSchema: _json_render_core.Schema<{ spec: _json_render_core.SchemaType<"object", { /** Root element key */ root: _json_render_core.SchemaType<"string", unknown>; /** Flat map of elements by key */ elements: _json_render_core.SchemaType<"record", _json_render_core.SchemaType<"object", { /** Component type from catalog */ type: _json_render_core.SchemaType<"ref", string>; /** Component props */ props: _json_render_core.SchemaType<"propsOf", string>; /** Child element keys (flat reference) */ children: _json_render_core.SchemaType<"array", _json_render_core.SchemaType<"string", unknown>>; /** Visibility condition */ visible: _json_render_core.SchemaType<"any", unknown>; }>>; }>; catalog: _json_render_core.SchemaType<"object", { /** Component definitions */ components: _json_render_core.SchemaType<"map", { /** Zod schema for component props */ props: _json_render_core.SchemaType<"zod", unknown>; /** Slots for this component. Use ['default'] for children, or named slots like ['header', 'footer'] */ slots: _json_render_core.SchemaType<"array", _json_render_core.SchemaType<"string", unknown>>; /** Description for AI generation hints */ description: _json_render_core.SchemaType<"string", unknown>; /** Example prop values used in prompt examples (auto-generated from Zod schema if omitted) */ example: _json_render_core.SchemaType<"any", unknown>; }>; /** Action definitions (optional) */ actions: _json_render_core.SchemaType<"map", { /** Zod schema for action params */ params: _json_render_core.SchemaType<"zod", unknown>; /** Description for AI generation hints */ description: _json_render_core.SchemaType<"string", unknown>; }>; }>; }>; /** @deprecated Use `ReactSchema` instead */ type ElementTreeSchema = ReactSchema; /** @deprecated Use `ReactSpec` instead */ type ElementTreeSpec = ReactSpec; export { type ElementTreeSchema, type ElementTreeSpec, type ReactSchema, type ReactSpec, elementTreeSchema, schema };