/// <reference types="shims-vue" />
import { PropType } from 'vue';
import { formatDate } from '../utils/date';
import { CalendarMode, DateInfo, PriceData } from '../types/index';
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    modelValue: {
        type: PropType<Date | [Date, Date] | [Date, null]>;
        default: () => Date;
    };
    mode: {
        type: PropType<CalendarMode>;
        default: string;
        validator: (value: string) => boolean;
    };
    allowClickOtherMonthDay: {
        type: BooleanConstructor;
        default: boolean;
        description: string;
    };
    showLunar: {
        type: BooleanConstructor;
        default: boolean;
    };
    showHoliday: {
        type: BooleanConstructor;
        default: boolean;
    };
    showPrice: {
        type: BooleanConstructor;
        default: boolean;
    };
    priceData: {
        type: PropType<PriceData>;
        default: () => {};
    };
    checkInData: {
        type: PropType<Record<string, boolean>>;
        default: () => {};
    };
    rangeMode: {
        type: BooleanConstructor;
        default: boolean;
    };
    firstDayOfWeek: {
        type: PropType<0 | 1>;
        default: number;
        validator: (value: number) => boolean;
    };
    disabledDate: {
        type: PropType<(date: Date) => boolean>;
        default: () => null;
    };
    highlightWeekend: {
        type: BooleanConstructor;
        default: boolean;
    };
    autoHeight: {
        type: BooleanConstructor;
        default: boolean;
    };
}>, {
    currentDate: import("vue").Ref<Date, Date>;
    currentYear: import("vue").ComputedRef<number>;
    currentMonth: import("vue").ComputedRef<number>;
    showYearPicker: import("vue").Ref<boolean, boolean>;
    showMonthPicker: import("vue").Ref<boolean, boolean>;
    yearRange: import("vue").ComputedRef<number[]>;
    innerValue: import("vue").ComputedRef<Date>;
    rangeStart: import("vue").ComputedRef<Date | undefined>;
    rangeEnd: import("vue").ComputedRef<Date | undefined>;
    formatDate: typeof formatDate;
    handleDayClick: (event: MouseEvent, day: DateInfo) => void;
    handleYearSelect: (year: number) => void;
    handleMonthSelect: (month: number) => void;
    handleYeardivMonthClick: (month: number) => void;
    handlePrev: () => void;
    handleNext: () => void;
    goToToday: () => void;
    goToDate: (date: Date) => void;
    handleCheckIn: (date: Date) => void;
    handleOutsideClick: () => void;
    toggleYearPicker: (event: MouseEvent) => void;
    toggleMonthPicker: (event: MouseEvent) => void;
    swiperRef: import("vue").Ref<null, null>;
    weekSwiperRef: import("vue").Ref<null, null>;
    daySwiperRef: import("vue").Ref<null, null>;
    swiperCurrent: import("vue").Ref<number, number>;
    swiperMonths: import("vue").ComputedRef<{
        date: Date;
        year: number;
        month: number;
    }[]>;
    swiperWeeks: import("vue").ComputedRef<{
        date: Date;
    }[]>;
    swiperDays: import("vue").ComputedRef<{
        date: Date;
    }[]>;
    handleSwiperChange: (direction: 'prev' | 'next') => void;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    'update:modelValue': (value: Date | [Date, Date] | [Date, null]) => true;
    'date-click': (date: Date) => true;
    'range-change': (range: [Date, Date]) => true;
    'month-change': (date: Date) => true;
    'check-in': (date: Date) => true;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    modelValue: {
        type: PropType<Date | [Date, Date] | [Date, null]>;
        default: () => Date;
    };
    mode: {
        type: PropType<CalendarMode>;
        default: string;
        validator: (value: string) => boolean;
    };
    allowClickOtherMonthDay: {
        type: BooleanConstructor;
        default: boolean;
        description: string;
    };
    showLunar: {
        type: BooleanConstructor;
        default: boolean;
    };
    showHoliday: {
        type: BooleanConstructor;
        default: boolean;
    };
    showPrice: {
        type: BooleanConstructor;
        default: boolean;
    };
    priceData: {
        type: PropType<PriceData>;
        default: () => {};
    };
    checkInData: {
        type: PropType<Record<string, boolean>>;
        default: () => {};
    };
    rangeMode: {
        type: BooleanConstructor;
        default: boolean;
    };
    firstDayOfWeek: {
        type: PropType<0 | 1>;
        default: number;
        validator: (value: number) => boolean;
    };
    disabledDate: {
        type: PropType<(date: Date) => boolean>;
        default: () => null;
    };
    highlightWeekend: {
        type: BooleanConstructor;
        default: boolean;
    };
    autoHeight: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & Readonly<{
    "onCheck-in"?: ((date: Date) => any) | undefined;
    "onUpdate:modelValue"?: ((value: Date | [Date, Date] | [Date, null]) => any) | undefined;
    "onDate-click"?: ((date: Date) => any) | undefined;
    "onRange-change"?: ((range: [Date, Date]) => any) | undefined;
    "onMonth-change"?: ((date: Date) => any) | undefined;
}>, {
    modelValue: Date | [Date, Date] | [Date, null];
    mode: CalendarMode;
    showLunar: boolean;
    showHoliday: boolean;
    showPrice: boolean;
    priceData: PriceData;
    checkInData: Record<string, boolean>;
    rangeMode: boolean;
    firstDayOfWeek: 0 | 1;
    disabledDate: (date: Date) => boolean;
    highlightWeekend: boolean;
    autoHeight: boolean;
    allowClickOtherMonthDay: boolean;
}, {}, {
    CalendarHeader: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        currentYear: {
            type: NumberConstructor;
            required: true;
        };
        currentMonth: {
            type: NumberConstructor;
            required: true;
        };
        mode: {
            type: PropType<CalendarMode>;
            default: string;
        };
        showYearPicker: {
            type: BooleanConstructor;
            default: boolean;
        };
        showMonthPicker: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>, {
        handlePrev: () => void;
        handleNext: () => void;
        goToToday: () => void;
        toggleYearPicker: (event: Event) => void;
        toggleMonthPicker: (event: Event) => void;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("prev" | "next" | "today" | "toggle-year-picker" | "toggle-month-picker")[], "prev" | "next" | "today" | "toggle-year-picker" | "toggle-month-picker", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        currentYear: {
            type: NumberConstructor;
            required: true;
        };
        currentMonth: {
            type: NumberConstructor;
            required: true;
        };
        mode: {
            type: PropType<CalendarMode>;
            default: string;
        };
        showYearPicker: {
            type: BooleanConstructor;
            default: boolean;
        };
        showMonthPicker: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{
        onPrev?: ((...args: any[]) => any) | undefined;
        onNext?: ((...args: any[]) => any) | undefined;
        onToday?: ((...args: any[]) => any) | undefined;
        "onToggle-year-picker"?: ((...args: any[]) => any) | undefined;
        "onToggle-month-picker"?: ((...args: any[]) => any) | undefined;
    }>, {
        mode: CalendarMode;
        showYearPicker: boolean;
        showMonthPicker: boolean;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    YearPicker: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        currentYear: {
            type: NumberConstructor;
            required: true;
        };
        range: {
            type: PropType<number | number[]>;
            default: number;
        };
    }>, {
        yearRange: import("vue").ComputedRef<number[]>;
        handleYearSelect: (year: number) => void;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "year-select"[], "year-select", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        currentYear: {
            type: NumberConstructor;
            required: true;
        };
        range: {
            type: PropType<number | number[]>;
            default: number;
        };
    }>> & Readonly<{
        "onYear-select"?: ((...args: any[]) => any) | undefined;
    }>, {
        range: number | number[];
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    MonthPicker: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        currentMonth: {
            type: NumberConstructor;
            required: true;
        };
    }>, {
        handleMonthSelect: (month: number) => void;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "month-select"[], "month-select", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        currentMonth: {
            type: NumberConstructor;
            required: true;
        };
    }>> & Readonly<{
        "onMonth-select"?: ((...args: any[]) => any) | undefined;
    }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    MonthView: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        year: {
            type: NumberConstructor;
            required: true;
        };
        month: {
            type: NumberConstructor;
            required: true;
        };
        selectedDate: {
            type: DateConstructor;
            default: null;
        };
        rangeStart: {
            type: DateConstructor;
            default: null;
        };
        rangeEnd: {
            type: DateConstructor;
            default: null;
        };
        firstDayOfWeek: {
            type: PropType<0 | 1>;
            default: number;
            validator: (value: number) => boolean;
        };
        showLunar: {
            type: BooleanConstructor;
            default: boolean;
        };
        showHoliday: {
            type: BooleanConstructor;
            default: boolean;
        };
        showPrice: {
            type: BooleanConstructor;
            default: boolean;
        };
        priceData: {
            type: PropType<Record<string, number>>;
            default: () => {};
        };
        checkInData: {
            type: PropType<Record<string, boolean>>;
            default: () => {};
        };
        disabledDate: {
            type: PropType<(date: Date) => boolean>;
            default: () => null;
        };
        highlightWeekend: {
            type: BooleanConstructor;
            default: boolean;
        };
        rangeMode: {
            type: BooleanConstructor;
            default: boolean;
        };
        allowClickOtherMonthDay: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>, {
        monthDays: import("vue").ComputedRef<DateInfo[]>;
        getDayClass: (day: DateInfo) => string;
        handleDayClick: (event: DateInfo | MouseEvent, dayInfo?: DateInfo | undefined) => void;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        'day-click': (event: MouseEvent, day: DateInfo) => true;
    }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        year: {
            type: NumberConstructor;
            required: true;
        };
        month: {
            type: NumberConstructor;
            required: true;
        };
        selectedDate: {
            type: DateConstructor;
            default: null;
        };
        rangeStart: {
            type: DateConstructor;
            default: null;
        };
        rangeEnd: {
            type: DateConstructor;
            default: null;
        };
        firstDayOfWeek: {
            type: PropType<0 | 1>;
            default: number;
            validator: (value: number) => boolean;
        };
        showLunar: {
            type: BooleanConstructor;
            default: boolean;
        };
        showHoliday: {
            type: BooleanConstructor;
            default: boolean;
        };
        showPrice: {
            type: BooleanConstructor;
            default: boolean;
        };
        priceData: {
            type: PropType<Record<string, number>>;
            default: () => {};
        };
        checkInData: {
            type: PropType<Record<string, boolean>>;
            default: () => {};
        };
        disabledDate: {
            type: PropType<(date: Date) => boolean>;
            default: () => null;
        };
        highlightWeekend: {
            type: BooleanConstructor;
            default: boolean;
        };
        rangeMode: {
            type: BooleanConstructor;
            default: boolean;
        };
        allowClickOtherMonthDay: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{
        "onDay-click"?: ((event: MouseEvent, day: DateInfo) => any) | undefined;
    }>, {
        showLunar: boolean;
        showHoliday: boolean;
        showPrice: boolean;
        priceData: Record<string, number>;
        checkInData: Record<string, boolean>;
        rangeMode: boolean;
        firstDayOfWeek: 0 | 1;
        disabledDate: (date: Date) => boolean;
        highlightWeekend: boolean;
        selectedDate: Date;
        rangeStart: Date;
        rangeEnd: Date;
        allowClickOtherMonthDay: boolean;
    }, {}, {
        WeekHeader: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
            firstDayOfWeek: {
                type: PropType<0 | 1>;
                default: number;
                validator: (value: number) => boolean;
            };
            abbreviated: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>, {
            weekDays: import("vue").ComputedRef<string[]>;
        }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
            firstDayOfWeek: {
                type: PropType<0 | 1>;
                default: number;
                validator: (value: number) => boolean;
            };
            abbreviated: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>> & Readonly<{}>, {
            firstDayOfWeek: 0 | 1;
            abbreviated: boolean;
        }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
        DayCell: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
            day: {
                type: PropType<DateInfo>;
                required: true;
            };
            showLunar: {
                type: BooleanConstructor;
                default: boolean;
            };
            showPrice: {
                type: BooleanConstructor;
                default: boolean;
            };
            disabledDate: {
                type: PropType<(date: Date) => boolean>;
                default: () => null;
            };
            highlightWeekend: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>, {
            dayClass: import("vue").ComputedRef<{
                'uni-calendar__day--not-current-month': boolean;
                'uni-calendar__day--today': boolean;
                'uni-calendar__day--selected': boolean;
                'uni-calendar__day--in-range': boolean | undefined;
                'uni-calendar__day--range-start': boolean | undefined;
                'uni-calendar__day--range-end': boolean | undefined;
                'uni-calendar__day--weekend': boolean | undefined;
                'uni-calendar__day--holiday': boolean | undefined;
                'uni-calendar__day--rest-day': boolean | undefined;
                'uni-calendar__day--work-day': boolean | undefined;
                'uni-calendar__day--checked-in': boolean | undefined;
                'uni-calendar__day--disabled': boolean;
                'uni-calendar__day--lunar-first-day': boolean;
                'uni-calendar__day--solar-term': boolean | "" | undefined;
            }>;
            handleClick: (event: MouseEvent, day: DateInfo) => void;
            handleTouchStart: (event: MouseEvent | TouchEvent) => void;
            handleTouchEnd: (event: MouseEvent | TouchEvent) => void;
        }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
            'day-click': (event: MouseEvent, day: DateInfo) => true;
        }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
            day: {
                type: PropType<DateInfo>;
                required: true;
            };
            showLunar: {
                type: BooleanConstructor;
                default: boolean;
            };
            showPrice: {
                type: BooleanConstructor;
                default: boolean;
            };
            disabledDate: {
                type: PropType<(date: Date) => boolean>;
                default: () => null;
            };
            highlightWeekend: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>> & Readonly<{
            "onDay-click"?: ((event: MouseEvent, day: DateInfo) => any) | undefined;
        }>, {
            showLunar: boolean;
            showPrice: boolean;
            disabledDate: (date: Date) => boolean;
            highlightWeekend: boolean;
        }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    WeekView: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        date: {
            type: DateConstructor;
            required: true;
        };
        selectedDate: {
            type: DateConstructor;
            default: null;
        };
        rangeStart: {
            type: DateConstructor;
            default: null;
        };
        rangeEnd: {
            type: DateConstructor;
            default: null;
        };
        firstDayOfWeek: {
            type: PropType<0 | 1>;
            default: number;
            validator: (value: number) => boolean;
        };
        showLunar: {
            type: BooleanConstructor;
            default: boolean;
        };
        showHoliday: {
            type: BooleanConstructor;
            default: boolean;
        };
        showPrice: {
            type: BooleanConstructor;
            default: boolean;
        };
        priceData: {
            type: PropType<Record<string, number>>;
            default: () => {};
        };
        checkInData: {
            type: PropType<Record<string, boolean>>;
            default: () => {};
        };
        disabledDate: {
            type: PropType<(date: Date) => boolean>;
            default: null;
        };
        highlightWeekend: {
            type: BooleanConstructor;
            default: boolean;
        };
        rangeMode: {
            type: BooleanConstructor;
            default: boolean;
        };
        allowClickOtherMonthDay: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>, {
        weekDays: import("vue").ComputedRef<DateInfo[]>;
        getDayClass: (day: DateInfo) => string;
        handleDayClick: (event: DateInfo | MouseEvent, dayInfo?: DateInfo | undefined) => void;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "day-click"[], "day-click", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        date: {
            type: DateConstructor;
            required: true;
        };
        selectedDate: {
            type: DateConstructor;
            default: null;
        };
        rangeStart: {
            type: DateConstructor;
            default: null;
        };
        rangeEnd: {
            type: DateConstructor;
            default: null;
        };
        firstDayOfWeek: {
            type: PropType<0 | 1>;
            default: number;
            validator: (value: number) => boolean;
        };
        showLunar: {
            type: BooleanConstructor;
            default: boolean;
        };
        showHoliday: {
            type: BooleanConstructor;
            default: boolean;
        };
        showPrice: {
            type: BooleanConstructor;
            default: boolean;
        };
        priceData: {
            type: PropType<Record<string, number>>;
            default: () => {};
        };
        checkInData: {
            type: PropType<Record<string, boolean>>;
            default: () => {};
        };
        disabledDate: {
            type: PropType<(date: Date) => boolean>;
            default: null;
        };
        highlightWeekend: {
            type: BooleanConstructor;
            default: boolean;
        };
        rangeMode: {
            type: BooleanConstructor;
            default: boolean;
        };
        allowClickOtherMonthDay: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{
        "onDay-click"?: ((...args: any[]) => any) | undefined;
    }>, {
        showLunar: boolean;
        showHoliday: boolean;
        showPrice: boolean;
        priceData: Record<string, number>;
        checkInData: Record<string, boolean>;
        rangeMode: boolean;
        firstDayOfWeek: 0 | 1;
        disabledDate: (date: Date) => boolean;
        highlightWeekend: boolean;
        selectedDate: Date;
        rangeStart: Date;
        rangeEnd: Date;
        allowClickOtherMonthDay: boolean;
    }, {}, {
        WeekHeader: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
            firstDayOfWeek: {
                type: PropType<0 | 1>;
                default: number;
                validator: (value: number) => boolean;
            };
            abbreviated: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>, {
            weekDays: import("vue").ComputedRef<string[]>;
        }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
            firstDayOfWeek: {
                type: PropType<0 | 1>;
                default: number;
                validator: (value: number) => boolean;
            };
            abbreviated: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>> & Readonly<{}>, {
            firstDayOfWeek: 0 | 1;
            abbreviated: boolean;
        }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
        DayCell: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
            day: {
                type: PropType<DateInfo>;
                required: true;
            };
            showLunar: {
                type: BooleanConstructor;
                default: boolean;
            };
            showPrice: {
                type: BooleanConstructor;
                default: boolean;
            };
            disabledDate: {
                type: PropType<(date: Date) => boolean>;
                default: () => null;
            };
            highlightWeekend: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>, {
            dayClass: import("vue").ComputedRef<{
                'uni-calendar__day--not-current-month': boolean;
                'uni-calendar__day--today': boolean;
                'uni-calendar__day--selected': boolean;
                'uni-calendar__day--in-range': boolean | undefined;
                'uni-calendar__day--range-start': boolean | undefined;
                'uni-calendar__day--range-end': boolean | undefined;
                'uni-calendar__day--weekend': boolean | undefined;
                'uni-calendar__day--holiday': boolean | undefined;
                'uni-calendar__day--rest-day': boolean | undefined;
                'uni-calendar__day--work-day': boolean | undefined;
                'uni-calendar__day--checked-in': boolean | undefined;
                'uni-calendar__day--disabled': boolean;
                'uni-calendar__day--lunar-first-day': boolean;
                'uni-calendar__day--solar-term': boolean | "" | undefined;
            }>;
            handleClick: (event: MouseEvent, day: DateInfo) => void;
            handleTouchStart: (event: MouseEvent | TouchEvent) => void;
            handleTouchEnd: (event: MouseEvent | TouchEvent) => void;
        }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
            'day-click': (event: MouseEvent, day: DateInfo) => true;
        }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
            day: {
                type: PropType<DateInfo>;
                required: true;
            };
            showLunar: {
                type: BooleanConstructor;
                default: boolean;
            };
            showPrice: {
                type: BooleanConstructor;
                default: boolean;
            };
            disabledDate: {
                type: PropType<(date: Date) => boolean>;
                default: () => null;
            };
            highlightWeekend: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>> & Readonly<{
            "onDay-click"?: ((event: MouseEvent, day: DateInfo) => any) | undefined;
        }>, {
            showLunar: boolean;
            showPrice: boolean;
            disabledDate: (date: Date) => boolean;
            highlightWeekend: boolean;
        }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    DayView: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        date: {
            type: DateConstructor;
            required: true;
        };
        selectedDate: {
            type: DateConstructor;
            default: null;
        };
        firstDayOfWeek: {
            type: NumberConstructor;
            default: number;
            validator: (value: number) => boolean;
        };
        showLunar: {
            type: BooleanConstructor;
            default: boolean;
        };
        showHoliday: {
            type: BooleanConstructor;
            default: boolean;
        };
        showPrice: {
            type: BooleanConstructor;
            default: boolean;
        };
        priceData: {
            type: PropType<Record<string, number>>;
            default: () => {};
        };
        checkInData: {
            type: PropType<Record<string, boolean>>;
            default: () => {};
        };
        disabledDate: {
            type: PropType<(date: Date) => boolean>;
            default: null;
        };
        highlightWeekend: {
            type: BooleanConstructor;
            default: boolean;
        };
        allowClickOtherMonthDay: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>, {
        weekDays: import("vue").ComputedRef<string[]>;
        dayInfo: import("vue").ComputedRef<DateInfo>;
        getDayClass: (day: DateInfo) => string;
        handleDayClick: (event: DateInfo | MouseEvent, dayInfo?: DateInfo | undefined) => void;
        handleCheckIn: (date: Date) => void;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("day-click" | "check-in")[], "day-click" | "check-in", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        date: {
            type: DateConstructor;
            required: true;
        };
        selectedDate: {
            type: DateConstructor;
            default: null;
        };
        firstDayOfWeek: {
            type: NumberConstructor;
            default: number;
            validator: (value: number) => boolean;
        };
        showLunar: {
            type: BooleanConstructor;
            default: boolean;
        };
        showHoliday: {
            type: BooleanConstructor;
            default: boolean;
        };
        showPrice: {
            type: BooleanConstructor;
            default: boolean;
        };
        priceData: {
            type: PropType<Record<string, number>>;
            default: () => {};
        };
        checkInData: {
            type: PropType<Record<string, boolean>>;
            default: () => {};
        };
        disabledDate: {
            type: PropType<(date: Date) => boolean>;
            default: null;
        };
        highlightWeekend: {
            type: BooleanConstructor;
            default: boolean;
        };
        allowClickOtherMonthDay: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{
        "onDay-click"?: ((...args: any[]) => any) | undefined;
        "onCheck-in"?: ((...args: any[]) => any) | undefined;
    }>, {
        showLunar: boolean;
        showHoliday: boolean;
        showPrice: boolean;
        priceData: Record<string, number>;
        checkInData: Record<string, boolean>;
        firstDayOfWeek: number;
        disabledDate: (date: Date) => boolean;
        highlightWeekend: boolean;
        selectedDate: Date;
        allowClickOtherMonthDay: boolean;
    }, {}, {
        DayCell: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
            day: {
                type: PropType<DateInfo>;
                required: true;
            };
            showLunar: {
                type: BooleanConstructor;
                default: boolean;
            };
            showPrice: {
                type: BooleanConstructor;
                default: boolean;
            };
            disabledDate: {
                type: PropType<(date: Date) => boolean>;
                default: () => null;
            };
            highlightWeekend: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>, {
            dayClass: import("vue").ComputedRef<{
                'uni-calendar__day--not-current-month': boolean;
                'uni-calendar__day--today': boolean;
                'uni-calendar__day--selected': boolean;
                'uni-calendar__day--in-range': boolean | undefined;
                'uni-calendar__day--range-start': boolean | undefined;
                'uni-calendar__day--range-end': boolean | undefined;
                'uni-calendar__day--weekend': boolean | undefined;
                'uni-calendar__day--holiday': boolean | undefined;
                'uni-calendar__day--rest-day': boolean | undefined;
                'uni-calendar__day--work-day': boolean | undefined;
                'uni-calendar__day--checked-in': boolean | undefined;
                'uni-calendar__day--disabled': boolean;
                'uni-calendar__day--lunar-first-day': boolean;
                'uni-calendar__day--solar-term': boolean | "" | undefined;
            }>;
            handleClick: (event: MouseEvent, day: DateInfo) => void;
            handleTouchStart: (event: MouseEvent | TouchEvent) => void;
            handleTouchEnd: (event: MouseEvent | TouchEvent) => void;
        }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
            'day-click': (event: MouseEvent, day: DateInfo) => true;
        }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
            day: {
                type: PropType<DateInfo>;
                required: true;
            };
            showLunar: {
                type: BooleanConstructor;
                default: boolean;
            };
            showPrice: {
                type: BooleanConstructor;
                default: boolean;
            };
            disabledDate: {
                type: PropType<(date: Date) => boolean>;
                default: () => null;
            };
            highlightWeekend: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>> & Readonly<{
            "onDay-click"?: ((event: MouseEvent, day: DateInfo) => any) | undefined;
        }>, {
            showLunar: boolean;
            showPrice: boolean;
            disabledDate: (date: Date) => boolean;
            highlightWeekend: boolean;
        }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
        DayDetail: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
            date: {
                type: DateConstructor;
                required: true;
            };
            dayInfo: {
                type: PropType<DateInfo>;
                required: true;
            };
            showLunar: {
                type: BooleanConstructor;
                default: boolean;
            };
            showPrice: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>, {
            formattedDate: import("vue").ComputedRef<string>;
            handleCheckIn: () => void;
        }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "check-in"[], "check-in", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
            date: {
                type: DateConstructor;
                required: true;
            };
            dayInfo: {
                type: PropType<DateInfo>;
                required: true;
            };
            showLunar: {
                type: BooleanConstructor;
                default: boolean;
            };
            showPrice: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>> & Readonly<{
            "onCheck-in"?: ((...args: any[]) => any) | undefined;
        }>, {
            showLunar: boolean;
            showPrice: boolean;
        }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    YearView: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        year: {
            type: NumberConstructor;
            required: true;
        };
        selectedMonth: {
            type: NumberConstructor;
            default: number;
        };
    }>, {
        handleMonthClick: (month: number) => void;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "month-click"[], "month-click", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        year: {
            type: NumberConstructor;
            required: true;
        };
        selectedMonth: {
            type: NumberConstructor;
            default: number;
        };
    }>> & Readonly<{
        "onMonth-click"?: ((...args: any[]) => any) | undefined;
    }>, {
        selectedMonth: number;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    CalendarSwiper: import("vue").DefineComponent<{}, {
        swiperRef: import("vue").Ref<HTMLElement | null, HTMLElement | null>;
        touchStart: (e: TouchEvent) => void;
        touchMove: (e: TouchEvent) => void;
        touchEnd: () => void;
        mouseDown: (e: MouseEvent) => void;
        resetSwiper: () => void;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("swipe-left" | "swipe-right")[], "swipe-left" | "swipe-right", import("vue").PublicProps, Readonly<{}> & Readonly<{
        "onSwipe-left"?: ((...args: any[]) => any) | undefined;
        "onSwipe-right"?: ((...args: any[]) => any) | undefined;
    }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    MonthMini: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        year: {
            type: NumberConstructor;
            required: true;
        };
        month: {
            type: NumberConstructor;
            required: true;
        };
        selectedDate: {
            type: DateConstructor;
            default: null;
        };
        rangeStart: {
            type: DateConstructor;
            default: null;
        };
        rangeEnd: {
            type: DateConstructor;
            default: null;
        };
        firstDayOfWeek: {
            type: PropType<0 | 1>;
            default: number;
        };
    }>, {
        weekDays: import("vue").ComputedRef<string[]>;
        monthDays: import("vue").ComputedRef<DateInfo[][]>;
        getDayClass: (day: DateInfo | undefined) => {
            'month-mini__day--not-current-month'?: undefined;
            'month-mini__day--today'?: undefined;
            'month-mini__day--selected'?: undefined;
            'month-mini__day--in-range'?: undefined;
            'month-mini__day--range-start'?: undefined;
            'month-mini__day--range-end'?: undefined;
            'month-mini__day--weekend'?: undefined;
        } | {
            'month-mini__day--not-current-month': boolean;
            'month-mini__day--today': boolean;
            'month-mini__day--selected': boolean;
            'month-mini__day--in-range': boolean | undefined;
            'month-mini__day--range-start': boolean | undefined;
            'month-mini__day--range-end': boolean | undefined;
            'month-mini__day--weekend': boolean | undefined;
        };
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        year: {
            type: NumberConstructor;
            required: true;
        };
        month: {
            type: NumberConstructor;
            required: true;
        };
        selectedDate: {
            type: DateConstructor;
            default: null;
        };
        rangeStart: {
            type: DateConstructor;
            default: null;
        };
        rangeEnd: {
            type: DateConstructor;
            default: null;
        };
        firstDayOfWeek: {
            type: PropType<0 | 1>;
            default: number;
        };
    }>> & Readonly<{}>, {
        firstDayOfWeek: 0 | 1;
        selectedDate: Date;
        rangeStart: Date;
        rangeEnd: Date;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
