import * as react_jsx_runtime from 'react/jsx-runtime'; import { ReactNode } from 'react'; type OpenUIPrimitive = string | number | boolean | null | undefined; interface OpenUIAction { id: string; label: string; tone?: "default" | "secondary" | "outline" | "ghost" | "destructive"; disabled?: boolean; onPress?: () => void; } interface OpenUIBaseNode { id?: string; } interface OpenUIHeadingNode extends OpenUIBaseNode { type: "heading"; text: string; level?: 1 | 2 | 3 | 4; kicker?: string; meta?: string; } interface OpenUITextNode extends OpenUIBaseNode { type: "text"; text: string; tone?: "default" | "muted" | "success" | "warning" | "error"; mono?: boolean; } interface OpenUIBadgeNode extends OpenUIBaseNode { type: "badge"; label: string; tone?: "default" | "secondary" | "success" | "warning" | "error" | "info" | "sandbox"; } interface OpenUIStatNode extends OpenUIBaseNode { type: "stat"; label: string; value: string; change?: string; tone?: "default" | "success" | "warning" | "error" | "info"; } interface OpenUIKeyValueNode extends OpenUIBaseNode { type: "key_value"; items: Array<{ id?: string; label: string; value: ReactNode | OpenUIPrimitive; tone?: "default" | "muted"; }>; } interface OpenUICodeNode extends OpenUIBaseNode { type: "code"; code: string; language?: string; title?: string; showLineNumbers?: boolean; } interface OpenUIMarkdownNode extends OpenUIBaseNode { type: "markdown"; content: string; } interface OpenUITableNode extends OpenUIBaseNode { type: "table"; columns: Array<{ key: string; header: string; align?: "left" | "right"; }>; rows: Array>; caption?: string; } interface OpenUIActionsNode extends OpenUIBaseNode { type: "actions"; actions: OpenUIAction[]; } interface OpenUISeparatorNode extends OpenUIBaseNode { type: "separator"; label?: string; } interface OpenUIStackNode extends OpenUIBaseNode { type: "stack"; direction?: "row" | "column"; gap?: "sm" | "md" | "lg"; align?: "start" | "center" | "end" | "stretch"; wrap?: boolean; children: OpenUIComponentNode[]; } interface OpenUIGridNode extends OpenUIBaseNode { type: "grid"; columns?: 1 | 2 | 3 | 4; gap?: "sm" | "md" | "lg"; children: OpenUIComponentNode[]; } interface OpenUICardNode extends OpenUIBaseNode { type: "card"; title?: string; description?: string; eyebrow?: string; badge?: OpenUIBadgeNode; actions?: OpenUIAction[]; children?: OpenUIComponentNode[]; } type OpenUIComponentNode = OpenUIActionsNode | OpenUIBadgeNode | OpenUICardNode | OpenUICodeNode | OpenUIGridNode | OpenUIHeadingNode | OpenUIKeyValueNode | OpenUIMarkdownNode | OpenUISeparatorNode | OpenUIStackNode | OpenUIStatNode | OpenUITableNode | OpenUITextNode; interface OpenUIArtifactRendererProps { schema: OpenUIComponentNode | OpenUIComponentNode[]; onAction?: (action: OpenUIAction) => void; className?: string; } /** * OpenUIArtifactRenderer — contained renderer for OpenUI-like structured * artifact payloads using sandbox-ui primitives and theme tokens. This is an * extension surface for generated inspectors/results, not a replacement for * the sandbox shell. */ declare function OpenUIArtifactRenderer({ schema, onAction, className, }: OpenUIArtifactRendererProps): react_jsx_runtime.JSX.Element; export { type OpenUIAction, type OpenUIActionsNode, OpenUIArtifactRenderer, type OpenUIArtifactRendererProps, type OpenUIBadgeNode, type OpenUICardNode, type OpenUICodeNode, type OpenUIComponentNode, type OpenUIGridNode, type OpenUIHeadingNode, type OpenUIKeyValueNode, type OpenUIMarkdownNode, type OpenUIPrimitive, type OpenUISeparatorNode, type OpenUIStackNode, type OpenUIStatNode, type OpenUITableNode, type OpenUITextNode };