import { z } from 'zod';
import { default as IFormProps } from './IFormProps';
/**
 * Form component that integrates react-hook-form with Zod validation
 * @param props {@link IFormProps} - Props for the Form component
 * @template TSchema - The Zod schema type
 * @returns The rendered Form component
 *
 * @example
 * ```tsx
 * // Default
 * function App() {
 *    const loginFormSchema = z.object({
 *      email: z.string().email({ message: 'Please enter a valid email address' }),
 *      password: z.string().min(6, { message: 'Password must be at least 6 characters' }),
 *    });
 *
 *    const form = useForm<LoginFormData>({
 *     resolver: zodResolver(loginFormSchema),
 *     defaultValues: {
 *       email: '',
 *       password: '',
 *     },
 *   });
 *
 *   const onSubmit = (data: z.infer<typeof loginFormSchema>) => {
 *     console.log(data);
 *     alert('Login form submitted successfully!');
 *   };
 *
 *   return (
 *     <Form form={form} onSubmit={onSubmit}>
 *       <Box className="w-lg flex flex-col items-center space-y-4">
 *         <Field name="email">
 *           <FieldLabel>Email</FieldLabel>
 *           <FieldControl>
 *             <Input type="email" placeholder="Enter your email" />
 *           </FieldControl>
 *         </Field>
 *         <Field name="password">
 *           <FieldLabel>Password</FieldLabel>
 *           <FieldControl>
 *             <Input type="password" placeholder="Enter your password" />
 *           </FieldControl>
 *         </Field>
 *         <Button type="submit" label="Submit" />
 *       </Box>
 *     </Form>
 *   );
 * }
 * ```
 */
declare const Form: {
    <TSchema extends z.ZodType>({ form, children, onSubmit, onError, disabled, loading, className, id, noValidate, ariaLabel, ariaLabelledBy, }: IFormProps<TSchema>): import("react/jsx-runtime").JSX.Element | null;
    displayName: string;
};
export default Form;
