import { Ref, MaybeRef } from 'vue'; import { DateModelValue } from '../../../composables/date/useDateInitializationDayjs'; import { DateObjectValue } from '../types'; /** * Gère le commit au blur du champ texte utilisé par le DatePicker * quand la saisie manuelle doit synchroniser le modèle/calendrier. * * ## Rôle dans l'architecture validation * Reçoit deux fonctions de validation en paramètres : * - `validateTextInput(value)` : en pratique, c'est `(value) => validate({ textValue: value })` * fournie par le composant appelant. Déclenche le flow de validation texte. * - `replaceErrors(messages)` : remplace directement les erreurs affichées, utilisée * pour les erreurs de plage (endBeforeStart) détectées localement sans passer par * le flow de validation complet. * * Le composable ne connaît pas le flow interne — il se contente d'appeler * ces fonctions au moment du blur après avoir synchronisé le modèle. * * @param options - Options de configuration * @returns Fonction pour gérer la perte de focus */ export declare const useDatePickerInputBlurHandler: (options: { format: MaybeRef; dateFormatReturn?: string; required?: MaybeRef; displayFormattedDate: Ref; hasInteracted: Ref; isManualInputActive: Ref; isUpdatingFromInternal: Ref; selectedDates: Ref; /** Remplace les erreurs affichées. Utilisé pour les erreurs de plage locales (endBeforeStart). */ replaceErrors?: (messages: string[]) => void; withInternalUpdate: (fn: () => void) => void; validateDateFormat: (dateStr: string) => { isValid: boolean; message: string; }; parseDate: (dateStr: string, format: string) => Date | null; formatDate: (date: Date, format: string) => string; updateModel: (value: DateModelValue) => void; /** Validation texte déléguée — en pratique `(value) => validate({ textValue: value })`. */ validateTextInput: (value: string) => Promise; emitBlur: () => void; }) => { handleInputBlur: () => Promise; };