import type { DatepickerOptions, LocaleConfig } from '../core/types'; import type { RangeState } from '../core/RangeState'; export interface DayGridCallbacks { onDateClick: (date: Date) => void; onDateHover: (date: Date) => void; } export declare class DayGridView { private opts; private locale; private callbacks; readonly root: HTMLElement; private cellEls; private focusedDate; /** Cell keyboard navigation starts from here while nothing is focused yet. */ private anchorDate; private renderSeq; private lastRenderedYear; private lastRenderedMonth; constructor(opts: DatepickerOptions, locale: LocaleConfig, callbacks: DayGridCallbacks); /** Render (or re-render) the day grid for a given year/month. */ render(year: number, month: number, selectedDate: Date | null, rangeState: RangeState, highlightedDates?: Date[], disabledDates?: Date[]): void; /** Apply onCellRender results to existing cells (async patch, race-safe). */ applyRenderResults(year: number, month: number, onCellRender: NonNullable, selectedDate: Date | null, rangeState: RangeState): Promise; focusDate(date: Date): void; getFocusedDate(): Date | null; /** Selected day (or today / first of month) — where keyboard navigation starts. */ getAnchorDate(): Date | null; /** True while no cell holds DOM focus. */ hasFocusInGrid(): boolean; }