import { Ref } from 'vue';
import { ValidationResult } from '../../../composables/validation/useValidation';
import { DateObjectValue } from '../types';
/**
 * Composable pour la validation des dates
 *
 * @param options - Options de configuration
 * @returns Fonctions pour la validation des dates
 */
export declare const useDateValidation: (options: {
    noCalendar?: boolean;
    required?: boolean;
    displayRange?: boolean;
    disableErrorHandling?: boolean;
    customRules?: {
        type: string;
        options: any;
    }[] | Ref<{
        type: string;
        options: any;
    }[]>;
    customWarningRules?: {
        type: string;
        options: any;
    }[] | Ref<{
        type: string;
        options: any;
    }[]>;
    selectedDates: Ref<DateObjectValue>;
    isUpdatingFromInternal: Ref<boolean>;
    currentRangeIsValid: Ref<boolean>;
    getRangeValidationError: Ref<string>;
    clearValidation: () => void;
    validateField: (value: any, rules?: any[], warningRules?: any[]) => ValidationResult | Promise<ValidationResult>;
    errors: Ref<string[]>;
    warnings: Ref<string[]>;
    successes: Ref<string[]>;
}) => {
    validateDates: (forceValidation?: boolean) => ValidationResult | Promise<ValidationResult>;
    validateOnSubmit: () => ValidationResult | Promise<ValidationResult>;
};
