export type DayOfWeek = 0 | 1 | 2 | 3 | 4 | 5 | 6;
export type DefaultWeek = '一' | '二' | '三' | '四' | '五' | '六' | '日';
export interface Props {
    display?: 'panel' | 'card';
    mode?: 'month' | 'year';
    header?: string;
    yearSelectProps?: object;
    monthSelectProps?: object;
    modeRadioProps?: object;
    startDayOfWeek?: DayOfWeek;
    dateStrip?: boolean;
    dateFormat?: (date: number, timestamp: number) => string;
    weekFormat?: (defaultWeek: DefaultWeek, week: number, timestamp: number) => string;
    monthFormat?: (month: number, timestamp: number) => string;
    disabledDate?: (timestamp: number) => boolean;
    valueFormat?: string;
    value?: string | number;
}
export interface DateItem {
    type: 'date';
    dateObject: {
        date: number;
        month: number;
        year: number;
    };
    timestamp: number;
    inCurrentMonth: boolean;
    isCurrentDate: boolean;
}
export interface MonthItem {
    type: 'month';
    monthObject: {
        month: number;
        year: number;
    };
    timestamp: number;
    isCurrent: boolean;
}
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: {
        header?(_: {}): any;
        week?(_: {
            defaultWeek: DefaultWeek;
            week: number;
            timestamp: number;
        }): any;
        dateValue?(_: {
            type: "date";
            dateObject: {
                date: number;
                month: number;
                year: number;
            };
            timestamp: number;
            inCurrentMonth: boolean;
            isCurrentDate: boolean;
        }): any;
        dateContent?(_: {
            type: "date";
            dateObject: {
                date: number;
                month: number;
                year: number;
            };
            timestamp: number;
            inCurrentMonth: boolean;
            isCurrentDate: boolean;
        }): any;
        monthValue?(_: {
            type: "month";
            monthObject: {
                month: number;
                year: number;
            };
            timestamp: number;
            isCurrent: boolean;
        }): any;
        monthContent?(_: {
            type: "month";
            monthObject: {
                month: number;
                year: number;
            };
            timestamp: number;
            isCurrent: boolean;
        }): any;
    };
    refs: {};
    rootEl: HTMLDivElement;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    change: (...args: any[]) => void;
    select: (...args: any[]) => void;
    "update:value": (...args: any[]) => void;
    panelChange: (...args: any[]) => void;
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
    onChange?: ((...args: any[]) => any) | undefined;
    onSelect?: ((...args: any[]) => any) | undefined;
    "onUpdate:value"?: ((...args: any[]) => any) | undefined;
    onPanelChange?: ((...args: any[]) => any) | undefined;
}>, {
    header: string;
    mode: "month" | "year";
    value: string | number;
    display: "panel" | "card";
    yearSelectProps: object;
    monthSelectProps: object;
    modeRadioProps: object;
    startDayOfWeek: DayOfWeek;
    dateStrip: boolean;
    dateFormat: (date: number, timestamp: number) => string;
    weekFormat: (defaultWeek: DefaultWeek, week: number, timestamp: number) => string;
    monthFormat: (month: number, timestamp: number) => string;
    disabledDate: (timestamp: number) => boolean;
    valueFormat: string;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
