import { HTMLAttributes } from "react";
import * as react_jsx_runtime13 from "react/jsx-runtime";
import { ZodObject, z } from "zod/v4";
import * as react_hook_form0 from "react-hook-form";
import { FormProviderProps, UseFormProps } from "react-hook-form";

//#region src/components/Form/FormBase.d.ts
type FormProps<T$1 extends ZodObject> = HTMLAttributes<HTMLFormElement> & FormProviderProps<z.infer<T$1>> & {
  schema?: T$1;
  onSubmit?: (data: z.infer<T$1>) => void | Promise<void>;
  onSubmitSuccess?: (data: z.infer<T$1>) => void | Promise<void>;
  onSubmitError?: (error: Error) => void | Promise<void>;
  autoComplete?: boolean;
};
declare const Form: <T extends ZodObject>({
  schema,
  onSubmit: onSubmitProp,
  onSubmitSuccess: onSubmitSuccessProp,
  onSubmitError: onSubmitErrorProp,
  className,
  children,
  autoComplete,
  ...props
}: FormProps<T>) => react_jsx_runtime13.JSX.Element;
declare const useForm: <T extends ZodObject>(schema: T, props?: UseFormProps<z.infer<T>>) => {
  form: react_hook_form0.UseFormReturn<z.core.output<T>, any, z.core.output<T>>;
  isSubmitting: boolean;
  isSubmitted: boolean;
  isLoading: boolean;
  isValid: boolean;
};
//#endregion
export { Form, useForm };
//# sourceMappingURL=FormBase.d.ts.map