import { type CalendarGridBuilder } from '../../../types/CalendarGridBuilder';
import { type ProductionCalendar } from '../../../types/ProductionCalendar';
export type CalendarGridItemDay = {
    /**
     * Флаг обозначающий, что дата не попадает в предполагаемый диапазон к выбору,
     * но эту дату все равно можно выбрать, например календарь на декабрь 22го года, начинается с понедельника 28го ноября,
     * и вот этот кусочек ноября будет вне целевого диапазона
     */
    isOutOfAvailableRange: boolean;
    /**
     * Флаг, обозначающий что дата не попадает в ховер диапазон
     */
    isInHoveredRange: boolean;
    /**
     * день месяца, 1 - 31
     */
    monthDay: number;
    /**
     * Порядковый номер в общем массиве
     */
    index: number;
} & Partial<ProductionCalendar.Day>;
type BuildDaysCalendarGridOptions = {
    /**
     * Флаг обозначающий, что надо отрендерить массив, где понедельник в календаре идет вначале
     * @default true
     */
    isMondayFirst?: boolean;
    /**
     * Дата, которая находится в состоянии hover
     */
    hoveredDate?: Date | null;
    /**
     * Минимальная дата. Для дат меньше или равной этой isDisabled будет равен true
     */
    minDate?: Date | null;
    /**
     * Максимальная. Для дат больше или равной этой isDisabled будет равен true
     */
    maxDate?: Date | null;
    /**
     * Хранилище данных по датам производственного календаря
     */
    productionCalendarStorage?: ProductionCalendar.Storage | null;
};
export declare const DAYS_CALENDAR_ITEMS_COUNT: number;
export declare const buildDaysCalendarGrid: CalendarGridBuilder<CalendarGridItemDay, BuildDaysCalendarGridOptions>;
export {};
