import { Ref } from 'vue'; export type ValidatableComponent = { validateOnSubmit: () => Promise | boolean; clearValidation?: () => void; reset?: () => void; $props?: { label?: string; }; }; /** * Hook pour le formulaire parent qui fournit un registre pour les composants validables * @returns Fonctions pour gérer la validation des composants enfants */ export declare function useFormValidation(): { validateAll: () => Promise; validatableComponents: Ref<{ validateOnSubmit: () => Promise | boolean; clearValidation?: (() => void) | undefined; reset?: (() => void) | undefined; $props?: { label?: string | undefined; } | undefined; }[], ValidatableComponent[] | { validateOnSubmit: () => Promise | boolean; clearValidation?: (() => void) | undefined; reset?: (() => void) | undefined; $props?: { label?: string | undefined; } | undefined; }[]>; clearAll: () => void; resetAll: () => void; }; /** * Hook pour les composants enfants qui doivent s'enregistrer auprès du formulaire parent * @returns Fonction pour s'enregistrer et se désinscrire du formulaire parent */ export declare function useValidatableComponent(): { register: (component: ValidatableComponent) => void; unregister: (component: ValidatableComponent) => void; clearAll: () => void; resetAll: () => void; };