import { JSX } from 'solid-js';
import { FormField } from './form';
/** The shared prop shape every leaf widget receives from FieldRow. */
export interface WidgetProps {
    id: string;
    value: unknown;
    field: FormField;
    disabled: boolean;
    placeholder?: string;
    required: boolean;
    invalid: boolean;
    describedBy?: string;
    label: string;
    onInput: (value: unknown) => void;
    onBlur: () => void;
}
/** text / email / url / date / datetime / time / password — all <input> variants. */
export declare function TextWidget(props: WidgetProps & {
    variant: 'text' | 'email' | 'url' | 'date' | 'datetime' | 'time' | 'password';
}): JSX.Element;
export declare function TextareaWidget(props: WidgetProps): JSX.Element;
export declare function NumberWidget(props: WidgetProps): JSX.Element;
export declare function SliderWidget(props: WidgetProps): JSX.Element;
export declare function RatingWidget(props: WidgetProps): JSX.Element;
export declare function SwitchWidget(props: WidgetProps): JSX.Element;
export declare function CheckboxWidget(props: WidgetProps): JSX.Element;
export declare function RadioGroupWidget(props: WidgetProps): JSX.Element;
export declare function SelectWidget(props: WidgetProps): JSX.Element;
export declare function CheckboxGroupWidget(props: WidgetProps): JSX.Element;
export declare function MultiSelectWidget(props: WidgetProps): JSX.Element;
export declare function TagListWidget(props: WidgetProps): JSX.Element;
