/**
 * Composable pour gérer la saisie manuelle des plages de dates
 * Permet de saisir et formater correctement une plage de dates au format "date1 - date2"
 */
export declare function useDateRangeInput(format: string, isRangeMode: boolean, parseDate: (dateStr: string, format: string) => Date | null, formatDate: (date: Date, format: string) => string): {
    isEditingSecondDate: import('vue').Ref<boolean, boolean>;
    firstDate: import('vue').Ref<Date | null, Date | null>;
    secondDate: import('vue').Ref<Date | null, Date | null>;
    rangeSeparator: string;
    hasRangeSeparator: (value: string) => boolean;
    extractRangeParts: (value: string) => [string, string];
    formatRangeForDisplay: (startDate: Date | null, endDate: Date | null) => string;
    parseRangeInput: (value: string) => [Date | null, Date | null];
    handleRangeInput: (inputValue: string | unknown, newValue: string | unknown, cursorPosition?: number) => {
        formattedValue: string;
        dates: [Date | null, Date | null];
        isComplete: boolean;
        justCompletedFirstDate?: boolean;
        cursorPosition?: number;
    };
    initializeWithDates: (startDate: Date | null, endDate: Date | null) => void;
    resetState: () => void;
    isValidRange: (startDate: Date | null, endDate: Date | null) => boolean;
    currentRangeIsValid: import('vue').ComputedRef<boolean>;
    handleKeydown: (event: KeyboardEvent & {
        target: HTMLInputElement;
    }) => void;
    handlePaste: (event: ClipboardEvent) => void;
};
