import * as react from 'react';
import { Dispatch, SetStateAction, JSX, ReactNode } from 'react';

type CalendarSystemType$1 = "jalali" | "gregorian";
type CalendarModeType$1 = "single" | "range";
type LocaleType$1 = "fa" | "en";
type DayMetaType$1 = {
    node?: ReactNode;
    note?: string;
    color?: string;
    bgColor?: string;
    isDisabled?: boolean;
    isHoliday?: boolean;
};
interface CalendarProps {
    isOpen: boolean;
    value: string[];
    setIsOpen: Dispatch<SetStateAction<boolean>>;
    setValue: Dispatch<SetStateAction<string[]>>;
    mode?: CalendarModeType$1;
    system?: CalendarSystemType$1;
    setSystem?: () => void;
    dayMeta?: Record<string, DayMetaType$1>;
    locale?: LocaleType$1;
    footerContent?: JSX.Element;
}

declare const _default$1: react.NamedExoticComponent<CalendarProps>;

type CalendarSystemType = "jalali" | "gregorian";
type CalendarModeType = "single" | "range";
type LocaleType = "fa" | "en";
type DayMetaType = {
    node?: ReactNode;
    note?: string;
    color?: string;
    bgColor?: string;
    isDisabled?: boolean;
    isHoliday?: boolean;
};
interface CalendarMProps {
    isOpen: boolean;
    value: string[];
    setIsOpen: Dispatch<SetStateAction<boolean>>;
    setValue: Dispatch<SetStateAction<string[]>>;
    mode?: CalendarModeType;
    system?: CalendarSystemType;
    setSystem?: () => void;
    dayMeta?: Record<string, DayMetaType>;
    locale?: LocaleType;
    footerContent?: JSX.Element;
}

declare const _default: react.NamedExoticComponent<CalendarMProps>;

export { _default$1 as Calendar, _default as CalendarM };
