/**
 * Composant ReusableForm : Formulaire dynamique basé sur une configuration et un schéma de validation.
 * @template T - Type générique représentant les valeurs du formulaire (ex: `RegisterCredentials`)
 * @param {Object} props - Les propriétés du composant
 * @param {boolean} props.isLoading - État de chargement du formulaire
 * @param {FormConfig<T>} props.formConfig - Configuration du formulaire (titre, champs, bouton, footer)
 * @param {ZodSchema<T>} props.formSchema - Schéma de validation du formulaire
 * @param {FooterMessageData} [props.footerMessage] - Message de pied de formulaire optionnel
 * @param {(data: T) => void} props.action - Fonction à exécuter lors de la soumission du formulaire
 * @returns {JSX.Element} - Le formulaire généré dynamiquement
 */
import { ZodSchema } from "zod";
import { FooterMessageData, FormConfig } from "../../types";
import { FieldValues } from "react-hook-form";
export interface ReusableFormProps<T extends FieldValues> {
    isLoading: boolean;
    formConfig: FormConfig<T>;
    formSchema: ZodSchema<T>;
    footerMessage?: FooterMessageData;
    action: (data: T) => void;
}
declare function ReusableForm<T extends FieldValues>({ isLoading, formConfig, formSchema, footerMessage, action, }: ReusableFormProps<T>): import("react/jsx-runtime").JSX.Element;
export default ReusableForm;
//# sourceMappingURL=ReusableForm.d.ts.map