/*! Strand UI | MIT License | dillingerstaffing.com */ import type { JSX, VNode } from "preact"; export interface CalendarDay { date: Date; /** Day of the month, 1 to 31. */ day: number; /** Belongs to the previous or next month. */ adjacent: boolean; /** `YYYY-MM-DD`; stable across time zones and usable as a key. */ iso: string; } /** The weeks of a month with the adjacent days that complete them; `month` is zero-based, `fixedWeeks` pads to a row count (cf: calendar-grid-arithmetic). */ export declare function buildMonthGrid(year: number, month: number, weekStartsOn?: number, fixedWeeks?: number): CalendarDay[][]; export interface CalendarGridProps extends Omit, "onSelect"> { year: number; /** Zero-based, as `Date.getMonth()`. */ month: number; weekStartsOn?: 0 | 1; /** Rows to render, padding from adjacent months, so the grid keeps its height across months (six never truncates). */ fixedWeeks?: number; /** Accessible name, e.g. "August 2026". */ label: string; /** Column headings, week-start first. */ dayNames?: string[]; /** Full column names for assistive tech. */ dayNamesLong?: string[]; /** Selected day, `YYYY-MM-DD`. */ selected?: string; /** The day treated as today; pass it for a deterministic server render. */ today?: Date; /** Renders the contents of one day. */ renderDay?: (day: CalendarDay) => VNode | null; /** Items a day shows before the rest become a count (DL 10.6). */ capacity?: number; /** Items per day, keyed by `YYYY-MM-DD`. */ counts?: Record; /** Called with `YYYY-MM-DD` when a day is activated. */ onSelect?: (iso: string) => void; /** Called when arrow navigation leaves the month shown. */ onMonthChange?: (year: number, month: number) => void; className?: string; } /** * A month as a grid of bounded day cells (DL 11.10, 10.6) with the ARIA grid keyboard pattern. * * @example * } /> */ export declare const CalendarGrid: import("preact").FunctionalComponent & { ref?: import("preact").Ref | undefined; }>; //# sourceMappingURL=CalendarGrid.d.ts.map