import { type UseFormProps, type UseFormReturn } from 'react-hook-form';
import { type FieldValues } from '../../types';
/**
* Custom hook to manage the entire form.
*
* @remarks
* [API](https://react-hook-form.com/api/useform) • [Demo](https://codesandbox.io/s/react-hook-form-get-started-ts-5ksmm) • [Video](https://www.youtube.com/watch?v=RkXv4AXXC_4)
*
* @param props - form configuration and validation parameters.
*
* @returns methods - individual functions to manage the form state. {@link UseFormReturn}
*
* @example
* ```tsx
* function App() {
* const { register, handleSubmit, watch, formState: { errors } } = useForm();
* const onSubmit = data => console.log(data);
*
* console.log(watch("example"));
*
* return (
*
* );
* }
* ```
*/
export declare const useForm: ({ mode, ...params }?: Partial<{
mode: "all" | "onChange" | "onBlur" | "onSubmit" | "onTouched";
disabled: boolean;
reValidateMode: "onChange" | "onBlur" | "onSubmit";
defaultValues: ((payload?: unknown) => Promise) | import("react-hook-form").DefaultValues;
values: TFieldValues;
errors: import("react-hook-form").FieldErrors;
resetOptions: Partial<{
keepDirtyValues: boolean;
keepErrors: boolean;
keepDirty: boolean;
keepValues: boolean;
keepDefaultValues: boolean;
keepIsSubmitted: boolean;
keepIsSubmitSuccessful: boolean;
keepTouched: boolean;
keepIsValid: boolean;
keepSubmitCount: boolean;
}> | undefined;
resolver: import("react-hook-form").Resolver;
context: TContext;
shouldFocusError: boolean;
shouldUnregister: boolean;
shouldUseNativeValidation: boolean;
progressive: boolean;
criteriaMode: import("react-hook-form").CriteriaMode;
delayError: number;
}>) => UseFormReturn;
export type { UseFormProps, UseFormReturn };