import Vue from 'vue';
import { CalendarConfig } from '../config-provider/config-receiver';
import { CalendarData, CalendarRange, YearMonthOption, ModeOption, CellColHeader, CellEventOption, TextConfigType, CalendarWeek, TdCalendarProps, ControllerOptions, CalendarCell } from './interface';
declare const _default: import("vue/types/vue").ExtendedVue<{
    t<T>(pattern: T, placement?: import("../config-provider/config-receiver").Placement): string;
} & {
    global: CalendarConfig;
    classPrefix: string;
    componentName: string;
    commonSizeClassName: Record<string, string>;
    commonStatusClassName: Record<string, string>;
} & Record<never, any> & import("../config-provider/config-receiver").ConfigComponent & Vue, CalendarData, {
    handleIE(): void;
    getCalendarWeekSlotData(item: CellColHeader): CalendarWeek;
    getWeekDisplay(weekNum: number): string;
    checkMonthCellItemShowed(cellData: CalendarCell): boolean;
    createCalendarCell(cellData: CalendarCell): CalendarCell;
    clickCell(e: MouseEvent, cellData: CalendarCell): void;
    doubleClickCell(e: MouseEvent, cellData: CalendarCell): void;
    rightClickCell(e: MouseEvent, cellData: CalendarCell): void;
    getCellClickEventOptions(e: MouseEvent, cellData: CalendarCell): CellEventOption;
    controllerChange(): void;
    onWeekendToggleClick(): void;
    checkMonthCellColHeaderVisibled(item: CellColHeader): boolean;
    checkControllerDisabled(name: string, propsName: string): boolean;
    checkControllerVisible(name: string): boolean;
    toToday(): void;
    setCurSelectedYear(year?: TdCalendarProps['year']): void;
    setCurSelectedMonth(month?: TdCalendarProps['month']): void;
    setCurrentDate(value?: TdCalendarProps['value']): void;
    setCurrentDateList(value?: TdCalendarProps['value']): void;
    checkMonthAndYearSelectorDisabled(year: number, month: number): boolean;
    renderControl(): JSX.Element;
}, {
    state: CalendarData;
    props: TdCalendarProps;
    TEXT_MAP: TextConfigType;
    weekDipalyText: string[] | ((h: import("vue").CreateElement, props: CalendarWeek) => import("vue/types/vnode").ScopedSlotReturnValue);
    calendarCls: Record<string, any>;
    calendarPanelCls: Record<string, any>;
    isWeekRender: boolean;
    rangeFromTo: CalendarRange;
    controllerOptions: ControllerOptions;
    cellColHeaders: CellColHeader[];
    yearSelectOptionList: YearMonthOption[];
    monthSelectOptionList: YearMonthOption[];
    modeSelectOptionList: ModeOption[];
    monthCellsData: CalendarCell[][];
    yearCellsData: CalendarCell[][];
    controllerConfigData: Record<string, any>;
    isControllerVisible: boolean;
    weekendBtnText: string;
    weekendBtnVBind: object;
    currentBtnText: string;
    currentBtnVBind: object;
    isModeVisible: boolean;
    isYearVisible: boolean;
    isMonthVisible: boolean;
    isWeekendToggleVisible: boolean;
    isCurrentBtnVisible: boolean;
    isModeDisabled: boolean;
    isYearDisabled: boolean;
    isMonthDisabled: boolean;
    isWeekendToggleDisabled: boolean;
    isCurrentBtnDisabled: boolean;
    filterYearStr: string;
    filterMonthStr: string;
    filterYearMonth: {
        month: string;
        year: string;
    };
}, {
    cell: string | ((h: import("vue").CreateElement, props: CalendarCell) => import("vue/types/vnode").ScopedSlotReturnValue);
    cellAppend: string | ((h: import("vue").CreateElement, props: CalendarCell) => import("vue/types/vnode").ScopedSlotReturnValue);
    controllerConfig: any;
    fillWithZero: any;
    firstDayOfWeek: number;
    format: string;
    head: string | ((h: import("vue").CreateElement, props: ControllerOptions) => import("vue/types/vnode").ScopedSlotReturnValue);
    isShowWeekendDefault: boolean;
    mode: "month" | "year";
    month: string | number;
    multiple: boolean;
    preventCellContextmenu: boolean;
    range: import("./type").CalendarValue[];
    theme: "full" | "card";
    value: import("./type").CalendarValue | import("./type").CalendarValue[];
    week: string[] | ((h: import("vue").CreateElement, props: CalendarWeek) => import("vue/types/vnode").ScopedSlotReturnValue);
    year: string | number;
    onCellClick: (options: {
        cell: CalendarCell;
        e: MouseEvent;
    }) => void;
    onCellDoubleClick: (options: {
        cell: CalendarCell;
        e: MouseEvent;
    }) => void;
    onCellRightClick: (options: {
        cell: CalendarCell;
        e: MouseEvent;
    }) => void;
    onControllerChange: (options: ControllerOptions) => void;
    onMonthChange: (options: {
        month: string;
        year: string;
    }) => void;
}>;
export default _default;
