import { CalendarView } from '../calendar/types'; import { CalendarCellData, CalendarSystem } from '../calendar-core'; export declare const getViewNumber: (view: CalendarView) => number; export declare const stepByCell: (base: Date, view: CalendarView, step: number, calendarSystem: CalendarSystem) => Date; export declare const stepByView: (base: Date, view: CalendarView, step: number, calendarSystem: CalendarSystem) => Date; export declare const clampDate: (d: Date, min: Date, max: Date) => Date; export declare const inRange: (d: Date, min?: Date | null, max?: Date | null) => boolean; export declare const isValidDateObj: (x: unknown) => x is Date; export declare const isInViewRange: (d: Date, view: CalendarView, min?: Date | null, max?: Date | null, calendarSystem?: CalendarSystem) => boolean; export declare const getVisibleDates: (baseDate: Date, view: CalendarView, calendarSystem?: CalendarSystem) => Date[]; export declare const findFirstFocusableInView: (baseDate: Date, view: CalendarView, min: Date, max: Date, calendarSystem: CalendarSystem) => Date; export declare const findLastFocusableInView: (baseDate: Date, view: CalendarView, min: Date, max: Date, calendarSystem: CalendarSystem) => Date; export interface CommonContext { minDate: Date; maxDate: Date; disabled: boolean; focusedDate: Date | null; normalizedDates?: Date[]; selectedDate?: Date | null; multiSelect?: boolean; range?: [Date | null, Date | null] | undefined; focusTodayOnOtherMonth?: boolean; suppressRangeSelection?: boolean; isRangePreview?: boolean; } export interface CellState { isOutOfBounds: boolean; isOtherRange: boolean; isWeekend: boolean; isToday: boolean; isFocused: boolean; isSelected: boolean; className: string; ariaSelected?: boolean; ariaDisabled?: boolean; suppressDisabledClass?: boolean; } export declare const computeDisabled: (date: Date, minDate: Date, maxDate: Date) => boolean; export declare const computeSelectedForMonth: (date: Date, normalizedDates?: Date[], multi?: boolean) => boolean; export declare const getSelectedDateFromValue: (value: Date | Date[] | null | undefined, multiSelect: boolean) => Date | null; export declare const buildCellState: (kind: string, cell: CalendarCellData, ctx: CommonContext, calendarSystem: CalendarSystem) => CellState; export declare const isDateDisabledByRule: (date: Date, disablePastDays: boolean, disableFutureDays: boolean, view?: CalendarView) => boolean; export declare const isCellWithinRange: (cellDate: Date, range: [Date | null, Date | null] | undefined, precision: 'month' | 'year', calendarSystem?: CalendarSystem) => boolean;