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<TdCalendarProps['confirmBtn']>;
            default: TdCalendarProps['confirmBtn'];
        };
        firstDayOfWeek: {
            type: NumberConstructor;
            default: number;
        };
        format: {
            type: import("vue").PropType<TdCalendarProps['format']>;
        };
        maxDate: {
            type: import("vue").PropType<TdCalendarProps['maxDate']>;
        };
        minDate: {
            type: import("vue").PropType<TdCalendarProps['minDate']>;
        };
        readonly: BooleanConstructor;
        switchMode: {
            type: import("vue").PropType<TdCalendarProps['switchMode']>;
            default: TdCalendarProps['switchMode'];
            validator(val: TdCalendarProps['switchMode']): boolean;
        };
        title: {
            type: import("vue").PropType<TdCalendarProps['title']>;
        };
        type: {
            type: import("vue").PropType<TdCalendarProps['type']>;
            default: TdCalendarProps['type'];
            validator(val: TdCalendarProps['type']): boolean;
        };
        usePopup: {
            type: BooleanConstructor;
            default: boolean;
        };
        value: {
            type: import("vue").PropType<TdCalendarProps['value']>;
            default: TdCalendarProps['value'];
        };
        modelValue: {
            type: import("vue").PropType<TdCalendarProps['value']>;
            default: TdCalendarProps['value'];
        };
        defaultValue: {
            type: import("vue").PropType<TdCalendarProps['defaultValue']>;
        };
        visible: BooleanConstructor;
        onChange: import("vue").PropType<TdCalendarProps['onChange']>;
        onClose: import("vue").PropType<TdCalendarProps['onClose']>;
        onConfirm: import("vue").PropType<TdCalendarProps['onConfirm']>;
        onPanelChange: import("vue").PropType<TdCalendarProps['onPanelChange']>;
        onScroll: import("vue").PropType<TdCalendarProps['onScroll']>;
        onSelect: import("vue").PropType<TdCalendarProps['onSelect']>;
    }>> & 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<TdCalendarProps['confirmBtn']>;
            default: TdCalendarProps['confirmBtn'];
        };
        firstDayOfWeek: {
            type: NumberConstructor;
            default: number;
        };
        format: {
            type: import("vue").PropType<TdCalendarProps['format']>;
        };
        maxDate: {
            type: import("vue").PropType<TdCalendarProps['maxDate']>;
        };
        minDate: {
            type: import("vue").PropType<TdCalendarProps['minDate']>;
        };
        readonly: BooleanConstructor;
        switchMode: {
            type: import("vue").PropType<TdCalendarProps['switchMode']>;
            default: TdCalendarProps['switchMode'];
            validator(val: TdCalendarProps['switchMode']): boolean;
        };
        title: {
            type: import("vue").PropType<TdCalendarProps['title']>;
        };
        type: {
            type: import("vue").PropType<TdCalendarProps['type']>;
            default: TdCalendarProps['type'];
            validator(val: TdCalendarProps['type']): boolean;
        };
        usePopup: {
            type: BooleanConstructor;
            default: boolean;
        };
        value: {
            type: import("vue").PropType<TdCalendarProps['value']>;
            default: TdCalendarProps['value'];
        };
        modelValue: {
            type: import("vue").PropType<TdCalendarProps['value']>;
            default: TdCalendarProps['value'];
        };
        defaultValue: {
            type: import("vue").PropType<TdCalendarProps['defaultValue']>;
        };
        visible: BooleanConstructor;
        onChange: import("vue").PropType<TdCalendarProps['onChange']>;
        onClose: import("vue").PropType<TdCalendarProps['onClose']>;
        onConfirm: import("vue").PropType<TdCalendarProps['onConfirm']>;
        onPanelChange: import("vue").PropType<TdCalendarProps['onPanelChange']>;
        onScroll: import("vue").PropType<TdCalendarProps['onScroll']>;
        onSelect: import("vue").PropType<TdCalendarProps['onSelect']>;
    }>> & 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<TdCalendarProps['confirmBtn']>;
        default: TdCalendarProps['confirmBtn'];
    };
    firstDayOfWeek: {
        type: NumberConstructor;
        default: number;
    };
    format: {
        type: import("vue").PropType<TdCalendarProps['format']>;
    };
    maxDate: {
        type: import("vue").PropType<TdCalendarProps['maxDate']>;
    };
    minDate: {
        type: import("vue").PropType<TdCalendarProps['minDate']>;
    };
    readonly: BooleanConstructor;
    switchMode: {
        type: import("vue").PropType<TdCalendarProps['switchMode']>;
        default: TdCalendarProps['switchMode'];
        validator(val: TdCalendarProps['switchMode']): boolean;
    };
    title: {
        type: import("vue").PropType<TdCalendarProps['title']>;
    };
    type: {
        type: import("vue").PropType<TdCalendarProps['type']>;
        default: TdCalendarProps['type'];
        validator(val: TdCalendarProps['type']): boolean;
    };
    usePopup: {
        type: BooleanConstructor;
        default: boolean;
    };
    value: {
        type: import("vue").PropType<TdCalendarProps['value']>;
        default: TdCalendarProps['value'];
    };
    modelValue: {
        type: import("vue").PropType<TdCalendarProps['value']>;
        default: TdCalendarProps['value'];
    };
    defaultValue: {
        type: import("vue").PropType<TdCalendarProps['defaultValue']>;
    };
    visible: BooleanConstructor;
    onChange: import("vue").PropType<TdCalendarProps['onChange']>;
    onClose: import("vue").PropType<TdCalendarProps['onClose']>;
    onConfirm: import("vue").PropType<TdCalendarProps['onConfirm']>;
    onPanelChange: import("vue").PropType<TdCalendarProps['onPanelChange']>;
    onScroll: import("vue").PropType<TdCalendarProps['onScroll']>;
    onSelect: import("vue").PropType<TdCalendarProps['onSelect']>;
}>> & 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;
