import React from "react"; import type { CalendarDay as CalendarDayType } from "../types/calendar"; import { type ColorPalette } from "../styles/colors"; export interface CalendarGridProps { /** Calendar days */ days: CalendarDayType[]; /** Currently selected date */ selectedDate: Date | null; /** Callback when date is selected */ onDateSelect: (date: Date) => void; /** Check if date is today */ isToday: (date: Date) => boolean; /** Check if date is selected */ isDateSelected: (date: Date) => boolean; /** Custom container style */ style?: any; /** Custom day style */ dayStyle?: any; /** Custom day text style */ dayTextStyle?: any; /** Show day labels (Sun, Mon, etc.) */ showDayLabels?: boolean; /** Custom day label style */ /** Custom day label style */ dayLabelStyle?: any; /** Override weekday labels */ dayLabels?: string[]; /** Show/hide event markers inside days */ showEventIndicators?: boolean; /** Optional color overrides */ colors?: Partial; /** Dates with events (timestamps) */ markedDates?: number[]; /** Minimum selectable date (inclusive) */ minDate?: number | string | Date; /** Maximum selectable date (inclusive) */ maxDate?: number | string | Date; /** Exact dates to disable */ disabledDates?: Array; /** Ranges of dates to disable */ disabledDateRanges?: Array<{ start: number | string | Date; end: number | string | Date; }>; /** Weekdays to disable (0 = Sunday..6 = Saturday) */ disabledDaysOfWeek?: number[]; /** Custom predicate — runs last and overrides other checks */ isDateDisabled?: (date: Date) => boolean; /** Override month names (unused by grid but forwarded) */ monthNames?: string[]; } /** * Calendar grid with day labels and day cells * Fully customizable via props */ export declare function CalendarGrid({ days, onDateSelect, isToday, isDateSelected, style, dayStyle, dayTextStyle, showDayLabels, dayLabelStyle, markedDates, dayLabels, showEventIndicators, colors, minDate, maxDate, disabledDates, disabledDateRanges, disabledDaysOfWeek, isDateDisabled, }: CalendarGridProps): React.JSX.Element;