import Calendar from './Calendar.vue';
import type { Dayjs } from 'dayjs';
export declare const GmCalendar: import("../../../../utils").SFCWithInstall<{
    new (...args: any[]): import("vue").CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{
        modelValue: {
            readonly type: import("vue").PropType<Date>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        range: {
            readonly type: import("vue").PropType<[Date, Date]>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
    }>> & {
        onInput?: ((value: Date) => any) | undefined;
        "onUpdate:modelValue"?: ((value: Date) => any) | undefined;
    }, {
        selectedDay: Dayjs | undefined;
        pickDay: (day: Dayjs) => void;
        selectDate: (type: import("element-plus").CalendarDateType) => void;
        calculateValidatedDateRange: (startDayjs: Dayjs, endDayjs: Dayjs) => [Dayjs, Dayjs][];
        elRef: import("vue").Ref<import("element-plus").CalendarInstance | undefined>;
    }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        input: (value: Date) => void;
        "update:modelValue": (value: Date) => void;
    }, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
        modelValue: {
            readonly type: import("vue").PropType<Date>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        range: {
            readonly type: import("vue").PropType<[Date, Date]>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
    }>> & {
        onInput?: ((value: Date) => any) | undefined;
        "onUpdate:modelValue"?: ((value: Date) => any) | undefined;
    }, {}, true, {}, {}, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        modelValue: {
            readonly type: import("vue").PropType<Date>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        range: {
            readonly type: import("vue").PropType<[Date, Date]>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
    }>> & {
        onInput?: ((value: Date) => any) | undefined;
        "onUpdate:modelValue"?: ((value: Date) => any) | undefined;
    }, {
        selectedDay: Dayjs | undefined;
        pickDay: (day: Dayjs) => void;
        selectDate: (type: import("element-plus").CalendarDateType) => void;
        calculateValidatedDateRange: (startDayjs: Dayjs, endDayjs: Dayjs) => [Dayjs, Dayjs][];
        elRef: import("vue").Ref<import("element-plus").CalendarInstance | undefined>;
    }, {}, {}, {}, {}>;
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    modelValue: {
        readonly type: import("vue").PropType<Date>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    range: {
        readonly type: import("vue").PropType<[Date, Date]>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
}>> & {
    onInput?: ((value: Date) => any) | undefined;
    "onUpdate:modelValue"?: ((value: Date) => any) | undefined;
}, {
    selectedDay: Dayjs | undefined;
    pickDay: (day: Dayjs) => void;
    selectDate: (type: import("element-plus").CalendarDateType) => void;
    calculateValidatedDateRange: (startDayjs: Dayjs, endDayjs: Dayjs) => [Dayjs, Dayjs][];
    elRef: import("vue").Ref<import("element-plus").CalendarInstance | undefined>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    input: (value: Date) => void;
    "update:modelValue": (value: Date) => void;
}, string, {}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
    $slots: {
        'date-cell'?: ((props: {
            data: {
                isSelected: boolean;
                type: string;
                day: string;
                date: Date;
            };
        }) => any) | undefined;
    } & {
        header?: ((props: {
            date: string;
        }) => any) | undefined;
    };
})> & Record<string, any>;
export type CalendarInstance = InstanceType<typeof Calendar>;
export * from './calendar';
export default GmCalendar;
