{ $$typeof: typeof JSX_ELEMENT; children: unknown[]; props: P; type: CardComponentFunction; } /** Union of all element types that can be produced by chat components */ type ChatElement = CardJSXElement | CardElement | TextElement | ButtonElement | LinkButtonElement | LinkElement | ImageElement | DividerElement | ActionsElement | SectionElement | FieldsElement | FieldElement | ModalElement | TextInputElement | SelectElement | ExternalSelectElement | SelectOptionElement | RadioSelectElement | TableElement; interface CardComponent { (options?: CardOptions): CardElement; (props: CardProps): ChatElement; } interface TextComponent { (content: string, options?: { style?: TextStyle; }): TextElement; (props: TextProps): ChatElement; } interface ButtonComponent { (options: ButtonOptions): ButtonElement; (props: ButtonProps): ChatElement; } interface LinkButtonComponent { (options: LinkButtonOptions): LinkButtonElement; (props: LinkButtonProps): ChatElement; } interface CardLinkComponent { (options: { url: string; label: string; }): LinkElement; (props: CardLinkProps): ChatElement; } interface ImageComponent { (options: { url: string; alt?: string; }): ImageElement; (props: ImageProps): ChatElement; } interface FieldComponent { (options: { label: string; value: string; }): FieldElement; (props: FieldProps): ChatElement; } interface DividerComponent { (): DividerElement; (props: DividerProps): ChatElement; } interface SectionComponent { (children: CardChild[]): SectionElement; (props: ContainerProps): ChatElement; } interface ActionsComponent { (children: (ButtonElement | LinkButtonElement | SelectElement | RadioSelectElement)[]): ActionsElement; (props: ContainerProps): ChatElement; } interface FieldsComponent { (children: FieldElement[]): FieldsElement; (props: ContainerProps): ChatElement; } interface ModalComponent { (options: ModalOptions): ModalElement; (props: ModalProps): ChatElement; } interface TextInputComponent { (options: TextInputOptions): TextInputElement; (props: TextInputProps): ChatElement; } interface SelectComponent { (options: SelectOptions): SelectElement; (props: SelectProps): ChatElement; } interface ExternalSelectComponent { (options: ExternalSelectOptions): ExternalSelectElement; (props: ExternalSelectProps): ChatElement; } interface SelectOptionComponent { (options: { label: string; value: string; description?: string; }): SelectOptionElement; (props: SelectOptionProps): ChatElement; } interface RadioSelectComponent { (options: RadioSelectOptions): RadioSelectElement; (props: SelectProps): ChatElement; } interface TableComponent { (options: { headers: string[]; rows: string[][]; }): TableElement; (props: TableProps): ChatElement; } /** * Type guard to check if props match CardLinkProps */ declare function isCardLinkProps(props: CardJSXProps): props is CardLinkProps; /** * JSX factory function (used by the JSX transform). * Creates a lazy JSX element that will be resolved when needed. */ declare function jsx
(type: CardComponentFunction, props: P & { children?: unknown; }, _key?: string): CardJSXElement
; /** * JSX factory for elements with multiple children. */ declare function jsxs
(type: CardComponentFunction, props: P & { children?: unknown; }, _key?: string): CardJSXElement
; /** * Development JSX factory (same as jsx, but called in dev mode). */ declare const jsxDEV: typeof jsx; /** * Fragment support (flattens children). */ declare function Fragment(props: { children?: unknown; }): CardChild[]; /** * Convert a JSX element tree to a CardElement. * Call this on the root JSX element to get a usable CardElement. */ declare function toCardElement(jsxElement: unknown): CardElement | null; declare function toModalElement(jsxElement: unknown): ModalElement | null; /** * Check if a value is a JSX element (from our runtime or React). */ declare function isJSX(value: unknown): boolean; declare namespace JSX { type Element = ChatElement; type IntrinsicElements = {}; interface IntrinsicAttributes { key?: string | number; } interface ElementChildrenAttribute { children: {}; } } export { type CardProps as $, type ActionsComponent as A, type ButtonComponent as B, type ChatElement as C, type DividerComponent as D, type ExternalSelectComponent as E, type FieldComponent as F, type FieldsElement as G, type ImageElement as H, type ImageComponent as I, type LinkButtonElement as J, type LinkButtonOptions as K, type LinkButtonComponent as L, type ModalElement as M, type LinkElement as N, type SectionElement as O, type TableAlignment as P, type TableElement as Q, type RadioSelectComponent as R, type SelectOptionElement as S, type TextComponent as T, type TableOptions as U, type TextElement as V, type TextStyle as W, type ButtonProps as X, type CardJSXElement as Y, type CardJSXProps as Z, type CardLinkProps as _, type CardElement as a, type ContainerProps as a0, type DividerProps as a1, type ExternalSelectProps as a2, type FieldProps as a3, type ImageProps as a4, type LinkButtonProps as a5, type ModalProps as a6, type SelectOptionProps as a7, type SelectProps as a8, type TextInputProps as a9, type TextProps as aa, type ExternalSelectElement as ab, type ExternalSelectOptions as ac, type ModalChild as ad, type ModalOptions as ae, type RadioSelectElement as af, type RadioSelectOptions as ag, type SelectElement as ah, type SelectOptions as ai, type TextInputElement as aj, type TextInputOptions as ak, type TableProps as al, type TableComponent as am, isCardLinkProps as an, jsx as ao, jsxs as ap, jsxDEV as aq, Fragment as ar, JSX as as, type CardChild as b, type CardComponent as c, cardChildToFallbackText as d, type CardLinkComponent as e, type FieldsComponent as f, fromReactElement as g, isJSX as h, isCardElement as i, type SectionComponent as j, Table as k, toModalElement as l, fromReactModalElement as m, isModalElement as n, type ModalComponent as o, type SelectComponent as p, type SelectOptionComponent as q, type TextInputComponent as r, type ActionsElement as s, toCardElement as t, type ButtonElement as u, type ButtonOptions as v, type ButtonStyle as w, type CardOptions as x, type DividerElement as y, type FieldElement as z };