import * as React from "react"; export type FormFieldLayout = "vertical" | "horizontal" | "inline"; export type FormFieldDescriptionPosition = "top" | "bottom"; export type FormFieldShellProps = React.ComponentProps<"div"> & { label?: React.ReactNode; description?: React.ReactNode; error?: React.ReactNode; success?: React.ReactNode; loading?: boolean; required?: boolean; htmlFor?: string; labelId?: string; descriptionId?: string; errorId?: string; layout?: FormFieldLayout; descriptionPosition?: FormFieldDescriptionPosition; labelAction?: React.ReactNode; requiredIndicator?: React.ReactNode; errorIcon?: React.ReactNode; showErrorIcon?: boolean; disabled?: boolean; readOnly?: boolean; labelClassName?: string; labelRowClassName?: string; descriptionClassName?: string; errorClassName?: string; contentClassName?: string; }; export type FormFieldShellControlProps = Pick; export type FormFieldMessageState = { description?: React.ReactNode; error?: React.ReactNode; }; export type FormFieldResolvedIds = { labelId: string; descriptionId: string; errorId: string; describedBy?: string; }; declare function resolveFormFieldIds(id: string, state?: FormFieldMessageState): FormFieldResolvedIds; declare function FormFieldShell({ className, label, description, error, success, loading, required, htmlFor, labelId, descriptionId, errorId, layout, descriptionPosition, labelAction, requiredIndicator, errorIcon, showErrorIcon, disabled, readOnly, labelClassName, labelRowClassName, descriptionClassName, errorClassName, contentClassName, children, ...props }: FormFieldShellProps): React.JSX.Element; export { FormFieldShell, resolveFormFieldIds };