import { FieldValues, FormProviderProps, FormProps as HookFormProps, ControllerProps, FieldPath, useFormState, useWatch, useFieldArray, UseFormProps as UseHookFormProps, UseFormReturn as UseHookFormReturn } from 'react-hook-form'; import { z, type ZodSchema } from 'zod'; import React, { ReactElement } from 'react'; import { useFormField } from '../ui/form'; export { useFormState, useWatch, useFieldArray, useFormField }; export type UseFormProps = UseHookFormProps, TContext> & { schema: TSchema; }; export interface UseFormReturn> extends UseHookFormReturn, TContext, TTransformedValues> { Field: React.FunctionComponent>>>; } export declare function useForm>(props: UseFormProps): UseFormReturn; export declare const useFormContext: >() => UseFormReturn; export interface FormProps> extends Omit, TContext, TTransformedValues>, 'children'>, Omit, TTransformedValues>, 'control'> { /** * @default 'top' */ labelPosition?: 'top' | 'left'; labelClassName?: string; labelStyle?: React.CSSProperties; } export declare function Form>(props: FormProps): import("react/jsx-runtime").JSX.Element; export declare namespace Form { var Field: typeof FormField; var Item: React.ForwardRefExoticComponent & React.RefAttributes>; var Label: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>; var Control: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>; var Description: React.ForwardRefExoticComponent & React.RefAttributes>; var Message: React.ForwardRefExoticComponent & React.RefAttributes>; var Slot: typeof FormSlot; } export interface FormFieldProps> = FieldPath>> extends Omit, TName>, 'control' | 'render'> { label?: React.ReactNode; desc?: React.ReactNode; children?: ReactElement | ControllerProps, TName>['render']; } declare function FormField> = FieldPath>>(props: FormFieldProps): import("react/jsx-runtime").JSX.Element; export interface FormSlotProps { label?: React.ReactNode; children?: React.ReactNode; } declare function FormSlot(props: FormSlotProps): import("react/jsx-runtime").JSX.Element;