import * as RadixForm from '@radix-ui/react-form';
import React__default from 'react';

type FormFieldProps = RadixForm.FormFieldProps & {
    required?: boolean;
};
type FormLabelProps = RadixForm.FormLabelProps & {
    /** label의 타입을 지정  */
    variant?: 'title' | 'body' | 'caption';
};
interface FormItemProps extends FormFieldProps {
    children: React__default.ReactNode;
    label: string;
    labelVariant?: FormLabelProps['variant'];
    errorMessage?: string;
}
declare function FormItem({ label, labelVariant, children, errorMessage, ...fieldProps }: FormItemProps): React__default.ReactNode;
declare const Form: {
    Root: React__default.ForwardRefExoticComponent<RadixForm.FormProps & React__default.RefAttributes<HTMLFormElement>>;
    Field: React__default.ForwardRefExoticComponent<RadixForm.FormFieldProps & {
        required?: boolean;
    } & React__default.RefAttributes<HTMLDivElement>>;
    Label: React__default.ForwardRefExoticComponent<RadixForm.FormLabelProps & {
        /** label의 타입을 지정  */
        variant?: "title" | "body" | "caption";
    } & React__default.RefAttributes<HTMLLabelElement>>;
    Message: React__default.ForwardRefExoticComponent<RadixForm.FormMessageProps & React__default.RefAttributes<HTMLSpanElement>>;
    Control: React__default.ForwardRefExoticComponent<RadixForm.FormControlProps & React__default.RefAttributes<HTMLInputElement>>;
    Submit: React__default.ForwardRefExoticComponent<RadixForm.FormSubmitProps & React__default.RefAttributes<HTMLButtonElement>>;
    FormItem: typeof FormItem;
};

export { Form, type FormFieldProps, FormItem, type FormLabelProps };
