import { Ref, MaybeRef } from 'vue'; import { ValidationResult, ValidationRule } from '../../../composables/validation/useValidation'; import { DateObjectValue, DatePickerRule } from '../types'; export type DatePickerValidationRule = DatePickerRule; export type DatePickerValidationOptions = { showSuccessMessages: MaybeRef; disableErrorHandling: MaybeRef; noCalendar: MaybeRef; required: MaybeRef; displayRange: MaybeRef; customRules: Ref; customWarningRules: Ref; selectedDates: Ref; isUpdatingFromInternal: Ref; currentRangeIsValid: Ref; getRangeValidationError: Ref; readonly?: MaybeRef; skipValidationWhenReadonly?: boolean; useCalendarModeRequiredFlow?: boolean; isInitialValidation?: Ref; isValidateOnBlur?: Ref; onblur?: Ref; fieldIdentifier?: string; revalidateOnCustomRulesChange?: boolean; }; export declare function useDatePickerValidation(options: DatePickerValidationOptions): { validation: { errors: Ref; warnings: Ref; successes: Ref; displaySuccesses: import('vue').ComputedRef; hasError: import('vue').ComputedRef; hasWarning: import('vue').ComputedRef; hasSuccess: import('vue').ComputedRef; validateField: (value: unknown, rules?: ValidationRule[], warningRules?: ValidationRule[], successRules?: ValidationRule[]) => ValidationResult | Promise; validateOnSubmit: () => boolean; clearValidation: () => void; }; errors: Ref; warnings: Ref; successes: Ref; errorMessages: Ref; warningMessages: Ref; successMessages: import('vue').ComputedRef; clearValidation: () => void; validateField: (value: unknown, rules?: ValidationRule[], warningRules?: ValidationRule[], successRules?: ValidationRule[]) => Promise | ValidationResult; validateDates: (forceValidation?: boolean) => ValidationResult | Promise; validateCalendarModeDates: (forceValidation?: boolean) => Promise; isRangeValid: (startDate: Date | null | undefined, endDate: Date | null | undefined) => boolean; };