import React from 'react'; type BuiltinFlavor = 'primary' | 'success' | 'danger' | 'warning' | 'neutral'; type ShadedFlavor = BuiltinFlavor | `${BuiltinFlavor}+` | `${BuiltinFlavor}-`; export interface TyCalendarChangeEventDetail { /** Selected month (1-12) */ month: number; /** Selected year (4-digit) */ year: number; /** Selected day (1-31) */ day: number; /** Action that triggered the change: "select" */ action: 'select'; /** Source of the change: "day-click" */ source: 'day-click'; /** Complete day context from the calendar month */ dayContext: any; } export interface TyCalendarNavigateEventDetail { /** Navigation target month (1-12) */ month: number; /** Navigation target year (4-digit) */ year: number; /** Action that triggered the navigation: "navigate" */ action: 'navigate'; /** Source of the change: "navigation" */ source: 'navigation'; } export interface TyCalendarProps extends Omit, 'onChange'> { /** Selected year (4-digit) */ year?: number | string; /** Selected month (1-12) */ month?: number | string; /** Selected day (1-31) */ day?: number | string; /** Show navigation controls */ showNavigation?: boolean; /** Stateless mode - no internal state management */ stateless?: boolean; /** Calendar size */ size?: 'sm' | 'md' | 'lg'; /** Visual flavor for the selected/today day cells (nav stays neutral chrome) */ flavor?: ShadedFlavor | (string & {}); /** Locale for date formatting */ locale?: string; /** Calendar width */ width?: string | number; /** Earliest selectable date (ISO "YYYY-MM-DD") — earlier days disabled, navigation clamped */ min?: string; /** Latest selectable date (ISO "YYYY-MM-DD") — later days disabled, navigation clamped */ max?: string; /** Minimum calendar width */ minWidth?: string | number; /** Maximum calendar width */ maxWidth?: string | number; /** Form field name for form submission */ name?: string; /** Form value (ISO date string) */ value?: string; /** Function to render custom day content */ dayContentFn?: (dayContext: any) => HTMLElement | string; /** Function to determine day CSS classes */ dayClassesFn?: (dayContext: any) => string[]; /** Custom CSS injection for render functions */ customCSS?: string; /** Callback when a date is selected */ onChange?: (event: CustomEvent) => void; /** Callback when navigation changes month/year */ onNavigate?: (event: CustomEvent) => void; /** Callback when a day cell is clicked (fires alongside change) */ onDayClick?: (event: CustomEvent) => void; } export declare const TyCalendar: React.ForwardRefExoticComponent>; export {}; //# sourceMappingURL=TyCalendar.d.ts.map