export type CalendarMode = 'single' | 'multiple' | 'range'; export type CalendarDot = string | { date: string; color?: string; }; interface CalendarProps { mode?: CalendarMode; /** Number of month grids (1 or 2). Dual is typical for booking ranges. */ months?: 1 | 2; /** Selected day (YYYY-MM-DD) when mode is `single`. */ value?: string; /** Selected days when mode is `multiple`. */ values?: string[]; /** Range start (YYYY-MM-DD) when mode is `range`. */ start?: string; /** Range end (YYYY-MM-DD) when mode is `range`. */ end?: string; /** Inclusive lower bound. */ min?: string; /** Inclusive upper bound. */ max?: string; /** Explicitly disabled dates (YYYY-MM-DD). */ disabledDates?: string[]; /** If set, only these dates are selectable (whitelist). */ enabledDates?: string[]; /** Marker dots under days. */ dots?: CalendarDot[]; /** Show border/shadow chrome. */ framed?: boolean; /** BCP 47 locale for weekday and month names. */ locale?: string; class?: string; onchange?: (detail: { mode: CalendarMode; value: string; values: string[]; start: string; end: string; }) => void; } declare const Calendar: import("svelte").Component; type Calendar = ReturnType; export default Calendar;