import { type Component, type HtmlProps, type CSSProperties, type UIElement } from "@agyemanjp/fxui"; /** Returns a function that receives a value ui and wraps a it in a container with a caption label attached. * Some members of args are optional since they could be embedded in the value UI directy. * The value UI could be anything that renders a field value, e.g., input, view, etc. */ export declare function stdFieldUICtor(args: Pick): (valueUIElt: UIElement, opts?: { titleCustom?: string; styleCustom?: CSSProperties; }) => JSX.Element; export type FieldUIArgs = { value?: any; title: string; labelPosition?: "top" | "left" | "bottom" | "off"; /** Style for label */ labelStyle?: CSSProperties; /** Style for value viewer or editor */ valueStyle?: CSSProperties; /** Overall style */ style?: CSSProperties; }; /** Info used to generate UI representing a field */ export type FieldUI = (Component<{ value?: T; children?: never; } & HtmlProps>); /** Type of function that creates a field ui info based on some parameters */