import { BasketContextType } from '../contexts/index.js';
import { Dayjs } from 'dayjs';
interface UseCalendarNightStayProps {
    basketContext: BasketContextType;
}
export interface INightStayValidation {
    init: boolean;
    arrivalMinNightStay: number | null;
    arrivalMaxNightStay: number | null;
    validationMinNightStay: number | null;
    validationMaxNightStay: number | null;
}
export interface IArrivalNightStay {
    arrivalMinNightStay: number | null;
    arrivalMaxNightStay: number | null;
}
export interface IAvailableNightStay {
    minDate: Dayjs | null;
    maxDate: Dayjs | null;
    available: boolean;
}
export declare const useCalendarNightStay: ({ basketContext, }: UseCalendarNightStayProps) => {
    getLastValidDay: (fromDate: Dayjs, toDate: Dayjs, roomCode?: string, rateCode?: string) => Promise<{
        lastValidDay: Dayjs;
        nightStayValidation: INightStayValidation;
        isValidNightStay: boolean;
    }>;
    getArrivalNightStay: (fromDate: Dayjs, roomCode: string, rateCode: string) => Promise<IArrivalNightStay>;
    checkAvailableNightStay: ({ arrivalNightStay, startDate, dateToCheck }: {
        arrivalNightStay: IArrivalNightStay;
        startDate: Dayjs | null;
        dateToCheck: Dayjs | null;
    }) => {
        minDate: Dayjs | null;
        maxDate: Dayjs | null;
        available: boolean;
    };
};
export {};
