import { ValidationRule } from '../validation/useValidation'; import { Ref } from 'vue'; export interface UseCustomValidationOptions { registerWithForm?: boolean; reactiveValidation?: boolean; /** * Messages d'erreur injectés par le parent (prop `errorMessages`, ex. erreur serveur). * Ils invalident le champ auprès du SyForm au même titre qu'une règle en échec. */ externalErrors?: Ref; /** * Active la validation custom (true par défaut). Désactivée, le champ n'est plus * enregistré auprès du SyForm : utilisé quand `useVuetifyValidation` bascule à true. */ enabled?: Ref; /** * État d'erreur forcé par le parent (prop `has-error`, sans message) : invalide le * champ au même titre qu'une erreur injectée — y compris sans item VForm enregistré * (`useVuetifyValidation: false` littéral), où le blocage ne peut pas reposer sur le * validateur Vuetify. */ forcedError?: Ref; formRegistration?: { validateOnSubmit?: () => Promise | boolean; clearValidation?: () => void; reset?: () => void; }; } /** * Interface between the validation entrypoint "useValidation" composable and the custom validation logic. */ export declare function useCustomValidation(modelValue: Ref, customRules: Ref | undefined, customWarningRules: Ref | undefined, customSuccessRules: Ref | undefined, errors: Ref, warnings: Ref, successes: Ref, showSuccessMessages: Ref, label: Ref, focused: Ref, isValidateOnBlur: Ref, disableErrorHandling: Ref, readonly?: Ref, disabled?: Ref, options?: UseCustomValidationOptions): { validate: () => import('../validation/useValidation').ValidationResult | Promise; validateValue: (value?: unknown, rules?: ValidationRule[] | undefined, warningRules?: ValidationRule[] | undefined, successRules?: ValidationRule[] | undefined) => import('../validation/useValidation').ValidationResult | Promise; hasSuccess: Ref; clearValidation: () => void; reset: () => void; isPristine: Ref; };