import dayjs from 'dayjs';
import { DateRangePickerPartial, DatePickerYearChangeTrigger, DatePickerMonthChangeTrigger } from './type';
declare const _default: import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
    panelProps: import("@vue/composition-api").ComputedRef<{
        hoverValue: string[];
        value: string[];
        activeIndex: number;
        year: number[];
        month: number[];
        mode: "month" | "year" | "quarter" | "week" | "date";
        format: string;
        presets: import("./type").PresetRange;
        time: string[];
        disableDate: import("./type").DisableRangeDate;
        disableTime: (times: Date[], context: {
            partial: DateRangePickerPartial;
        }) => Partial<{
            hour: number[];
            minute: number[];
            second: number[];
        }>;
        firstDayOfWeek: number;
        timePickerProps: import("..").TdTimePickerProps;
        enableTimePicker: boolean;
        presetsPlacement: "left" | "top" | "bottom" | "right";
        panelPreselection: boolean;
        popupVisible: boolean | Boolean;
        onPanelClick: (context: {
            e: MouseEvent;
        }) => void;
        onCellClick: (date: Date, { e }: {
            e: MouseEvent;
        }) => void;
        onCellMouseEnter: (date: Date) => void;
        onCellMouseLeave: () => void;
        onJumperClick: ({ trigger, partial }: {
            trigger: string;
            partial: DateRangePickerPartial;
        }) => void;
        onConfirmClick: ({ e }: {
            e: MouseEvent;
        }) => void;
        onPresetClick: (preset: any, context: any) => void;
        onYearChange: (nextVal: number, { partial }: {
            partial: DateRangePickerPartial;
        }) => void;
        onMonthChange: (nextVal: number, { partial }: {
            partial: DateRangePickerPartial;
        }) => void;
        onTimePickerChange: (val: string) => void;
    }>;
}> & import("@vue/composition-api").Data, {}, {}, {
    defaultTime: {
        type: import("vue").PropType<string[]>;
        default: () => string[];
    };
    onCellClick: import("vue").PropType<(context: {
        date: Date[];
        partial: DateRangePickerPartial;
        e: MouseEvent;
    }) => void>;
    onChange: import("vue").PropType<(value: import("./type").DateRangeValue, context: {
        dayjsValue?: dayjs.Dayjs[];
        partial: DateRangePickerPartial;
        e?: MouseEvent;
        trigger?: import("./type").DatePickerTriggerSource;
    }) => void>;
    onConfirm: import("vue").PropType<(context: {
        date: Date[];
        e: MouseEvent;
    }) => void>;
    onMonthChange: import("vue").PropType<(context: {
        month: number;
        date: Date[];
        partial: DateRangePickerPartial;
        e?: MouseEvent;
        trigger: DatePickerMonthChangeTrigger;
    }) => void>;
    onPanelClick: import("vue").PropType<(context: {
        e: MouseEvent;
    }) => void>;
    onPresetClick: import("vue").PropType<(context: {
        preset: import("./type").PresetDate;
        e: MouseEvent;
    }) => void>;
    onTimeChange: import("vue").PropType<(context: {
        time: string;
        date: Date[];
        partial: DateRangePickerPartial;
        trigger: import("./type").DatePickerTimeChangeTrigger;
        e?: MouseEvent;
    }) => void>;
    onYearChange: import("vue").PropType<(context: {
        year: number;
        date: Date[];
        partial: DateRangePickerPartial;
        trigger: DatePickerYearChangeTrigger;
        e?: MouseEvent;
    }) => void>;
    value: {
        type: import("vue").PropType<import("./type").DateRangeValue>;
        default: () => import("./type").DateRangeValue;
    };
    defaultValue: {
        type: import("vue").PropType<import("./type").DateRangeValue>;
        default: () => import("./type").DateRangeValue;
    };
    disabled: BooleanConstructor;
    disableDate: {
        type: import("vue").PropType<import("./type").DisableRangeDate>;
    };
    disableTime: {
        type: import("vue").PropType<(times: Date[], context: {
            partial: DateRangePickerPartial;
        }) => Partial<{
            hour: number[];
            minute: number[];
            second: number[];
        }>>;
    };
    enableTimePicker: BooleanConstructor;
    firstDayOfWeek: {
        type: NumberConstructor;
        validator(val: number): boolean;
    };
    format: {
        type: StringConstructor;
        default: string;
    };
    mode: {
        type: import("vue").PropType<"month" | "year" | "quarter" | "week" | "date">;
        default: "month" | "year" | "quarter" | "week" | "date";
        validator(val: "month" | "year" | "quarter" | "week" | "date"): boolean;
    };
    presets: {
        type: import("vue").PropType<import("./type").PresetRange>;
    };
    presetsPlacement: {
        type: import("vue").PropType<"left" | "top" | "bottom" | "right">;
        default: "left" | "top" | "bottom" | "right";
        validator(val: "left" | "top" | "bottom" | "right"): boolean;
    };
    timePickerProps: {
        type: import("vue").PropType<import("..").TdTimePickerProps>;
    };
    panelPreselection: {
        type: BooleanConstructor;
        default: boolean;
    };
}, import("@vue/composition-api").ExtractPropTypes<{
    defaultTime: {
        type: import("vue").PropType<string[]>;
        default: () => string[];
    };
    onCellClick: import("vue").PropType<(context: {
        date: Date[];
        partial: DateRangePickerPartial;
        e: MouseEvent;
    }) => void>;
    onChange: import("vue").PropType<(value: import("./type").DateRangeValue, context: {
        dayjsValue?: dayjs.Dayjs[];
        partial: DateRangePickerPartial;
        e?: MouseEvent;
        trigger?: import("./type").DatePickerTriggerSource;
    }) => void>;
    onConfirm: import("vue").PropType<(context: {
        date: Date[];
        e: MouseEvent;
    }) => void>;
    onMonthChange: import("vue").PropType<(context: {
        month: number;
        date: Date[];
        partial: DateRangePickerPartial;
        e?: MouseEvent;
        trigger: DatePickerMonthChangeTrigger;
    }) => void>;
    onPanelClick: import("vue").PropType<(context: {
        e: MouseEvent;
    }) => void>;
    onPresetClick: import("vue").PropType<(context: {
        preset: import("./type").PresetDate;
        e: MouseEvent;
    }) => void>;
    onTimeChange: import("vue").PropType<(context: {
        time: string;
        date: Date[];
        partial: DateRangePickerPartial;
        trigger: import("./type").DatePickerTimeChangeTrigger;
        e?: MouseEvent;
    }) => void>;
    onYearChange: import("vue").PropType<(context: {
        year: number;
        date: Date[];
        partial: DateRangePickerPartial;
        trigger: DatePickerYearChangeTrigger;
        e?: MouseEvent;
    }) => void>;
    value: {
        type: import("vue").PropType<import("./type").DateRangeValue>;
        default: () => import("./type").DateRangeValue;
    };
    defaultValue: {
        type: import("vue").PropType<import("./type").DateRangeValue>;
        default: () => import("./type").DateRangeValue;
    };
    disabled: BooleanConstructor;
    disableDate: {
        type: import("vue").PropType<import("./type").DisableRangeDate>;
    };
    disableTime: {
        type: import("vue").PropType<(times: Date[], context: {
            partial: DateRangePickerPartial;
        }) => Partial<{
            hour: number[];
            minute: number[];
            second: number[];
        }>>;
    };
    enableTimePicker: BooleanConstructor;
    firstDayOfWeek: {
        type: NumberConstructor;
        validator(val: number): boolean;
    };
    format: {
        type: StringConstructor;
        default: string;
    };
    mode: {
        type: import("vue").PropType<"month" | "year" | "quarter" | "week" | "date">;
        default: "month" | "year" | "quarter" | "week" | "date";
        validator(val: "month" | "year" | "quarter" | "week" | "date"): boolean;
    };
    presets: {
        type: import("vue").PropType<import("./type").PresetRange>;
    };
    presetsPlacement: {
        type: import("vue").PropType<"left" | "top" | "bottom" | "right">;
        default: "left" | "top" | "bottom" | "right";
        validator(val: "left" | "top" | "bottom" | "right"): boolean;
    };
    timePickerProps: {
        type: import("vue").PropType<import("..").TdTimePickerProps>;
    };
    panelPreselection: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
    value: import("./type").DateRangeValue;
    disabled: boolean;
    defaultValue: import("./type").DateRangeValue;
    format: string;
    mode: "month" | "year" | "quarter" | "week" | "date";
    enableTimePicker: boolean;
    presetsPlacement: "left" | "top" | "bottom" | "right";
    defaultTime: string[];
    panelPreselection: boolean;
} & {
    onChange?: (value: import("./type").DateRangeValue, context: {
        dayjsValue?: dayjs.Dayjs[];
        partial: DateRangePickerPartial;
        e?: MouseEvent;
        trigger?: import("./type").DatePickerTriggerSource;
    }) => void;
    firstDayOfWeek?: number;
    onCellClick?: (context: {
        date: Date[];
        partial: DateRangePickerPartial;
        e: MouseEvent;
    }) => void;
    onMonthChange?: (context: {
        month: number;
        date: Date[];
        partial: DateRangePickerPartial;
        e?: MouseEvent;
        trigger: DatePickerMonthChangeTrigger;
    }) => void;
    disableTime?: (times: Date[], context: {
        partial: DateRangePickerPartial;
    }) => Partial<{
        hour: number[];
        minute: number[];
        second: number[];
    }>;
    presets?: import("./type").PresetRange;
    disableDate?: unknown;
    timePickerProps?: unknown;
    onConfirm?: (context: {
        date: Date[];
        e: MouseEvent;
    }) => void;
    onPanelClick?: (context: {
        e: MouseEvent;
    }) => void;
    onPresetClick?: (context: {
        preset: import("./type").PresetDate;
        e: MouseEvent;
    }) => void;
    onTimeChange?: (context: {
        time: string;
        date: Date[];
        partial: DateRangePickerPartial;
        trigger: import("./type").DatePickerTimeChangeTrigger;
        e?: MouseEvent;
    }) => void;
    onYearChange?: (context: {
        year: number;
        date: Date[];
        partial: DateRangePickerPartial;
        trigger: DatePickerYearChangeTrigger;
        e?: MouseEvent;
    }) => void;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    panelProps: import("@vue/composition-api").ComputedRef<{
        hoverValue: string[];
        value: string[];
        activeIndex: number;
        year: number[];
        month: number[];
        mode: "month" | "year" | "quarter" | "week" | "date";
        format: string;
        presets: import("./type").PresetRange;
        time: string[];
        disableDate: import("./type").DisableRangeDate;
        disableTime: (times: Date[], context: {
            partial: DateRangePickerPartial;
        }) => Partial<{
            hour: number[];
            minute: number[];
            second: number[];
        }>;
        firstDayOfWeek: number;
        timePickerProps: import("..").TdTimePickerProps;
        enableTimePicker: boolean;
        presetsPlacement: "left" | "top" | "bottom" | "right";
        panelPreselection: boolean;
        popupVisible: boolean | Boolean;
        onPanelClick: (context: {
            e: MouseEvent;
        }) => void;
        onCellClick: (date: Date, { e }: {
            e: MouseEvent;
        }) => void;
        onCellMouseEnter: (date: Date) => void;
        onCellMouseLeave: () => void;
        onJumperClick: ({ trigger, partial }: {
            trigger: string;
            partial: DateRangePickerPartial;
        }) => void;
        onConfirmClick: ({ e }: {
            e: MouseEvent;
        }) => void;
        onPresetClick: (preset: any, context: any) => void;
        onYearChange: (nextVal: number, { partial }: {
            partial: DateRangePickerPartial;
        }) => void;
        onMonthChange: (nextVal: number, { partial }: {
            partial: DateRangePickerPartial;
        }) => void;
        onTimePickerChange: (val: string) => void;
    }>;
}>, import("@vue/composition-api").Data, {}, {}, {}, {}, {}, {
    value: import("./type").DateRangeValue;
    disabled: boolean;
    defaultValue: import("./type").DateRangeValue;
    format: string;
    mode: "month" | "year" | "quarter" | "week" | "date";
    enableTimePicker: boolean;
    presetsPlacement: "left" | "top" | "bottom" | "right";
    defaultTime: string[];
    panelPreselection: boolean;
} & {
    onChange?: (value: import("./type").DateRangeValue, context: {
        dayjsValue?: dayjs.Dayjs[];
        partial: DateRangePickerPartial;
        e?: MouseEvent;
        trigger?: import("./type").DatePickerTriggerSource;
    }) => void;
    firstDayOfWeek?: number;
    onCellClick?: (context: {
        date: Date[];
        partial: DateRangePickerPartial;
        e: MouseEvent;
    }) => void;
    onMonthChange?: (context: {
        month: number;
        date: Date[];
        partial: DateRangePickerPartial;
        e?: MouseEvent;
        trigger: DatePickerMonthChangeTrigger;
    }) => void;
    disableTime?: (times: Date[], context: {
        partial: DateRangePickerPartial;
    }) => Partial<{
        hour: number[];
        minute: number[];
        second: number[];
    }>;
    presets?: import("./type").PresetRange;
    disableDate?: unknown;
    timePickerProps?: unknown;
    onConfirm?: (context: {
        date: Date[];
        e: MouseEvent;
    }) => void;
    onPanelClick?: (context: {
        e: MouseEvent;
    }) => void;
    onPresetClick?: (context: {
        preset: import("./type").PresetDate;
        e: MouseEvent;
    }) => void;
    onTimeChange?: (context: {
        time: string;
        date: Date[];
        partial: DateRangePickerPartial;
        trigger: import("./type").DatePickerTimeChangeTrigger;
        e?: MouseEvent;
    }) => void;
    onYearChange?: (context: {
        year: number;
        date: Date[];
        partial: DateRangePickerPartial;
        trigger: DatePickerYearChangeTrigger;
        e?: MouseEvent;
    }) => void;
}, {
    value: import("./type").DateRangeValue;
    disabled: boolean;
    defaultValue: import("./type").DateRangeValue;
    format: string;
    mode: "month" | "year" | "quarter" | "week" | "date";
    enableTimePicker: boolean;
    presetsPlacement: "left" | "top" | "bottom" | "right";
    defaultTime: string[];
    panelPreselection: boolean;
}, true>);
export default _default;
