import { AbstractCalendarActiveCellStrategy, BaseCalendarCell } from './common';
export interface CalendarDay<D> extends BaseCalendarCell {
    date: D;
    weekDay: number;
    weekend: boolean;
    monthStatus?: 'previous' | 'current' | 'next';
    specialDayNumber?: number;
    shouldHideSpecialDayMarker?: boolean;
    blocked?: boolean;
    past?: boolean;
    selectedFirst?: boolean;
    selectedLast?: boolean;
    selectedRange?: boolean;
    hoverRange?: boolean;
    isTabIndexed?: boolean;
}
/**
 * Active Calendar Day cell strategy
 */
export declare class ActiveCalendarDayCellStrategy<D = unknown> extends AbstractCalendarActiveCellStrategy<CalendarDay<D>> {
    /**
     * Calculate which table cell should be active
     */
    getActiveCell(cells: CalendarDay<D>[]): CalendarDay<D> | null;
}
