import * as react2 from "react";
import * as react_jsx_runtime136 from "react/jsx-runtime";
import { Slot } from "@radix-ui/react-slot";
import * as LabelPrimitive from "@radix-ui/react-label";
import * as react_hook_form0 from "react-hook-form";
import { ControllerProps, FieldPath, FieldValues } from "react-hook-form";

//#region src/react/ui/form.d.ts
/** Form context provider using react-hook-form */
declare const Form: <TFieldValues extends FieldValues, TContext = any, TTransformedValues = TFieldValues>(props: react_hook_form0.FormProviderProps<TFieldValues, TContext, TTransformedValues>) => react2.JSX.Element;
/** Controlled field component for react-hook-form integration */
declare const FormField: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({
  ...props
}: ControllerProps<TFieldValues, TName>) => react_jsx_runtime136.JSX.Element;
declare const useFormField: () => {
  invalid: boolean;
  isDirty: boolean;
  isTouched: boolean;
  isValidating: boolean;
  error?: react_hook_form0.FieldError;
  id: string;
  name: string;
  formItemId: string;
  formDescriptionId: string;
  formMessageId: string;
};
/** Container for a single form field with label and messages */
declare function FormItem({
  className,
  ...props
}: react2.ComponentProps<"div">): react_jsx_runtime136.JSX.Element;
/** Label for a form field with error state styling */
declare function FormLabel({
  className,
  ...props
}: react2.ComponentProps<typeof LabelPrimitive.Root>): react_jsx_runtime136.JSX.Element;
/** Wrapper for form control elements with accessibility attributes */
declare function FormControl({
  ...props
}: react2.ComponentProps<typeof Slot>): react_jsx_runtime136.JSX.Element;
/** Helper text providing guidance for a form field */
declare function FormDescription({
  className,
  ...props
}: react2.ComponentProps<"p">): react_jsx_runtime136.JSX.Element;
/** Validation error message for a form field */
declare function FormMessage({
  className,
  ...props
}: react2.ComponentProps<"p">): react_jsx_runtime136.JSX.Element | null;
//#endregion
export { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField };
//# sourceMappingURL=form.d.ts.map