import { VariantProps } from 'class-variance-authority';
import { Label } from './label';
type FieldSetProps = React.ComponentProps<"fieldset">;
/**
 * Container for grouping related fields, provides semantic fieldset/legend structure.
 * Use with FieldLegend for proper form semantics.
 */
declare function FieldSet({ className, ...props }: FieldSetProps): import("react/jsx-runtime").JSX.Element;
type FieldLegendProps = React.ComponentProps<"legend"> & {
    /** Visual style variant for the legend. @default "legend" */
    variant?: "legend" | "label";
};
/**
 * Legend for FieldSet, available in two visual styles.
 * Use "legend" for section headers, "label" for form-like appearance.
 */
declare function FieldLegend({ className, variant, ...props }: FieldLegendProps): import("react/jsx-runtime").JSX.Element;
type FieldGroupProps = React.ComponentProps<"div">;
/**
 * Container for multiple fields, provides consistent spacing and container queries.
 * Use for grouping related fields without semantic fieldset.
 */
declare function FieldGroup({ className, ...props }: FieldGroupProps): import("react/jsx-runtime").JSX.Element;
declare const fieldVariants: (props?: ({
    orientation?: "horizontal" | "vertical" | "responsive" | null | undefined;
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
type FieldProps = React.ComponentProps<"div"> & VariantProps<typeof fieldVariants>;
/**
 * Base field wrapper with support for multiple orientation layouts.
 * Supports vertical, horizontal, and responsive layouts. Use data-invalid attribute for error states.
 */
declare function Field({ className, orientation, ...props }: FieldProps): import("react/jsx-runtime").JSX.Element;
type FieldContentProps = React.ComponentProps<"div">;
/**
 * Container for field input and helper elements (description, error).
 * Groups the input control with its associated help text.
 */
declare function FieldContent({ className, ...props }: FieldContentProps): import("react/jsx-runtime").JSX.Element;
type FieldLabelProps = React.ComponentProps<typeof Label>;
/**
 * Label for field input, extends the Label component with field-specific styling.
 * Supports disabled state and nested field patterns.
 */
declare function FieldLabel({ className, ...props }: FieldLabelProps): import("react/jsx-runtime").JSX.Element;
type FieldTitleProps = React.ComponentProps<"div">;
/**
 * Title text for fields with embedded controls (checkboxes, switches).
 * Use inside FieldLabel alongside the control.
 */
declare function FieldTitle({ className, ...props }: FieldTitleProps): import("react/jsx-runtime").JSX.Element;
type FieldDescriptionProps = React.ComponentProps<"p">;
/**
 * Helper text providing additional context for the field.
 * Automatically styled for placement after inputs.
 */
declare function FieldDescription({ className, ...props }: FieldDescriptionProps): import("react/jsx-runtime").JSX.Element;
type FieldSeparatorProps = React.ComponentProps<"div"> & {
    /** Optional label text to display on the separator line. */
    children?: React.ReactNode;
};
/**
 * Visual separator between field groups, optionally with label text.
 * Use to organize sections within forms.
 */
declare function FieldSeparator({ children, className, ...props }: FieldSeparatorProps): import("react/jsx-runtime").JSX.Element;
type FieldErrorProps = React.ComponentProps<"div"> & {
    /** Array of error objects with message property. Automatically deduplicates. */
    errors?: Array<{
        message?: string;
    } | undefined>;
};
/**
 * Error message display for fields. Accepts errors array or children.
 * Automatically deduplicates multiple errors and displays as list.
 */
declare function FieldError({ className, children, errors, ...props }: FieldErrorProps): import("react/jsx-runtime").JSX.Element | null;
export { Field, FieldLabel, FieldDescription, FieldError, FieldGroup, FieldLegend, FieldSeparator, FieldSet, FieldContent, FieldTitle, type FieldProps, type FieldLabelProps, type FieldDescriptionProps, type FieldErrorProps, type FieldGroupProps, type FieldLegendProps, type FieldSeparatorProps, type FieldSetProps, type FieldContentProps, type FieldTitleProps, };
//# sourceMappingURL=field.d.ts.map