import dayjs from 'dayjs';
import type { DateValue, DatePickerYearChangeTrigger, DatePickerMonthChangeTrigger } from './type';
declare const _default: import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
    panelProps: import("@vue/composition-api").ComputedRef<{
        value: string;
        year: number;
        month: number;
        mode: "month" | "year" | "quarter" | "week" | "date";
        format: string;
        presets: import("./type").PresetDate;
        time: string;
        disableDate: import("./type").DisableDate;
        firstDayOfWeek: number;
        timePickerProps: import("..").TdTimePickerProps;
        enableTimePicker: boolean;
        presetsPlacement: "left" | "top" | "bottom" | "right";
        popupVisible: boolean | Boolean;
        onPanelClick: (context: {
            e: MouseEvent;
        }) => void;
        onCellClick: (date: Date, { e }: {
            e: MouseEvent;
        }) => void;
        onJumperClick: ({ trigger }: {
            trigger: 'prev' | 'next' | 'current';
        }) => void;
        onConfirmClick: ({ e }: {
            e: MouseEvent;
        }) => void;
        onPresetClick: (presetValue: any, context: any) => void;
        onYearChange: (nextYear: number) => void;
        onMonthChange: (nextMonth: number) => void;
        onTimePickerChange: (val: string) => void;
    }>;
}> & import("@vue/composition-api").Data, {}, {}, {
    defaultTime: {
        type: StringConstructor;
        default: string;
    };
    onCellClick: import("vue").PropType<(context: {
        date: Date;
        e: MouseEvent;
    }) => void>;
    onChange: import("vue").PropType<(value: DateValue, context: {
        dayjsValue?: dayjs.Dayjs;
        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;
        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;
        trigger: import("./type").DatePickerTimeChangeTrigger;
        e?: MouseEvent;
    }) => void>;
    onYearChange: import("vue").PropType<(context: {
        year: number;
        date: Date;
        trigger: DatePickerYearChangeTrigger;
        e?: MouseEvent;
    }) => void>;
    value: {
        type: import("vue").PropType<DateValue | import("./type").DateMultipleValue>;
        default: string;
    };
    defaultValue: {
        type: import("vue").PropType<DateValue | import("./type").DateMultipleValue>;
        default: string;
    };
    disabled: BooleanConstructor;
    disableDate: {
        type: import("vue").PropType<import("./type").DisableDate>;
    };
    enableTimePicker: BooleanConstructor;
    firstDayOfWeek: {
        type: NumberConstructor;
        validator(val: number): boolean;
    };
    format: {
        type: StringConstructor;
        default: any;
    };
    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").PresetDate>;
    };
    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>;
    };
}, import("@vue/composition-api").ExtractPropTypes<{
    defaultTime: {
        type: StringConstructor;
        default: string;
    };
    onCellClick: import("vue").PropType<(context: {
        date: Date;
        e: MouseEvent;
    }) => void>;
    onChange: import("vue").PropType<(value: DateValue, context: {
        dayjsValue?: dayjs.Dayjs;
        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;
        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;
        trigger: import("./type").DatePickerTimeChangeTrigger;
        e?: MouseEvent;
    }) => void>;
    onYearChange: import("vue").PropType<(context: {
        year: number;
        date: Date;
        trigger: DatePickerYearChangeTrigger;
        e?: MouseEvent;
    }) => void>;
    value: {
        type: import("vue").PropType<DateValue | import("./type").DateMultipleValue>;
        default: string;
    };
    defaultValue: {
        type: import("vue").PropType<DateValue | import("./type").DateMultipleValue>;
        default: string;
    };
    disabled: BooleanConstructor;
    disableDate: {
        type: import("vue").PropType<import("./type").DisableDate>;
    };
    enableTimePicker: BooleanConstructor;
    firstDayOfWeek: {
        type: NumberConstructor;
        validator(val: number): boolean;
    };
    format: {
        type: StringConstructor;
        default: any;
    };
    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").PresetDate>;
    };
    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>;
    };
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
    value: DateValue | import("./type").DateMultipleValue;
    disabled: boolean;
    defaultValue: DateValue | import("./type").DateMultipleValue;
    format: string;
    mode: "month" | "year" | "quarter" | "week" | "date";
    enableTimePicker: boolean;
    presetsPlacement: "left" | "top" | "bottom" | "right";
    defaultTime: string;
} & {
    onChange?: (value: DateValue, context: {
        dayjsValue?: dayjs.Dayjs;
        e?: MouseEvent;
        trigger?: import("./type").DatePickerTriggerSource;
    }) => void;
    firstDayOfWeek?: number;
    onCellClick?: (context: {
        date: Date;
        e: MouseEvent;
    }) => void;
    onMonthChange?: (context: {
        month: number;
        date: Date;
        e?: MouseEvent;
        trigger: DatePickerMonthChangeTrigger;
    }) => void;
    presets?: import("./type").PresetDate;
    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;
        trigger: import("./type").DatePickerTimeChangeTrigger;
        e?: MouseEvent;
    }) => void;
    onYearChange?: (context: {
        year: number;
        date: Date;
        trigger: DatePickerYearChangeTrigger;
        e?: MouseEvent;
    }) => void;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    panelProps: import("@vue/composition-api").ComputedRef<{
        value: string;
        year: number;
        month: number;
        mode: "month" | "year" | "quarter" | "week" | "date";
        format: string;
        presets: import("./type").PresetDate;
        time: string;
        disableDate: import("./type").DisableDate;
        firstDayOfWeek: number;
        timePickerProps: import("..").TdTimePickerProps;
        enableTimePicker: boolean;
        presetsPlacement: "left" | "top" | "bottom" | "right";
        popupVisible: boolean | Boolean;
        onPanelClick: (context: {
            e: MouseEvent;
        }) => void;
        onCellClick: (date: Date, { e }: {
            e: MouseEvent;
        }) => void;
        onJumperClick: ({ trigger }: {
            trigger: 'prev' | 'next' | 'current';
        }) => void;
        onConfirmClick: ({ e }: {
            e: MouseEvent;
        }) => void;
        onPresetClick: (presetValue: any, context: any) => void;
        onYearChange: (nextYear: number) => void;
        onMonthChange: (nextMonth: number) => void;
        onTimePickerChange: (val: string) => void;
    }>;
}>, import("@vue/composition-api").Data, {}, {}, {}, {}, {}, {
    value: DateValue | import("./type").DateMultipleValue;
    disabled: boolean;
    defaultValue: DateValue | import("./type").DateMultipleValue;
    format: string;
    mode: "month" | "year" | "quarter" | "week" | "date";
    enableTimePicker: boolean;
    presetsPlacement: "left" | "top" | "bottom" | "right";
    defaultTime: string;
} & {
    onChange?: (value: DateValue, context: {
        dayjsValue?: dayjs.Dayjs;
        e?: MouseEvent;
        trigger?: import("./type").DatePickerTriggerSource;
    }) => void;
    firstDayOfWeek?: number;
    onCellClick?: (context: {
        date: Date;
        e: MouseEvent;
    }) => void;
    onMonthChange?: (context: {
        month: number;
        date: Date;
        e?: MouseEvent;
        trigger: DatePickerMonthChangeTrigger;
    }) => void;
    presets?: import("./type").PresetDate;
    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;
        trigger: import("./type").DatePickerTimeChangeTrigger;
        e?: MouseEvent;
    }) => void;
    onYearChange?: (context: {
        year: number;
        date: Date;
        trigger: DatePickerYearChangeTrigger;
        e?: MouseEvent;
    }) => void;
}, {
    value: DateValue | import("./type").DateMultipleValue;
    disabled: boolean;
    defaultValue: DateValue | import("./type").DateMultipleValue;
    format: string;
    mode: "month" | "year" | "quarter" | "week" | "date";
    enableTimePicker: boolean;
    presetsPlacement: "left" | "top" | "bottom" | "right";
    defaultTime: string;
}, true>);
export default _default;
