import React from 'react';
import * as LabelPrimitive from "@radix-ui/react-label";
import { Slot } from "@radix-ui/react-slot";
import { ControllerProps, FieldPath, FieldValues } from "react-hook-form";
declare const GlassForm: <TFieldValues extends FieldValues, TContext = any, TTransformedValues = TFieldValues>(props: import("react-hook-form").FormProviderProps<TFieldValues, TContext, TTransformedValues>) => React.JSX.Element;
declare const GlassFormField: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ ...props }: ControllerProps<TFieldValues, TName>) => import("react/jsx-runtime").JSX.Element;
export interface GlassFormItemProps extends React.HTMLAttributes<HTMLDivElement> {
    /** Item spacing variant */
    spacing?: 'sm' | 'md' | 'lg';
    /** Whether to show glass background */
    glass?: boolean;
}
declare const GlassFormItem: React.ForwardRefExoticComponent<GlassFormItemProps & React.RefAttributes<HTMLDivElement>>;
export interface GlassFormLabelProps extends React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> {
    /** Label size variant */
    size?: 'sm' | 'md' | 'lg';
    /** Whether to show required indicator */
    required?: boolean;
}
declare const GlassFormLabel: React.ForwardRefExoticComponent<GlassFormLabelProps & React.RefAttributes<HTMLLabelElement>>;
export interface GlassFormControlProps extends React.ComponentPropsWithoutRef<typeof Slot> {
    /** Whether to add glass styling to the control */
    glass?: boolean;
}
declare const GlassFormControl: React.ForwardRefExoticComponent<GlassFormControlProps & React.RefAttributes<HTMLElement>>;
export interface GlassFormDescriptionProps extends React.HTMLAttributes<HTMLParagraphElement> {
    /** Description size variant */
    size?: 'xs' | 'sm' | 'md';
    /** Description variant */
    variant?: 'default' | 'muted' | 'accent';
}
declare const GlassFormDescription: React.ForwardRefExoticComponent<GlassFormDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
export interface GlassFormMessageProps extends React.HTMLAttributes<HTMLParagraphElement> {
    /** Message size variant */
    size?: 'xs' | 'sm' | 'md';
    /** Message variant */
    variant?: 'error' | 'warning' | 'success' | 'info';
    /** Whether to show icon */
    showIcon?: boolean;
}
declare const GlassFormMessage: React.ForwardRefExoticComponent<GlassFormMessageProps & React.RefAttributes<HTMLParagraphElement>>;
declare const useFormField: () => {
    invalid: boolean;
    isDirty: boolean;
    isTouched: boolean;
    isValidating: boolean;
    error?: import("react-hook-form").FieldError;
    id: string;
    name: string;
    formItemId: string;
    formDescriptionId: string;
    formMessageId: string;
};
export { GlassForm, GlassFormControl, GlassFormDescription, GlassFormField, GlassFormItem, GlassFormLabel, GlassFormMessage, useFormField };
export { GlassForm as Form, GlassFormControl as FormControl, GlassFormDescription as FormDescription, GlassFormField as FormField, GlassFormItem as FormItem, GlassFormLabel as FormLabel, GlassFormMessage as FormMessage, useFormField as useGlassFormField };
export default GlassForm;
//# sourceMappingURL=GlassForm.d.ts.map