/// <reference types="dayjs" />
import type { CalendarInstance } from 'element-plus';
declare var __VLS_7: {
    data: {
        isSelected: boolean;
        type: string;
        day: string;
        date: Date;
    };
}, __VLS_9: {
    date: string;
};
type __VLS_Slots = {} & {
    'date-cell'?: (props: typeof __VLS_7) => any;
} & {
    header?: (props: typeof __VLS_9) => any;
};
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<{
    modelValue: {
        readonly type: import("vue").PropType<Date>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    range: {
        readonly type: import("vue").PropType<[Date, Date]>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
}, {
    selectedDay: import("dayjs").Dayjs | undefined;
    pickDay: (day: import("dayjs").Dayjs) => void;
    selectDate: (type: import("element-plus").CalendarDateType) => void;
    calculateValidatedDateRange: (startDayjs: import("dayjs").Dayjs, endDayjs: import("dayjs").Dayjs) => [import("dayjs").Dayjs, import("dayjs").Dayjs][];
    elRef: import("vue").Ref<CalendarInstance | undefined>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    input: (value: Date) => void;
    "update:modelValue": (value: Date) => void;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    modelValue: {
        readonly type: import("vue").PropType<Date>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    range: {
        readonly type: import("vue").PropType<[Date, Date]>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
}>> & {
    onInput?: ((value: Date) => any) | undefined;
    "onUpdate:modelValue"?: ((value: Date) => any) | undefined;
}, {}, {}>, __VLS_Slots>;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
