import { Ref } from 'vue';
import { Lang, AllowedDates, CalendarType, DatePickerSelectOutput, DatePickerSelectInput } from '../shared/types';
import { SelectDate, SetDatePickerSelectInput } from './shared/types';
declare const _sfc_main: import("vue").DefineComponent<{
    lang: {
        type: null;
        required: false;
        default: string;
    };
    allowedDates: {
        type: null;
        required: false;
        default: () => null;
    };
    type: {
        type: null;
        required: false;
        default: string;
    };
    datePickerClass: {
        type: null;
        required: false;
        default: string;
    };
    modelValue: {
        type: null;
        required: false;
        default: () => null;
    };
}, {
    props: {
        lang: Lang;
        allowedDates: AllowedDates;
        type: CalendarType;
        datePickerClass: any;
        modelValue: DatePickerSelectInput;
    };
    emit: (e: 'update:modelValue', date: DatePickerSelectOutput) => void;
    DATE_PICKER_TYPE_TO_COMPONENT: {
        shamsi: import("vue").DefineComponent<{
            lang: {
                type: null;
                required: true;
            };
            direction: {
                type: null;
                required: true;
            };
            selectedDate: {
                type: null;
                required: true;
            };
            setSelectedDate: {
                type: null;
                required: true;
            };
            allowedDates: {
                type: null;
                required: true;
            };
            selectDate: {
                type: null;
                required: true;
            };
        }, {
            props: {
                lang: Lang;
                direction: import('../shared/types').Direction;
                selectedDate: import('../shared/types').UnifyDateItem;
                setSelectedDate: import('../shared/types').SetUnifyDateItem;
                allowedDates: AllowedDates;
                selectDate: SelectDate;
            };
            shamsiSelectedDate: import("vue").ComputedRef<import('../shared/types').TupleDate | null>;
            currentDate: import('../shared/types').TupleDate;
            setLocalSelectedDate: import('../shared/types').SetDateItem;
            selectedLanguageStrings: import("vue").ComputedRef<import("./shared/types").DatePickerLanguageStrings>;
            allowedDates: Ref<AllowedDates>;
            DatePickerUI: import("vue").DefineComponent<{
                date: {
                    type: null;
                    required: true;
                };
                strings: {
                    type: null;
                    required: true;
                };
                currentDate: {
                    type: null;
                    required: true;
                };
                direction: {
                    type: null;
                    required: true;
                };
                selectedDate: {
                    type: null;
                    required: true;
                };
                setSelectedDate: {
                    type: null;
                    required: true;
                };
                allowedDates: {
                    type: null;
                    required: true;
                };
                selectDate: {
                    type: null;
                    required: true;
                };
            }, {
                props: {
                    date: import('../shared/types').GeneralDateUtil;
                    strings: import("./shared/types").DatePickerLanguageStrings;
                    currentDate: import('../shared/types').TupleDate;
                    direction: import('../shared/types').Direction;
                    selectedDate: import('../shared/types').DateItem;
                    setSelectedDate: import('../shared/types').SetDateItem;
                    allowedDates: AllowedDates;
                    selectDate: SelectDate;
                };
                refProps: import("vue").ToRefs<{
                    date: import('../shared/types').GeneralDateUtil;
                    strings: import("./shared/types").DatePickerLanguageStrings;
                    currentDate: import('../shared/types').TupleDate;
                    direction: import('../shared/types').Direction;
                    selectedDate: import('../shared/types').DateItem;
                    setSelectedDate: import('../shared/types').SetDateItem;
                    allowedDates: AllowedDates;
                    selectDate: SelectDate;
                }>;
                DatePickerUISlider: import("vue").DefineComponent<{}, {
                    currentDate: Ref<import('../shared/types').TupleDate>;
                    date: import('../shared/types').GeneralDateUtil;
                    direction: Ref<import('../shared/types').Direction>;
                    currentDateSlide: Ref<{
                        year: number;
                        month: number;
                    }>;
                    isAnimationInverted: Ref<boolean>;
                    nextMonth: () => void;
                    prevMonth: () => void;
                    SlideAnimation: import("vue").DefineComponent<{
                        isInverted: {
                            type: BooleanConstructor;
                            required: false;
                            default: boolean;
                        };
                        direction: {
                            type: StringConstructor;
                            required: true;
                        };
                    }, {
                        props: {
                            isInverted: boolean;
                            direction: "ltr" | "rtl";
                        };
                        animationName: import("vue").ComputedRef<"EMSlide-prev" | "EMSlide">;
                    }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                        isInverted?: unknown;
                        direction?: unknown;
                    } & {
                        direction: string;
                        isInverted: boolean;
                    } & {}>, {
                        isInverted: boolean;
                    }>;
                    DatePickerUISliderControllers: import("vue").DefineComponent<{
                        currentMonth: {
                            type: NumberConstructor;
                            required: true;
                        };
                        currentYear: {
                            type: NumberConstructor;
                            required: true;
                        };
                    }, {
                        props: {
                            currentMonth: number;
                            currentYear: number;
                        };
                        emit: {
                            (e: "next"): void;
                            (e: "prev"): void;
                        };
                        strings: Ref<import("./shared/types").DatePickerLanguageStrings>;
                        direction: Ref<import('../shared/types').Direction>;
                        isAnimationInverted: Ref<boolean>;
                        next: () => void;
                        prev: () => void;
                        StartingArrowButton: import("vue").DefineComponent<{
                            direction: {
                                type: null;
                                required: true;
                            };
                        }, {
                            props: {
                                direction: import('../shared/types').Direction;
                            };
                            emit: (e: "click") => void;
                            ArrowStart: import("vue").ComputedRef<any>;
                            Button: import("vue").DefineComponent<{
                                icon: {
                                    type: BooleanConstructor;
                                    required: false;
                                    default: boolean;
                                };
                                disabled: {
                                    type: BooleanConstructor;
                                    required: false;
                                    default: boolean;
                                };
                                plain: {
                                    type: BooleanConstructor;
                                    required: false;
                                };
                            }, {
                                props: {
                                    icon: boolean;
                                    disabled: boolean;
                                    plain?: boolean | undefined;
                                };
                                emit: (e: "click") => void;
                                icon: Ref<boolean>;
                                disabled: Ref<boolean>;
                                plain: Ref<boolean | undefined>;
                                checkAndEmitClick: () => void;
                            }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                                icon?: unknown;
                                disabled?: unknown;
                                plain?: unknown;
                            } & {
                                disabled: boolean;
                                icon: boolean;
                                plain: boolean;
                            } & {}> & {
                                onClick?: ((...args: any[]) => any) | undefined;
                            }, {
                                disabled: boolean;
                                icon: boolean;
                                plain: boolean;
                            }>;
                        }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                            direction?: unknown;
                        } & {
                            direction: any;
                        } & {}> & {
                            onClick?: ((...args: any[]) => any) | undefined;
                        }, {}>;
                        EndingArrowButton: import("vue").DefineComponent<{
                            direction: {
                                type: null;
                                required: true;
                            };
                        }, {
                            props: {
                                direction: import('../shared/types').Direction;
                            };
                            emit: (e: "click") => void;
                            ArrowEnd: import("vue").ComputedRef<any>;
                            Button: import("vue").DefineComponent<{
                                icon: {
                                    type: BooleanConstructor;
                                    required: false;
                                    default: boolean;
                                };
                                disabled: {
                                    type: BooleanConstructor;
                                    required: false;
                                    default: boolean;
                                };
                                plain: {
                                    type: BooleanConstructor;
                                    required: false;
                                };
                            }, {
                                props: {
                                    icon: boolean;
                                    disabled: boolean;
                                    plain?: boolean | undefined;
                                };
                                emit: (e: "click") => void;
                                icon: Ref<boolean>;
                                disabled: Ref<boolean>;
                                plain: Ref<boolean | undefined>;
                                checkAndEmitClick: () => void;
                            }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                                icon?: unknown;
                                disabled?: unknown;
                                plain?: unknown;
                            } & {
                                disabled: boolean;
                                icon: boolean;
                                plain: boolean;
                            } & {}> & {
                                onClick?: ((...args: any[]) => any) | undefined;
                            }, {
                                disabled: boolean;
                                icon: boolean;
                                plain: boolean;
                            }>;
                        }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                            direction?: unknown;
                        } & {
                            direction: any;
                        } & {}> & {
                            onClick?: ((...args: any[]) => any) | undefined;
                        }, {}>;
                    }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("next" | "prev")[], "next" | "prev", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                        currentMonth?: unknown;
                        currentYear?: unknown;
                    } & {
                        currentMonth: number;
                        currentYear: number;
                    } & {}> & {
                        onNext?: ((...args: any[]) => any) | undefined;
                        onPrev?: ((...args: any[]) => any) | undefined;
                    }, {}>;
                    DatePickerUISliderGridContainer: import("vue").DefineComponent<{
                        currentYear: {
                            type: NumberConstructor;
                            required: true;
                        };
                        currentMonth: {
                            type: NumberConstructor;
                            required: true;
                        };
                    }, {
                        date: import('../shared/types').GeneralDateUtil;
                        strings: Ref<import("./shared/types").DatePickerLanguageStrings>;
                        selectedDate: Ref<import('../shared/types').DateItem>;
                        setSelectedDate: import('../shared/types').SetDateItem;
                        props: {
                            currentYear: number;
                            currentMonth: number;
                        };
                        selectDate: (day: number) => void;
                        firstDayOfMonth: import("vue").ComputedRef<number>;
                        lastDayOfMonth: import("vue").ComputedRef<number>;
                        monthDays: import("vue").ComputedRef<number>;
                        DatePickerUISliderGrid: import("vue").DefineComponent<unknown, object, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<unknown>, {}>;
                    }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                        currentYear?: unknown;
                        currentMonth?: unknown;
                    } & {
                        currentMonth: number;
                        currentYear: number;
                    } & {}>, {}>;
                }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{} & {} & {}>, {}>;
                DatePickerUIFooter: import("vue").DefineComponent<{}, {
                    strings: Ref<import("./shared/types").DatePickerLanguageStrings>;
                    selectedDate: Ref<import('../shared/types').DateItem>;
                    selectDate: SelectDate;
                    isDateSelected: import("vue").ComputedRef<boolean>;
                    datePreviewString: import("vue").ComputedRef<string>;
                    Button: import("vue").DefineComponent<{
                        icon: {
                            type: BooleanConstructor;
                            required: false;
                            default: boolean;
                        };
                        disabled: {
                            type: BooleanConstructor;
                            required: false;
                            default: boolean;
                        };
                        plain: {
                            type: BooleanConstructor;
                            required: false;
                        };
                    }, {
                        props: {
                            icon: boolean;
                            disabled: boolean;
                            plain?: boolean | undefined;
                        };
                        emit: (e: "click") => void;
                        icon: Ref<boolean>;
                        disabled: Ref<boolean>;
                        plain: Ref<boolean | undefined>;
                        checkAndEmitClick: () => void;
                    }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                        icon?: unknown;
                        disabled?: unknown;
                        plain?: unknown;
                    } & {
                        disabled: boolean;
                        icon: boolean;
                        plain: boolean;
                    } & {}> & {
                        onClick?: ((...args: any[]) => any) | undefined;
                    }, {
                        disabled: boolean;
                        icon: boolean;
                        plain: boolean;
                    }>;
                    VerticalSlideAnimation: any;
                }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{} & {} & {}>, {}>;
            }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                date?: unknown;
                strings?: unknown;
                currentDate?: unknown;
                direction?: unknown;
                selectedDate?: unknown;
                setSelectedDate?: unknown;
                allowedDates?: unknown;
                selectDate?: unknown;
            } & {
                date: any;
                allowedDates: any;
                strings: any;
                currentDate: any;
                direction: any;
                selectDate: any;
                selectedDate: any;
                setSelectedDate: any;
            } & {}>, {}>;
            date: import('../shared/types').GeneralDateUtil;
        }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
            lang?: unknown;
            direction?: unknown;
            selectedDate?: unknown;
            setSelectedDate?: unknown;
            allowedDates?: unknown;
            selectDate?: unknown;
        } & {
            lang: any;
            allowedDates: any;
            direction: any;
            selectDate: any;
            selectedDate: any;
            setSelectedDate: any;
        } & {}>, {}>;
        miladi: import("vue").DefineComponent<{
            lang: {
                type: null;
                required: true;
            };
            direction: {
                type: null;
                required: true;
            };
            selectedDate: {
                type: null;
                required: true;
            };
            setSelectedDate: {
                type: null;
                required: true;
            };
            allowedDates: {
                type: null;
                required: true;
            };
            selectDate: {
                type: null;
                required: true;
            };
        }, {
            props: {
                lang: Lang;
                direction: import('../shared/types').Direction;
                selectedDate: import('../shared/types').UnifyDateItem;
                setSelectedDate: import('../shared/types').SetUnifyDateItem;
                allowedDates: AllowedDates;
                selectDate: SelectDate;
            };
            selectedDateTuple: import("vue").ComputedRef<import('../shared/types').TupleDate | null>;
            currentDate: import('../shared/types').TupleDate;
            setLocalSelectedDate: import('../shared/types').SetDateItem;
            selectedLanguageStrings: import("vue").ComputedRef<import("./shared/types").DatePickerLanguageStrings>;
            allowedDates: Ref<AllowedDates>;
            DatePickerUI: import("vue").DefineComponent<{
                date: {
                    type: null;
                    required: true;
                };
                strings: {
                    type: null;
                    required: true;
                };
                currentDate: {
                    type: null;
                    required: true;
                };
                direction: {
                    type: null;
                    required: true;
                };
                selectedDate: {
                    type: null;
                    required: true;
                };
                setSelectedDate: {
                    type: null;
                    required: true;
                };
                allowedDates: {
                    type: null;
                    required: true;
                };
                selectDate: {
                    type: null;
                    required: true;
                };
            }, {
                props: {
                    date: import('../shared/types').GeneralDateUtil;
                    strings: import("./shared/types").DatePickerLanguageStrings;
                    currentDate: import('../shared/types').TupleDate;
                    direction: import('../shared/types').Direction;
                    selectedDate: import('../shared/types').DateItem;
                    setSelectedDate: import('../shared/types').SetDateItem;
                    allowedDates: AllowedDates;
                    selectDate: SelectDate;
                };
                refProps: import("vue").ToRefs<{
                    date: import('../shared/types').GeneralDateUtil;
                    strings: import("./shared/types").DatePickerLanguageStrings;
                    currentDate: import('../shared/types').TupleDate;
                    direction: import('../shared/types').Direction;
                    selectedDate: import('../shared/types').DateItem;
                    setSelectedDate: import('../shared/types').SetDateItem;
                    allowedDates: AllowedDates;
                    selectDate: SelectDate;
                }>;
                DatePickerUISlider: import("vue").DefineComponent<{}, {
                    currentDate: Ref<import('../shared/types').TupleDate>;
                    date: import('../shared/types').GeneralDateUtil;
                    direction: Ref<import('../shared/types').Direction>;
                    currentDateSlide: Ref<{
                        year: number;
                        month: number;
                    }>;
                    isAnimationInverted: Ref<boolean>;
                    nextMonth: () => void;
                    prevMonth: () => void;
                    SlideAnimation: import("vue").DefineComponent<{
                        isInverted: {
                            type: BooleanConstructor;
                            required: false;
                            default: boolean;
                        };
                        direction: {
                            type: StringConstructor;
                            required: true;
                        };
                    }, {
                        props: {
                            isInverted: boolean;
                            direction: "ltr" | "rtl";
                        };
                        animationName: import("vue").ComputedRef<"EMSlide-prev" | "EMSlide">;
                    }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                        isInverted?: unknown;
                        direction?: unknown;
                    } & {
                        direction: string;
                        isInverted: boolean;
                    } & {}>, {
                        isInverted: boolean;
                    }>;
                    DatePickerUISliderControllers: import("vue").DefineComponent<{
                        currentMonth: {
                            type: NumberConstructor;
                            required: true;
                        };
                        currentYear: {
                            type: NumberConstructor;
                            required: true;
                        };
                    }, {
                        props: {
                            currentMonth: number;
                            currentYear: number;
                        };
                        emit: {
                            (e: "next"): void;
                            (e: "prev"): void;
                        };
                        strings: Ref<import("./shared/types").DatePickerLanguageStrings>;
                        direction: Ref<import('../shared/types').Direction>;
                        isAnimationInverted: Ref<boolean>;
                        next: () => void;
                        prev: () => void;
                        StartingArrowButton: import("vue").DefineComponent<{
                            direction: {
                                type: null;
                                required: true;
                            };
                        }, {
                            props: {
                                direction: import('../shared/types').Direction;
                            };
                            emit: (e: "click") => void;
                            ArrowStart: import("vue").ComputedRef<any>;
                            Button: import("vue").DefineComponent<{
                                icon: {
                                    type: BooleanConstructor;
                                    required: false;
                                    default: boolean;
                                };
                                disabled: {
                                    type: BooleanConstructor;
                                    required: false;
                                    default: boolean;
                                };
                                plain: {
                                    type: BooleanConstructor;
                                    required: false;
                                };
                            }, {
                                props: {
                                    icon: boolean;
                                    disabled: boolean;
                                    plain?: boolean | undefined;
                                };
                                emit: (e: "click") => void;
                                icon: Ref<boolean>;
                                disabled: Ref<boolean>;
                                plain: Ref<boolean | undefined>;
                                checkAndEmitClick: () => void;
                            }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                                icon?: unknown;
                                disabled?: unknown;
                                plain?: unknown;
                            } & {
                                disabled: boolean;
                                icon: boolean;
                                plain: boolean;
                            } & {}> & {
                                onClick?: ((...args: any[]) => any) | undefined;
                            }, {
                                disabled: boolean;
                                icon: boolean;
                                plain: boolean;
                            }>;
                        }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                            direction?: unknown;
                        } & {
                            direction: any;
                        } & {}> & {
                            onClick?: ((...args: any[]) => any) | undefined;
                        }, {}>;
                        EndingArrowButton: import("vue").DefineComponent<{
                            direction: {
                                type: null;
                                required: true;
                            };
                        }, {
                            props: {
                                direction: import('../shared/types').Direction;
                            };
                            emit: (e: "click") => void;
                            ArrowEnd: import("vue").ComputedRef<any>;
                            Button: import("vue").DefineComponent<{
                                icon: {
                                    type: BooleanConstructor;
                                    required: false;
                                    default: boolean;
                                };
                                disabled: {
                                    type: BooleanConstructor;
                                    required: false;
                                    default: boolean;
                                };
                                plain: {
                                    type: BooleanConstructor;
                                    required: false;
                                };
                            }, {
                                props: {
                                    icon: boolean;
                                    disabled: boolean;
                                    plain?: boolean | undefined;
                                };
                                emit: (e: "click") => void;
                                icon: Ref<boolean>;
                                disabled: Ref<boolean>;
                                plain: Ref<boolean | undefined>;
                                checkAndEmitClick: () => void;
                            }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                                icon?: unknown;
                                disabled?: unknown;
                                plain?: unknown;
                            } & {
                                disabled: boolean;
                                icon: boolean;
                                plain: boolean;
                            } & {}> & {
                                onClick?: ((...args: any[]) => any) | undefined;
                            }, {
                                disabled: boolean;
                                icon: boolean;
                                plain: boolean;
                            }>;
                        }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                            direction?: unknown;
                        } & {
                            direction: any;
                        } & {}> & {
                            onClick?: ((...args: any[]) => any) | undefined;
                        }, {}>;
                    }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("next" | "prev")[], "next" | "prev", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                        currentMonth?: unknown;
                        currentYear?: unknown;
                    } & {
                        currentMonth: number;
                        currentYear: number;
                    } & {}> & {
                        onNext?: ((...args: any[]) => any) | undefined;
                        onPrev?: ((...args: any[]) => any) | undefined;
                    }, {}>;
                    DatePickerUISliderGridContainer: import("vue").DefineComponent<{
                        currentYear: {
                            type: NumberConstructor;
                            required: true;
                        };
                        currentMonth: {
                            type: NumberConstructor;
                            required: true;
                        };
                    }, {
                        date: import('../shared/types').GeneralDateUtil;
                        strings: Ref<import("./shared/types").DatePickerLanguageStrings>;
                        selectedDate: Ref<import('../shared/types').DateItem>;
                        setSelectedDate: import('../shared/types').SetDateItem;
                        props: {
                            currentYear: number;
                            currentMonth: number;
                        };
                        selectDate: (day: number) => void;
                        firstDayOfMonth: import("vue").ComputedRef<number>;
                        lastDayOfMonth: import("vue").ComputedRef<number>;
                        monthDays: import("vue").ComputedRef<number>;
                        DatePickerUISliderGrid: import("vue").DefineComponent<unknown, object, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<unknown>, {}>;
                    }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                        currentYear?: unknown;
                        currentMonth?: unknown;
                    } & {
                        currentMonth: number;
                        currentYear: number;
                    } & {}>, {}>;
                }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{} & {} & {}>, {}>;
                DatePickerUIFooter: import("vue").DefineComponent<{}, {
                    strings: Ref<import("./shared/types").DatePickerLanguageStrings>;
                    selectedDate: Ref<import('../shared/types').DateItem>;
                    selectDate: SelectDate;
                    isDateSelected: import("vue").ComputedRef<boolean>;
                    datePreviewString: import("vue").ComputedRef<string>;
                    Button: import("vue").DefineComponent<{
                        icon: {
                            type: BooleanConstructor;
                            required: false;
                            default: boolean;
                        };
                        disabled: {
                            type: BooleanConstructor;
                            required: false;
                            default: boolean;
                        };
                        plain: {
                            type: BooleanConstructor;
                            required: false;
                        };
                    }, {
                        props: {
                            icon: boolean;
                            disabled: boolean;
                            plain?: boolean | undefined;
                        };
                        emit: (e: "click") => void;
                        icon: Ref<boolean>;
                        disabled: Ref<boolean>;
                        plain: Ref<boolean | undefined>;
                        checkAndEmitClick: () => void;
                    }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                        icon?: unknown;
                        disabled?: unknown;
                        plain?: unknown;
                    } & {
                        disabled: boolean;
                        icon: boolean;
                        plain: boolean;
                    } & {}> & {
                        onClick?: ((...args: any[]) => any) | undefined;
                    }, {
                        disabled: boolean;
                        icon: boolean;
                        plain: boolean;
                    }>;
                    VerticalSlideAnimation: any;
                }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{} & {} & {}>, {}>;
            }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                date?: unknown;
                strings?: unknown;
                currentDate?: unknown;
                direction?: unknown;
                selectedDate?: unknown;
                setSelectedDate?: unknown;
                allowedDates?: unknown;
                selectDate?: unknown;
            } & {
                date: any;
                allowedDates: any;
                strings: any;
                currentDate: any;
                direction: any;
                selectDate: any;
                selectedDate: any;
                setSelectedDate: any;
            } & {}>, {}>;
            date: import('../shared/types').GeneralDateUtil;
        }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
            lang?: unknown;
            direction?: unknown;
            selectedDate?: unknown;
            setSelectedDate?: unknown;
            allowedDates?: unknown;
            selectDate?: unknown;
        } & {
            lang: any;
            allowedDates: any;
            direction: any;
            selectDate: any;
            selectedDate: any;
            setSelectedDate: any;
        } & {}>, {}>;
    };
    selectedDate: Ref<DatePickerSelectInput>;
    setSelectedDate: SetDatePickerSelectInput;
    selectDate: SelectDate;
    lang: Ref<Lang>;
    allowedDates: Ref<AllowedDates>;
    CalendarComponent: import("vue").ComputedRef<import("vue").DefineComponent<{
        lang: {
            type: null;
            required: true;
        };
        direction: {
            type: null;
            required: true;
        };
        selectedDate: {
            type: null;
            required: true;
        };
        setSelectedDate: {
            type: null;
            required: true;
        };
        allowedDates: {
            type: null;
            required: true;
        };
        selectDate: {
            type: null;
            required: true;
        };
    }, {
        props: {
            lang: Lang;
            direction: import('../shared/types').Direction;
            selectedDate: import('../shared/types').UnifyDateItem;
            setSelectedDate: import('../shared/types').SetUnifyDateItem;
            allowedDates: AllowedDates;
            selectDate: SelectDate;
        };
        shamsiSelectedDate: import("vue").ComputedRef<import('../shared/types').TupleDate | null>;
        currentDate: import('../shared/types').TupleDate;
        setLocalSelectedDate: import('../shared/types').SetDateItem;
        selectedLanguageStrings: import("vue").ComputedRef<import("./shared/types").DatePickerLanguageStrings>;
        allowedDates: Ref<AllowedDates>;
        DatePickerUI: import("vue").DefineComponent<{
            date: {
                type: null;
                required: true;
            };
            strings: {
                type: null;
                required: true;
            };
            currentDate: {
                type: null;
                required: true;
            };
            direction: {
                type: null;
                required: true;
            };
            selectedDate: {
                type: null;
                required: true;
            };
            setSelectedDate: {
                type: null;
                required: true;
            };
            allowedDates: {
                type: null;
                required: true;
            };
            selectDate: {
                type: null;
                required: true;
            };
        }, {
            props: {
                date: import('../shared/types').GeneralDateUtil;
                strings: import("./shared/types").DatePickerLanguageStrings;
                currentDate: import('../shared/types').TupleDate;
                direction: import('../shared/types').Direction;
                selectedDate: import('../shared/types').DateItem;
                setSelectedDate: import('../shared/types').SetDateItem;
                allowedDates: AllowedDates;
                selectDate: SelectDate;
            };
            refProps: import("vue").ToRefs<{
                date: import('../shared/types').GeneralDateUtil;
                strings: import("./shared/types").DatePickerLanguageStrings;
                currentDate: import('../shared/types').TupleDate;
                direction: import('../shared/types').Direction;
                selectedDate: import('../shared/types').DateItem;
                setSelectedDate: import('../shared/types').SetDateItem;
                allowedDates: AllowedDates;
                selectDate: SelectDate;
            }>;
            DatePickerUISlider: import("vue").DefineComponent<{}, {
                currentDate: Ref<import('../shared/types').TupleDate>;
                date: import('../shared/types').GeneralDateUtil;
                direction: Ref<import('../shared/types').Direction>;
                currentDateSlide: Ref<{
                    year: number;
                    month: number;
                }>;
                isAnimationInverted: Ref<boolean>;
                nextMonth: () => void;
                prevMonth: () => void;
                SlideAnimation: import("vue").DefineComponent<{
                    isInverted: {
                        type: BooleanConstructor;
                        required: false;
                        default: boolean;
                    };
                    direction: {
                        type: StringConstructor;
                        required: true;
                    };
                }, {
                    props: {
                        isInverted: boolean;
                        direction: "ltr" | "rtl";
                    };
                    animationName: import("vue").ComputedRef<"EMSlide-prev" | "EMSlide">;
                }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                    isInverted?: unknown;
                    direction?: unknown;
                } & {
                    direction: string;
                    isInverted: boolean;
                } & {}>, {
                    isInverted: boolean;
                }>;
                DatePickerUISliderControllers: import("vue").DefineComponent<{
                    currentMonth: {
                        type: NumberConstructor;
                        required: true;
                    };
                    currentYear: {
                        type: NumberConstructor;
                        required: true;
                    };
                }, {
                    props: {
                        currentMonth: number;
                        currentYear: number;
                    };
                    emit: {
                        (e: "next"): void;
                        (e: "prev"): void;
                    };
                    strings: Ref<import("./shared/types").DatePickerLanguageStrings>;
                    direction: Ref<import('../shared/types').Direction>;
                    isAnimationInverted: Ref<boolean>;
                    next: () => void;
                    prev: () => void;
                    StartingArrowButton: import("vue").DefineComponent<{
                        direction: {
                            type: null;
                            required: true;
                        };
                    }, {
                        props: {
                            direction: import('../shared/types').Direction;
                        };
                        emit: (e: "click") => void;
                        ArrowStart: import("vue").ComputedRef<any>;
                        Button: import("vue").DefineComponent<{
                            icon: {
                                type: BooleanConstructor;
                                required: false;
                                default: boolean;
                            };
                            disabled: {
                                type: BooleanConstructor;
                                required: false;
                                default: boolean;
                            };
                            plain: {
                                type: BooleanConstructor;
                                required: false;
                            };
                        }, {
                            props: {
                                icon: boolean;
                                disabled: boolean;
                                plain?: boolean | undefined;
                            };
                            emit: (e: "click") => void;
                            icon: Ref<boolean>;
                            disabled: Ref<boolean>;
                            plain: Ref<boolean | undefined>;
                            checkAndEmitClick: () => void;
                        }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                            icon?: unknown;
                            disabled?: unknown;
                            plain?: unknown;
                        } & {
                            disabled: boolean;
                            icon: boolean;
                            plain: boolean;
                        } & {}> & {
                            onClick?: ((...args: any[]) => any) | undefined;
                        }, {
                            disabled: boolean;
                            icon: boolean;
                            plain: boolean;
                        }>;
                    }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                        direction?: unknown;
                    } & {
                        direction: any;
                    } & {}> & {
                        onClick?: ((...args: any[]) => any) | undefined;
                    }, {}>;
                    EndingArrowButton: import("vue").DefineComponent<{
                        direction: {
                            type: null;
                            required: true;
                        };
                    }, {
                        props: {
                            direction: import('../shared/types').Direction;
                        };
                        emit: (e: "click") => void;
                        ArrowEnd: import("vue").ComputedRef<any>;
                        Button: import("vue").DefineComponent<{
                            icon: {
                                type: BooleanConstructor;
                                required: false;
                                default: boolean;
                            };
                            disabled: {
                                type: BooleanConstructor;
                                required: false;
                                default: boolean;
                            };
                            plain: {
                                type: BooleanConstructor;
                                required: false;
                            };
                        }, {
                            props: {
                                icon: boolean;
                                disabled: boolean;
                                plain?: boolean | undefined;
                            };
                            emit: (e: "click") => void;
                            icon: Ref<boolean>;
                            disabled: Ref<boolean>;
                            plain: Ref<boolean | undefined>;
                            checkAndEmitClick: () => void;
                        }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                            icon?: unknown;
                            disabled?: unknown;
                            plain?: unknown;
                        } & {
                            disabled: boolean;
                            icon: boolean;
                            plain: boolean;
                        } & {}> & {
                            onClick?: ((...args: any[]) => any) | undefined;
                        }, {
                            disabled: boolean;
                            icon: boolean;
                            plain: boolean;
                        }>;
                    }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                        direction?: unknown;
                    } & {
                        direction: any;
                    } & {}> & {
                        onClick?: ((...args: any[]) => any) | undefined;
                    }, {}>;
                }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("next" | "prev")[], "next" | "prev", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                    currentMonth?: unknown;
                    currentYear?: unknown;
                } & {
                    currentMonth: number;
                    currentYear: number;
                } & {}> & {
                    onNext?: ((...args: any[]) => any) | undefined;
                    onPrev?: ((...args: any[]) => any) | undefined;
                }, {}>;
                DatePickerUISliderGridContainer: import("vue").DefineComponent<{
                    currentYear: {
                        type: NumberConstructor;
                        required: true;
                    };
                    currentMonth: {
                        type: NumberConstructor;
                        required: true;
                    };
                }, {
                    date: import('../shared/types').GeneralDateUtil;
                    strings: Ref<import("./shared/types").DatePickerLanguageStrings>;
                    selectedDate: Ref<import('../shared/types').DateItem>;
                    setSelectedDate: import('../shared/types').SetDateItem;
                    props: {
                        currentYear: number;
                        currentMonth: number;
                    };
                    selectDate: (day: number) => void;
                    firstDayOfMonth: import("vue").ComputedRef<number>;
                    lastDayOfMonth: import("vue").ComputedRef<number>;
                    monthDays: import("vue").ComputedRef<number>;
                    DatePickerUISliderGrid: import("vue").DefineComponent<unknown, object, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<unknown>, {}>;
                }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                    currentYear?: unknown;
                    currentMonth?: unknown;
                } & {
                    currentMonth: number;
                    currentYear: number;
                } & {}>, {}>;
            }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{} & {} & {}>, {}>;
            DatePickerUIFooter: import("vue").DefineComponent<{}, {
                strings: Ref<import("./shared/types").DatePickerLanguageStrings>;
                selectedDate: Ref<import('../shared/types').DateItem>;
                selectDate: SelectDate;
                isDateSelected: import("vue").ComputedRef<boolean>;
                datePreviewString: import("vue").ComputedRef<string>;
                Button: import("vue").DefineComponent<{
                    icon: {
                        type: BooleanConstructor;
                        required: false;
                        default: boolean;
                    };
                    disabled: {
                        type: BooleanConstructor;
                        required: false;
                        default: boolean;
                    };
                    plain: {
                        type: BooleanConstructor;
                        required: false;
                    };
                }, {
                    props: {
                        icon: boolean;
                        disabled: boolean;
                        plain?: boolean | undefined;
                    };
                    emit: (e: "click") => void;
                    icon: Ref<boolean>;
                    disabled: Ref<boolean>;
                    plain: Ref<boolean | undefined>;
                    checkAndEmitClick: () => void;
                }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                    icon?: unknown;
                    disabled?: unknown;
                    plain?: unknown;
                } & {
                    disabled: boolean;
                    icon: boolean;
                    plain: boolean;
                } & {}> & {
                    onClick?: ((...args: any[]) => any) | undefined;
                }, {
                    disabled: boolean;
                    icon: boolean;
                    plain: boolean;
                }>;
                VerticalSlideAnimation: any;
            }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{} & {} & {}>, {}>;
        }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
            date?: unknown;
            strings?: unknown;
            currentDate?: unknown;
            direction?: unknown;
            selectedDate?: unknown;
            setSelectedDate?: unknown;
            allowedDates?: unknown;
            selectDate?: unknown;
        } & {
            date: any;
            allowedDates: any;
            strings: any;
            currentDate: any;
            direction: any;
            selectDate: any;
            selectedDate: any;
            setSelectedDate: any;
        } & {}>, {}>;
        date: import('../shared/types').GeneralDateUtil;
    }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
        lang?: unknown;
        direction?: unknown;
        selectedDate?: unknown;
        setSelectedDate?: unknown;
        allowedDates?: unknown;
        selectDate?: unknown;
    } & {
        lang: any;
        allowedDates: any;
        direction: any;
        selectDate: any;
        selectedDate: any;
        setSelectedDate: any;
    } & {}>, {}> | import("vue").DefineComponent<{
        lang: {
            type: null;
            required: true;
        };
        direction: {
            type: null;
            required: true;
        };
        selectedDate: {
            type: null;
            required: true;
        };
        setSelectedDate: {
            type: null;
            required: true;
        };
        allowedDates: {
            type: null;
            required: true;
        };
        selectDate: {
            type: null;
            required: true;
        };
    }, {
        props: {
            lang: Lang;
            direction: import('../shared/types').Direction;
            selectedDate: import('../shared/types').UnifyDateItem;
            setSelectedDate: import('../shared/types').SetUnifyDateItem;
            allowedDates: AllowedDates;
            selectDate: SelectDate;
        };
        selectedDateTuple: import("vue").ComputedRef<import('../shared/types').TupleDate | null>;
        currentDate: import('../shared/types').TupleDate;
        setLocalSelectedDate: import('../shared/types').SetDateItem;
        selectedLanguageStrings: import("vue").ComputedRef<import("./shared/types").DatePickerLanguageStrings>;
        allowedDates: Ref<AllowedDates>;
        DatePickerUI: import("vue").DefineComponent<{
            date: {
                type: null;
                required: true;
            };
            strings: {
                type: null;
                required: true;
            };
            currentDate: {
                type: null;
                required: true;
            };
            direction: {
                type: null;
                required: true;
            };
            selectedDate: {
                type: null;
                required: true;
            };
            setSelectedDate: {
                type: null;
                required: true;
            };
            allowedDates: {
                type: null;
                required: true;
            };
            selectDate: {
                type: null;
                required: true;
            };
        }, {
            props: {
                date: import('../shared/types').GeneralDateUtil;
                strings: import("./shared/types").DatePickerLanguageStrings;
                currentDate: import('../shared/types').TupleDate;
                direction: import('../shared/types').Direction;
                selectedDate: import('../shared/types').DateItem;
                setSelectedDate: import('../shared/types').SetDateItem;
                allowedDates: AllowedDates;
                selectDate: SelectDate;
            };
            refProps: import("vue").ToRefs<{
                date: import('../shared/types').GeneralDateUtil;
                strings: import("./shared/types").DatePickerLanguageStrings;
                currentDate: import('../shared/types').TupleDate;
                direction: import('../shared/types').Direction;
                selectedDate: import('../shared/types').DateItem;
                setSelectedDate: import('../shared/types').SetDateItem;
                allowedDates: AllowedDates;
                selectDate: SelectDate;
            }>;
            DatePickerUISlider: import("vue").DefineComponent<{}, {
                currentDate: Ref<import('../shared/types').TupleDate>;
                date: import('../shared/types').GeneralDateUtil;
                direction: Ref<import('../shared/types').Direction>;
                currentDateSlide: Ref<{
                    year: number;
                    month: number;
                }>;
                isAnimationInverted: Ref<boolean>;
                nextMonth: () => void;
                prevMonth: () => void;
                SlideAnimation: import("vue").DefineComponent<{
                    isInverted: {
                        type: BooleanConstructor;
                        required: false;
                        default: boolean;
                    };
                    direction: {
                        type: StringConstructor;
                        required: true;
                    };
                }, {
                    props: {
                        isInverted: boolean;
                        direction: "ltr" | "rtl";
                    };
                    animationName: import("vue").ComputedRef<"EMSlide-prev" | "EMSlide">;
                }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                    isInverted?: unknown;
                    direction?: unknown;
                } & {
                    direction: string;
                    isInverted: boolean;
                } & {}>, {
                    isInverted: boolean;
                }>;
                DatePickerUISliderControllers: import("vue").DefineComponent<{
                    currentMonth: {
                        type: NumberConstructor;
                        required: true;
                    };
                    currentYear: {
                        type: NumberConstructor;
                        required: true;
                    };
                }, {
                    props: {
                        currentMonth: number;
                        currentYear: number;
                    };
                    emit: {
                        (e: "next"): void;
                        (e: "prev"): void;
                    };
                    strings: Ref<import("./shared/types").DatePickerLanguageStrings>;
                    direction: Ref<import('../shared/types').Direction>;
                    isAnimationInverted: Ref<boolean>;
                    next: () => void;
                    prev: () => void;
                    StartingArrowButton: import("vue").DefineComponent<{
                        direction: {
                            type: null;
                            required: true;
                        };
                    }, {
                        props: {
                            direction: import('../shared/types').Direction;
                        };
                        emit: (e: "click") => void;
                        ArrowStart: import("vue").ComputedRef<any>;
                        Button: import("vue").DefineComponent<{
                            icon: {
                                type: BooleanConstructor;
                                required: false;
                                default: boolean;
                            };
                            disabled: {
                                type: BooleanConstructor;
                                required: false;
                                default: boolean;
                            };
                            plain: {
                                type: BooleanConstructor;
                                required: false;
                            };
                        }, {
                            props: {
                                icon: boolean;
                                disabled: boolean;
                                plain?: boolean | undefined;
                            };
                            emit: (e: "click") => void;
                            icon: Ref<boolean>;
                            disabled: Ref<boolean>;
                            plain: Ref<boolean | undefined>;
                            checkAndEmitClick: () => void;
                        }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                            icon?: unknown;
                            disabled?: unknown;
                            plain?: unknown;
                        } & {
                            disabled: boolean;
                            icon: boolean;
                            plain: boolean;
                        } & {}> & {
                            onClick?: ((...args: any[]) => any) | undefined;
                        }, {
                            disabled: boolean;
                            icon: boolean;
                            plain: boolean;
                        }>;
                    }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                        direction?: unknown;
                    } & {
                        direction: any;
                    } & {}> & {
                        onClick?: ((...args: any[]) => any) | undefined;
                    }, {}>;
                    EndingArrowButton: import("vue").DefineComponent<{
                        direction: {
                            type: null;
                            required: true;
                        };
                    }, {
                        props: {
                            direction: import('../shared/types').Direction;
                        };
                        emit: (e: "click") => void;
                        ArrowEnd: import("vue").ComputedRef<any>;
                        Button: import("vue").DefineComponent<{
                            icon: {
                                type: BooleanConstructor;
                                required: false;
                                default: boolean;
                            };
                            disabled: {
                                type: BooleanConstructor;
                                required: false;
                                default: boolean;
                            };
                            plain: {
                                type: BooleanConstructor;
                                required: false;
                            };
                        }, {
                            props: {
                                icon: boolean;
                                disabled: boolean;
                                plain?: boolean | undefined;
                            };
                            emit: (e: "click") => void;
                            icon: Ref<boolean>;
                            disabled: Ref<boolean>;
                            plain: Ref<boolean | undefined>;
                            checkAndEmitClick: () => void;
                        }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                            icon?: unknown;
                            disabled?: unknown;
                            plain?: unknown;
                        } & {
                            disabled: boolean;
                            icon: boolean;
                            plain: boolean;
                        } & {}> & {
                            onClick?: ((...args: any[]) => any) | undefined;
                        }, {
                            disabled: boolean;
                            icon: boolean;
                            plain: boolean;
                        }>;
                    }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                        direction?: unknown;
                    } & {
                        direction: any;
                    } & {}> & {
                        onClick?: ((...args: any[]) => any) | undefined;
                    }, {}>;
                }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("next" | "prev")[], "next" | "prev", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                    currentMonth?: unknown;
                    currentYear?: unknown;
                } & {
                    currentMonth: number;
                    currentYear: number;
                } & {}> & {
                    onNext?: ((...args: any[]) => any) | undefined;
                    onPrev?: ((...args: any[]) => any) | undefined;
                }, {}>;
                DatePickerUISliderGridContainer: import("vue").DefineComponent<{
                    currentYear: {
                        type: NumberConstructor;
                        required: true;
                    };
                    currentMonth: {
                        type: NumberConstructor;
                        required: true;
                    };
                }, {
                    date: import('../shared/types').GeneralDateUtil;
                    strings: Ref<import("./shared/types").DatePickerLanguageStrings>;
                    selectedDate: Ref<import('../shared/types').DateItem>;
                    setSelectedDate: import('../shared/types').SetDateItem;
                    props: {
                        currentYear: number;
                        currentMonth: number;
                    };
                    selectDate: (day: number) => void;
                    firstDayOfMonth: import("vue").ComputedRef<number>;
                    lastDayOfMonth: import("vue").ComputedRef<number>;
                    monthDays: import("vue").ComputedRef<number>;
                    DatePickerUISliderGrid: import("vue").DefineComponent<unknown, object, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<unknown>, {}>;
                }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                    currentYear?: unknown;
                    currentMonth?: unknown;
                } & {
                    currentMonth: number;
                    currentYear: number;
                } & {}>, {}>;
            }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{} & {} & {}>, {}>;
            DatePickerUIFooter: import("vue").DefineComponent<{}, {
                strings: Ref<import("./shared/types").DatePickerLanguageStrings>;
                selectedDate: Ref<import('../shared/types').DateItem>;
                selectDate: SelectDate;
                isDateSelected: import("vue").ComputedRef<boolean>;
                datePreviewString: import("vue").ComputedRef<string>;
                Button: import("vue").DefineComponent<{
                    icon: {
                        type: BooleanConstructor;
                        required: false;
                        default: boolean;
                    };
                    disabled: {
                        type: BooleanConstructor;
                        required: false;
                        default: boolean;
                    };
                    plain: {
                        type: BooleanConstructor;
                        required: false;
                    };
                }, {
                    props: {
                        icon: boolean;
                        disabled: boolean;
                        plain?: boolean | undefined;
                    };
                    emit: (e: "click") => void;
                    icon: Ref<boolean>;
                    disabled: Ref<boolean>;
                    plain: Ref<boolean | undefined>;
                    checkAndEmitClick: () => void;
                }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
                    icon?: unknown;
                    disabled?: unknown;
                    plain?: unknown;
                } & {
                    disabled: boolean;
                    icon: boolean;
                    plain: boolean;
                } & {}> & {
                    onClick?: ((...args: any[]) => any) | undefined;
                }, {
                    disabled: boolean;
                    icon: boolean;
                    plain: boolean;
                }>;
                VerticalSlideAnimation: any;
            }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{} & {} & {}>, {}>;
        }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
            date?: unknown;
            strings?: unknown;
            currentDate?: unknown;
            direction?: unknown;
            selectedDate?: unknown;
            setSelectedDate?: unknown;
            allowedDates?: unknown;
            selectDate?: unknown;
        } & {
            date: any;
            allowedDates: any;
            strings: any;
            currentDate: any;
            direction: any;
            selectDate: any;
            selectedDate: any;
            setSelectedDate: any;
        } & {}>, {}>;
        date: import('../shared/types').GeneralDateUtil;
    }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
        lang?: unknown;
        direction?: unknown;
        selectedDate?: unknown;
        setSelectedDate?: unknown;
        allowedDates?: unknown;
        selectDate?: unknown;
    } & {
        lang: any;
        allowedDates: any;
        direction: any;
        selectDate: any;
        selectedDate: any;
        setSelectedDate: any;
    } & {}>, {}>>;
    direction: Ref<import('../shared/types').Direction>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
    lang?: unknown;
    allowedDates?: unknown;
    type?: unknown;
    datePickerClass?: unknown;
    modelValue?: unknown;
} & {
    type: any;
    lang: any;
    allowedDates: any;
    modelValue: any;
    datePickerClass: any;
} & {}> & {
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
}, {
    type: any;
    lang: any;
    allowedDates: any;
    modelValue: any;
    datePickerClass: any;
}>;
export default _sfc_main;
