import { type Json, type UiNode, type FunctionalComponent, Fragment } from "./ui/internal.ts"; export type { UiNode, FunctionalComponent }; export { Fragment }; type ClassList = string | Record | ClassList[]; type JSXFunc = (type: FunctionalComponent | keyof JSX.IntrinsicElements, props: Record) => UiNode; export declare const jsx: JSXFunc; export declare const jsxs: JSXFunc; export declare namespace JSX { interface ElementAttributesProperty { props: unknown; } interface ElementChildrenAttribute { children: unknown; } type Element = UiNode; interface IntrinsicElements { ["ui-box"]: { class?: ClassList; children?: UiNode; }; ["ui-form"]: { children?: UiNode; }; ["ui-button"]: { variant?: "default" | "primary" | "danger"; size?: "sm" | "md"; disabled?: boolean; action?: Json; submit?: boolean; children?: UiNode; }; ["ui-upload-button"]: { name: string; size?: "sm" | "md"; action: Json; disabled?: boolean; multiple?: boolean; children?: UiNode; }; ["ui-download-button"]: { variant?: "default" | "primary" | "danger"; size?: "sm" | "md"; disabled?: boolean; filename?: string; context?: Json; children?: UiNode; }; ["ui-copy-button"]: { variant?: "default" | "primary" | "danger"; size?: "sm" | "md"; disabled?: boolean; value: string; children?: UiNode; }; ["ui-text-field"]: { name: string; type?: "text" | "email" | "number" | "password" | "multiline"; disabled?: boolean; value?: string; label?: string; required?: boolean; placeholder?: string; }; ["ui-hidden-input"]: { name: string; value?: Json; valid: boolean; }; ["ui-checkbox"]: { name?: string; label?: string; action?: Json; checked?: boolean; disabled?: boolean; }; ["ui-switch"]: { name?: string; label?: string; action?: Json; checked?: boolean; disabled?: boolean; }; ["ui-link"]: { href: string; children?: UiNode; }; ["ui-redirect"]: { to: string; }; ["ui-alert"]: { type?: "info" | "success" | "warning" | "error"; title?: string; children?: UiNode; }; } }