import { ValidationResult } from '../../../../composables/unifyValidation/useValidation'; import { ValidationContext } from './types'; /** * Flow 1 : validateDates — validation des dates sélectionnées via le calendrier. * * Étapes : * 1. Court-circuit en mode noCalendar (pas de calendrier → pas de validation de dates) * 2. En mode Vuetify natif, délègue entièrement à useCustomValidation * 3. Vérifie le required (champ obligatoire vide → erreur) * 4. Si pas de sélection et pas required → succès (champ valide et vide) * 5. Si plage incomplète (début sans fin) → pas de validation (évite erreur prématurée) * 6. Si disableErrorHandling → valide seulement la plage sans afficher les erreurs * 7. Sinon : valide chaque date avec validateSelectedDates, puis ajoute la validation de plage * * Le token garantit qu'une nouvelle validation annule les validations async en cours. */ /** * Crée le flow validateDates et les helpers associés. * * @param ctx Le contexte de validation partagé * @returns `{ validateDates, revalidateSelectedDates }` */ export declare function createValidateDatesFlow(ctx: ValidationContext): { validateDates: (forceValidation?: boolean) => ValidationResult | Promise; revalidateSelectedDates: () => void; };