import * as React from 'react';
import { VariantProps } from 'class-variance-authority';
import * as class_variance_authority_types from 'class-variance-authority/types';
import { Label } from '../label/index.js';
import 'radix-ui';

declare const fieldVariants: (props?: {
    orientation?: "horizontal" | "vertical" | "responsive";
} & class_variance_authority_types.ClassProp) => string;

type FieldProps = React.ComponentProps<"div"> & VariantProps<typeof fieldVariants>;
declare function Field({ className, orientation, ...props }: FieldProps): React.JSX.Element;

type FieldContentProps = React.ComponentProps<"div">;
declare function FieldContent({ className, ...props }: FieldContentProps): React.JSX.Element;

type FieldDescriptionProps = React.ComponentProps<"p">;
declare function FieldDescription({ className, ...props }: React.ComponentProps<"p">): React.JSX.Element;

type FieldErrorProps = React.ComponentProps<"div"> & {
    errors?: Array<{
        message?: string;
    } | undefined>;
};
declare function FieldError({ className, children, errors, ...props }: FieldErrorProps): React.JSX.Element;

type FieldGroupProps = React.ComponentProps<"div">;
declare function FieldGroup({ className, ...props }: FieldGroupProps): React.JSX.Element;

type FieldLabelProps = React.ComponentProps<typeof Label>;
declare function FieldLabel({ className, ...props }: FieldLabelProps): React.JSX.Element;

type FieldLegendProps = React.ComponentProps<"legend"> & {
    variant?: "legend" | "label";
};
declare function FieldLegend({ className, variant, ...props }: FieldLegendProps): React.JSX.Element;

type FieldSeparatorProps = React.ComponentProps<"div"> & {
    children?: React.ReactNode;
};
declare function FieldSeparator({ children, className, ...props }: FieldSeparatorProps): React.JSX.Element;

type FieldSetProps = React.ComponentProps<"fieldset">;
declare function FieldSet({ className, ...props }: FieldSetProps): React.JSX.Element;

type FieldTitleProps = React.ComponentProps<"div">;
declare function FieldTitle({ className, ...props }: FieldTitleProps): React.JSX.Element;

export { Field, FieldContent, type FieldContentProps, FieldDescription, type FieldDescriptionProps, FieldError, type FieldErrorProps, FieldGroup, type FieldGroupProps, FieldLabel, type FieldLabelProps, FieldLegend, type FieldLegendProps, type FieldProps, FieldSeparator, type FieldSeparatorProps, FieldSet, type FieldSetProps, FieldTitle, type FieldTitleProps };
