import * as React from 'react';
export type CalendarDayElementProps = Omit<React.AllHTMLAttributes<HTMLElement>, 'onChange' | 'size' | 'disabled' | 'selected' | 'onFocus'>;
export type CalendarDayTestsProps = {
    /**
     * Передает атрибут `data-testid` для дня в календаре.
     */
    testId?: string | ((day: Date) => string);
};
export interface CalendarDayProps extends CalendarDayElementProps, CalendarDayTestsProps {
    /**
     * Дата, которую представляет этот день.
     */
    day: Date;
    /**
     * Является ли день сегодняшним.
     */
    today?: boolean;
    /**
     * Выбран ли день (в режиме одиночного выбора или как часть диапазона).
     */
    selected?: boolean;
    /**
     * Является ли день началом выделенного диапазона.
     */
    selectionStart?: boolean;
    /**
     * Является ли день концом выделенного диапазона.
     */
    selectionEnd?: boolean;
    /**
     * Подсветить день как начало предполагаемого диапазона (при наведении).
     */
    hintedSelectionStart?: boolean;
    /**
     * Подсветить день как конец предполагаемого диапазона (при наведении).
     */
    hintedSelectionEnd?: boolean;
    /**
     * Активен ли день (текущая дата в календаре).
     */
    active?: boolean;
    /**
     * Скрыть день (например, дни соседних месяцев).
     */
    hidden?: boolean;
    /**
     * Блокировка взаимодействия с компонентом.
     */
    disabled?: boolean;
    /**
     * Находится ли день в фокусе (клавиатурная навигация).
     */
    focused?: boolean;
    /**
     * Подсвечен ли день (ховер).
     */
    hinted?: boolean;
    /**
     * Принадлежит ли день текущему отображаемому месяцу.
     */
    sameMonth?: boolean;
    /**
     * Размер компонента.
     */
    size?: 's' | 'm';
    /**
     * Обработчик выбора/изменения дня.
     */
    onChange: (value: Date) => void;
    /**
     * Обработчик наведения на день.
     */
    onEnter?: (value: Date) => void;
    /**
     * Обработчик снятия ховера с дня.
     */
    onLeave?: (value: Date) => void;
    /**
     * Обработчик фокуса на дне.
     */
    onFocus?: (value: Date) => void;
    /**
     * Кастомизация отображения содержимого дня.
     */
    renderDayContent?: (day: Date) => React.ReactNode;
}
export declare const CalendarDay: React.MemoExoticComponent<({ day, today, selected, onChange, hidden, disabled, active, selectionStart, selectionEnd, focused, onEnter, onLeave, onFocus, onBlur, hinted, hintedSelectionStart, hintedSelectionEnd, sameMonth, size, children, renderDayContent, testId, role, "aria-colindex": colIndex, ...restProps }: CalendarDayProps) => import("react/jsx-runtime").JSX.Element>;
//# sourceMappingURL=CalendarDay.d.ts.map