///
import { FlexProps } from 'theme-ui';
import { CalendarDotProps } from './CalendarDot';
export interface GetCellColorContext {
disableFuture: boolean | Date;
disablePast: boolean | Date;
fadeOtherMonths: boolean;
isSelected: boolean;
isDisabled: boolean;
isFuture: boolean;
isPast: boolean;
isInAnotherMonth: boolean;
}
export interface CalendarDotItemProps {
date: Date;
color: CalendarDotProps['color'];
}
export interface CalendarProps extends Omit {
/** Visual annotations of specific cells indicating specific data at specific dates */
dots?: CalendarDotItemProps[];
/**
* Wether past dates selection and months navigation should be disabled (if true, consider "today", if set as date, consider that date, otherwise all past dates are enabled)
*
* @example disablePast={true}
* @example disablePast={startOfMonth()}
*/
disablePast?: boolean | Date;
/**
* Wether future dates selection and months navigation should be disabled (if true, consider "today", if set as date, consider that date, otherwise all past dates are enabled)
*
* @example disableFuture={true}
* @example disableFuture={addWeeks(new Date(), 2)}
*/
disableFuture?: boolean | Date;
/**
* Wether days of other months should be displayed "faded"
*/
fadeOtherMonths?: boolean;
/** Callback used to define a given cell text color */
getCellColor?: (day: Date, context: GetCellColorContext) => string;
/**
* Wether days of other months should be hidden
*/
hideOtherMonths?: boolean;
/** Array of dates to display (usually the result of "useDateIntervalFromMonth()") */
interval: Date[];
/** Callback invoked when a date is selected in the calendar */
onDateSelected?: (day: Date) => void;
/** Callback invoked when clicking on previous/next months buttons */
onMonthChange(inc: boolean): void;
selectedDay: Date;
}
declare const Calendar: import("react").ForwardRefExoticComponent>;
export default Calendar;