import { TdCalendarProps } from './type';
import './style';
export * from './type';
export declare type CalendarProps = TdCalendarProps;
export declare const Calendar: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: {
            multiple?: boolean;
            mode?: "month" | "year";
            format?: string;
            theme?: "full" | "card";
            controllerConfig?: boolean | import("./type").CalendarController;
            isShowWeekendDefault?: boolean;
            fillWithZero?: boolean;
            preventCellContextmenu?: boolean;
            key?: string | number | symbol;
            readonly value?: import("./type").CalendarValue | import("./type").CalendarValue[];
            readonly head?: string | ((h: typeof import("vue").h, props: import("./type").ControllerOptions) => import("..").SlotReturnValue);
            style?: unknown;
            readonly month?: string | number;
            readonly year?: string | number;
            readonly week?: string[] | ((h: typeof import("vue").h, props: import("./type").CalendarWeek) => import("..").SlotReturnValue);
            readonly range?: import("./type").CalendarValue[];
            readonly cell?: string | ((h: typeof import("vue").h, props: import("./type").CalendarCell) => import("..").SlotReturnValue);
            class?: unknown;
            ref?: import("vue").VNodeRef;
            ref_for?: boolean;
            ref_key?: string;
            onVnodeBeforeMount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeMounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeBeforeUpdate?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeUpdated?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeBeforeUnmount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeUnmounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            readonly cellAppend?: string | ((h: typeof import("vue").h, props: import("./type").CalendarCell) => import("..").SlotReturnValue);
            readonly firstDayOfWeek?: number;
            readonly onCellClick?: (options: {
                cell: import("./type").CalendarCell;
                e: MouseEvent;
            }) => void;
            readonly onCellDoubleClick?: (options: {
                cell: import("./type").CalendarCell;
                e: MouseEvent;
            }) => void;
            readonly onCellRightClick?: (options: {
                cell: import("./type").CalendarCell;
                e: MouseEvent;
            }) => void;
            readonly onControllerChange?: (options: import("./type").ControllerOptions) => void;
            readonly onMonthChange?: (options: {
                month: string;
                year: string;
            }) => void;
        };
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot<any>;
        }>;
        $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>;
        $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>;
        $emit: (event: string, ...args: any[]) => void;
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
            cell: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h, props: import("./type").CalendarCell) => import("..").SlotReturnValue)>;
            };
            cellAppend: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h, props: import("./type").CalendarCell) => import("..").SlotReturnValue)>;
            };
            controllerConfig: {
                type: import("vue").PropType<boolean | import("./type").CalendarController>;
                default: boolean | import("./type").CalendarController;
            };
            fillWithZero: {
                type: BooleanConstructor;
                default: any;
            };
            firstDayOfWeek: {
                type: NumberConstructor;
                validator(val: number): boolean;
            };
            format: {
                type: StringConstructor;
                default: string;
            };
            head: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h, props: import("./type").ControllerOptions) => import("..").SlotReturnValue)>;
            };
            isShowWeekendDefault: {
                type: BooleanConstructor;
                default: boolean;
            };
            mode: {
                type: import("vue").PropType<"month" | "year">;
                default: "month" | "year";
                validator(val: "month" | "year"): boolean;
            };
            month: {
                type: import("vue").PropType<string | number>;
            };
            multiple: BooleanConstructor;
            preventCellContextmenu: BooleanConstructor;
            range: {
                type: import("vue").PropType<import("./type").CalendarValue[]>;
            };
            theme: {
                type: import("vue").PropType<"full" | "card">;
                default: "full" | "card";
                validator(val: "full" | "card"): boolean;
            };
            value: {
                type: import("vue").PropType<import("./type").CalendarValue | import("./type").CalendarValue[]>;
            };
            week: {
                type: import("vue").PropType<string[] | ((h: typeof import("vue").h, props: import("./type").CalendarWeek) => import("..").SlotReturnValue)>;
            };
            year: {
                type: import("vue").PropType<string | number>;
            };
            onCellClick: import("vue").PropType<(options: {
                cell: import("./type").CalendarCell;
                e: MouseEvent;
            }) => void>;
            onCellDoubleClick: import("vue").PropType<(options: {
                cell: import("./type").CalendarCell;
                e: MouseEvent;
            }) => void>;
            onCellRightClick: import("vue").PropType<(options: {
                cell: import("./type").CalendarCell;
                e: MouseEvent;
            }) => void>;
            onControllerChange: import("vue").PropType<(options: import("./type").ControllerOptions) => void>;
            onMonthChange: import("vue").PropType<(options: {
                month: string;
                year: string;
            }) => void>;
        }>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
            multiple: boolean;
            mode: "month" | "year";
            format: string;
            theme: "full" | "card";
            controllerConfig: boolean | import("./type").CalendarController;
            isShowWeekendDefault: boolean;
            fillWithZero: boolean;
            preventCellContextmenu: boolean;
        }, {}, string, {}> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof import("vue").nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean>): import("vue").WatchStopHandle;
    } & Readonly<import("vue").ExtractPropTypes<{
        cell: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h, props: import("./type").CalendarCell) => import("..").SlotReturnValue)>;
        };
        cellAppend: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h, props: import("./type").CalendarCell) => import("..").SlotReturnValue)>;
        };
        controllerConfig: {
            type: import("vue").PropType<boolean | import("./type").CalendarController>;
            default: boolean | import("./type").CalendarController;
        };
        fillWithZero: {
            type: BooleanConstructor;
            default: any;
        };
        firstDayOfWeek: {
            type: NumberConstructor;
            validator(val: number): boolean;
        };
        format: {
            type: StringConstructor;
            default: string;
        };
        head: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h, props: import("./type").ControllerOptions) => import("..").SlotReturnValue)>;
        };
        isShowWeekendDefault: {
            type: BooleanConstructor;
            default: boolean;
        };
        mode: {
            type: import("vue").PropType<"month" | "year">;
            default: "month" | "year";
            validator(val: "month" | "year"): boolean;
        };
        month: {
            type: import("vue").PropType<string | number>;
        };
        multiple: BooleanConstructor;
        preventCellContextmenu: BooleanConstructor;
        range: {
            type: import("vue").PropType<import("./type").CalendarValue[]>;
        };
        theme: {
            type: import("vue").PropType<"full" | "card">;
            default: "full" | "card";
            validator(val: "full" | "card"): boolean;
        };
        value: {
            type: import("vue").PropType<import("./type").CalendarValue | import("./type").CalendarValue[]>;
        };
        week: {
            type: import("vue").PropType<string[] | ((h: typeof import("vue").h, props: import("./type").CalendarWeek) => import("..").SlotReturnValue)>;
        };
        year: {
            type: import("vue").PropType<string | number>;
        };
        onCellClick: import("vue").PropType<(options: {
            cell: import("./type").CalendarCell;
            e: MouseEvent;
        }) => void>;
        onCellDoubleClick: import("vue").PropType<(options: {
            cell: import("./type").CalendarCell;
            e: MouseEvent;
        }) => void>;
        onCellRightClick: import("vue").PropType<(options: {
            cell: import("./type").CalendarCell;
            e: MouseEvent;
        }) => void>;
        onControllerChange: import("vue").PropType<(options: import("./type").ControllerOptions) => void>;
        onMonthChange: import("vue").PropType<(options: {
            month: string;
            year: string;
        }) => void>;
    }>> & import("vue").ShallowUnwrapRef<() => JSX.Element> & {} & import("vue").ComponentCustomProperties & {};
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    cell: {
        type: import("vue").PropType<string | ((h: typeof import("vue").h, props: import("./type").CalendarCell) => import("..").SlotReturnValue)>;
    };
    cellAppend: {
        type: import("vue").PropType<string | ((h: typeof import("vue").h, props: import("./type").CalendarCell) => import("..").SlotReturnValue)>;
    };
    controllerConfig: {
        type: import("vue").PropType<boolean | import("./type").CalendarController>;
        default: boolean | import("./type").CalendarController;
    };
    fillWithZero: {
        type: BooleanConstructor;
        default: any;
    };
    firstDayOfWeek: {
        type: NumberConstructor;
        validator(val: number): boolean;
    };
    format: {
        type: StringConstructor;
        default: string;
    };
    head: {
        type: import("vue").PropType<string | ((h: typeof import("vue").h, props: import("./type").ControllerOptions) => import("..").SlotReturnValue)>;
    };
    isShowWeekendDefault: {
        type: BooleanConstructor;
        default: boolean;
    };
    mode: {
        type: import("vue").PropType<"month" | "year">;
        default: "month" | "year";
        validator(val: "month" | "year"): boolean;
    };
    month: {
        type: import("vue").PropType<string | number>;
    };
    multiple: BooleanConstructor;
    preventCellContextmenu: BooleanConstructor;
    range: {
        type: import("vue").PropType<import("./type").CalendarValue[]>;
    };
    theme: {
        type: import("vue").PropType<"full" | "card">;
        default: "full" | "card";
        validator(val: "full" | "card"): boolean;
    };
    value: {
        type: import("vue").PropType<import("./type").CalendarValue | import("./type").CalendarValue[]>;
    };
    week: {
        type: import("vue").PropType<string[] | ((h: typeof import("vue").h, props: import("./type").CalendarWeek) => import("..").SlotReturnValue)>;
    };
    year: {
        type: import("vue").PropType<string | number>;
    };
    onCellClick: import("vue").PropType<(options: {
        cell: import("./type").CalendarCell;
        e: MouseEvent;
    }) => void>;
    onCellDoubleClick: import("vue").PropType<(options: {
        cell: import("./type").CalendarCell;
        e: MouseEvent;
    }) => void>;
    onCellRightClick: import("vue").PropType<(options: {
        cell: import("./type").CalendarCell;
        e: MouseEvent;
    }) => void>;
    onControllerChange: import("vue").PropType<(options: import("./type").ControllerOptions) => void>;
    onMonthChange: import("vue").PropType<(options: {
        month: string;
        year: string;
    }) => void>;
}>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
    multiple: boolean;
    mode: "month" | "year";
    format: string;
    theme: "full" | "card";
    controllerConfig: boolean | import("./type").CalendarController;
    isShowWeekendDefault: boolean;
    fillWithZero: boolean;
    preventCellContextmenu: boolean;
}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin<any[]>;
export default Calendar;
