import * as React from "react"; export type CalendarDateRange = { from?: string | null; to?: string | null; }; export type CalendarDisabledReason = "disabled" | "min" | "max" | "range"; export type CalendarLabels = { previousMonth?: string; nextMonth?: string; today?: string; clear?: string; selectDate?: (date: string) => string; disabledDate?: (date: string, reason: CalendarDisabledReason) => string; }; export type CalendarSummaryState = { mode: "single" | "range"; value?: string | null; range?: CalendarDateRange; locale: string; }; export type CalendarProps = React.ComponentProps<"div"> & { value?: string | null; range?: CalendarDateRange; onValueChange?: (value: string) => void; onRangeChange?: (range: CalendarDateRange) => void; mode?: "single" | "range"; month?: Date; defaultMonth?: Date | string | null; onMonthChange?: (month: Date) => void; min?: string; max?: string; disabledDates?: string[]; locale?: string; weekStartsOn?: 0 | 1; months?: number; numberOfMonths?: number; showMonthHeaders?: boolean; showOutsideDays?: boolean; pagedNavigation?: boolean; showTodayShortcut?: boolean; showClearShortcut?: boolean; showSelectionSummary?: boolean; labels?: CalendarLabels; renderSelectionSummary?: (state: CalendarSummaryState) => React.ReactNode; }; declare function Calendar({ className, value, range, onValueChange, onRangeChange, mode, month, defaultMonth, onMonthChange, min, max, disabledDates, locale, weekStartsOn, months, numberOfMonths, showMonthHeaders, showOutsideDays, pagedNavigation, showTodayShortcut, showClearShortcut, showSelectionSummary, labels, renderSelectionSummary, ...props }: CalendarProps): React.JSX.Element; export { Calendar };