import './style';
import { TdCalendarProps } from './type';
export * from './type';
export type CalendarProps = TdCalendarProps;
export declare const Calendar: {
    new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
        allowSameDay: BooleanConstructor;
        confirmBtn: {
            type: import("vue").PropType<string | import("@/button").TdButtonProps | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue)>;
            default: string | import("@/button").TdButtonProps | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue);
        };
        firstDayOfWeek: {
            type: NumberConstructor;
            default: number;
        };
        format: {
            type: import("vue").PropType<import("@/components").CalendarFormatType>;
        };
        maxDate: {
            type: import("vue").PropType<number | Date>;
        };
        minDate: {
            type: import("vue").PropType<number | Date>;
        };
        readonly: BooleanConstructor;
        switchMode: {
            type: import("vue").PropType<"month" | "none" | "year-month">;
            default: "month" | "none" | "year-month";
            validator(val: "month" | "none" | "year-month"): boolean;
        };
        title: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue)>;
        };
        type: {
            type: import("vue").PropType<"multiple" | "range" | "single">;
            default: "multiple" | "range" | "single";
            validator(val: "multiple" | "range" | "single"): boolean;
        };
        usePopup: {
            type: BooleanConstructor;
            default: boolean;
        };
        value: {
            type: import("vue").PropType<import("@/components").CalendarValue>;
            default: import("@/components").CalendarValue;
        };
        modelValue: {
            type: import("vue").PropType<import("@/components").CalendarValue>;
            default: import("@/components").CalendarValue;
        };
        defaultValue: {
            type: import("vue").PropType<import("@/components").CalendarValue>;
        };
        visible: BooleanConstructor;
        onChange: import("vue").PropType<(value: import("@/components").CalendarValue) => void>;
        onClose: import("vue").PropType<(trigger: import("@/components").CalendarTrigger) => void>;
        onConfirm: import("vue").PropType<(value: import("@/components").CalendarValue) => void>;
        onPanelChange: import("vue").PropType<(context: {
            year: number;
            month: number;
        }) => void>;
        onScroll: import("vue").PropType<(context: {
            e: Event;
        }) => void>;
        onSelect: import("vue").PropType<(value: Date) => void>;
    }>> & Readonly<{
        "onUpdate:visible"?: (...args: any[]) => any;
    }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:visible"[], import("vue").PublicProps, {
        allowSameDay: boolean;
        confirmBtn: import("@/button").TdButtonProps | import("@/common").SlotReturnValue;
        firstDayOfWeek: number;
        readonly: boolean;
        switchMode: "month" | "none" | "year-month";
        type: "multiple" | "range" | "single";
        usePopup: boolean;
        value: import("@/components").CalendarValue;
        modelValue: import("@/components").CalendarValue;
        visible: boolean;
    }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        allowSameDay: BooleanConstructor;
        confirmBtn: {
            type: import("vue").PropType<string | import("@/button").TdButtonProps | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue)>;
            default: string | import("@/button").TdButtonProps | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue);
        };
        firstDayOfWeek: {
            type: NumberConstructor;
            default: number;
        };
        format: {
            type: import("vue").PropType<import("@/components").CalendarFormatType>;
        };
        maxDate: {
            type: import("vue").PropType<number | Date>;
        };
        minDate: {
            type: import("vue").PropType<number | Date>;
        };
        readonly: BooleanConstructor;
        switchMode: {
            type: import("vue").PropType<"month" | "none" | "year-month">;
            default: "month" | "none" | "year-month";
            validator(val: "month" | "none" | "year-month"): boolean;
        };
        title: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue)>;
        };
        type: {
            type: import("vue").PropType<"multiple" | "range" | "single">;
            default: "multiple" | "range" | "single";
            validator(val: "multiple" | "range" | "single"): boolean;
        };
        usePopup: {
            type: BooleanConstructor;
            default: boolean;
        };
        value: {
            type: import("vue").PropType<import("@/components").CalendarValue>;
            default: import("@/components").CalendarValue;
        };
        modelValue: {
            type: import("vue").PropType<import("@/components").CalendarValue>;
            default: import("@/components").CalendarValue;
        };
        defaultValue: {
            type: import("vue").PropType<import("@/components").CalendarValue>;
        };
        visible: BooleanConstructor;
        onChange: import("vue").PropType<(value: import("@/components").CalendarValue) => void>;
        onClose: import("vue").PropType<(trigger: import("@/components").CalendarTrigger) => void>;
        onConfirm: import("vue").PropType<(value: import("@/components").CalendarValue) => void>;
        onPanelChange: import("vue").PropType<(context: {
            year: number;
            month: number;
        }) => void>;
        onScroll: import("vue").PropType<(context: {
            e: Event;
        }) => void>;
        onSelect: import("vue").PropType<(value: Date) => void>;
    }>> & Readonly<{
        "onUpdate:visible"?: (...args: any[]) => any;
    }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
        allowSameDay: boolean;
        confirmBtn: import("@/button").TdButtonProps | import("@/common").SlotReturnValue;
        firstDayOfWeek: number;
        readonly: boolean;
        switchMode: "month" | "none" | "year-month";
        type: "multiple" | "range" | "single";
        usePopup: boolean;
        value: import("@/components").CalendarValue;
        modelValue: import("@/components").CalendarValue;
        visible: boolean;
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    allowSameDay: BooleanConstructor;
    confirmBtn: {
        type: import("vue").PropType<string | import("@/button").TdButtonProps | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue)>;
        default: string | import("@/button").TdButtonProps | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue);
    };
    firstDayOfWeek: {
        type: NumberConstructor;
        default: number;
    };
    format: {
        type: import("vue").PropType<import("@/components").CalendarFormatType>;
    };
    maxDate: {
        type: import("vue").PropType<number | Date>;
    };
    minDate: {
        type: import("vue").PropType<number | Date>;
    };
    readonly: BooleanConstructor;
    switchMode: {
        type: import("vue").PropType<"month" | "none" | "year-month">;
        default: "month" | "none" | "year-month";
        validator(val: "month" | "none" | "year-month"): boolean;
    };
    title: {
        type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue)>;
    };
    type: {
        type: import("vue").PropType<"multiple" | "range" | "single">;
        default: "multiple" | "range" | "single";
        validator(val: "multiple" | "range" | "single"): boolean;
    };
    usePopup: {
        type: BooleanConstructor;
        default: boolean;
    };
    value: {
        type: import("vue").PropType<import("@/components").CalendarValue>;
        default: import("@/components").CalendarValue;
    };
    modelValue: {
        type: import("vue").PropType<import("@/components").CalendarValue>;
        default: import("@/components").CalendarValue;
    };
    defaultValue: {
        type: import("vue").PropType<import("@/components").CalendarValue>;
    };
    visible: BooleanConstructor;
    onChange: import("vue").PropType<(value: import("@/components").CalendarValue) => void>;
    onClose: import("vue").PropType<(trigger: import("@/components").CalendarTrigger) => void>;
    onConfirm: import("vue").PropType<(value: import("@/components").CalendarValue) => void>;
    onPanelChange: import("vue").PropType<(context: {
        year: number;
        month: number;
    }) => void>;
    onScroll: import("vue").PropType<(context: {
        e: Event;
    }) => void>;
    onSelect: import("vue").PropType<(value: Date) => void>;
}>> & Readonly<{
    "onUpdate:visible"?: (...args: any[]) => any;
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:visible"[], "update:visible", {
    allowSameDay: boolean;
    confirmBtn: import("@/button").TdButtonProps | import("@/common").SlotReturnValue;
    firstDayOfWeek: number;
    readonly: boolean;
    switchMode: "month" | "none" | "year-month";
    type: "multiple" | "range" | "single";
    usePopup: boolean;
    value: import("@/components").CalendarValue;
    modelValue: import("@/components").CalendarValue;
    visible: boolean;
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin;
export default Calendar;
