import React from 'react'; import { type ComposableProps } from '../../../lib/slot'; import { type GlassVariant } from '../../../lib/glass'; export type CalendarMode = 'month' | 'year' | 'decade'; export interface CalendarProps extends Omit, 'onChange' | 'onSelect' | 'defaultValue'> { /** Current selected date */ value?: Date; /** Default selected date */ defaultValue?: Date; /** Callback when date is selected */ onSelect?: (date: Date) => void; /** Callback when panel changes */ onPanelChange?: (date: Date, mode: CalendarMode) => void; /** Current display mode */ mode?: CalendarMode; /** Full screen mode */ fullscreen?: boolean; /** Custom date cell render */ dateCellRender?: (date: Date) => React.ReactNode; /** Custom month cell render */ monthCellRender?: (date: Date) => React.ReactNode; /** Disabled date function */ disabledDate?: (date: Date) => boolean; /** Header render function */ headerRender?: (props: { value: Date; type: CalendarMode; onChange: (date: Date) => void; onTypeChange: (type: CalendarMode) => void; }) => React.ReactNode; /** Valid date range */ validRange?: [Date, Date]; /** Locale */ locale?: 'en' | 'zh'; /** Glass morphism variant */ glass?: GlassVariant; /** * Custom weekday labels (Sunday to Saturday) * @default Based on locale prop: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'] for 'en' */ weekdayLabels?: string[]; /** * Custom month abbreviations * @default Based on locale prop: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] for 'en' */ monthLabels?: string[]; /** * Custom full month names * @default Based on locale prop: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] for 'en' */ monthLabelsFull?: string[]; } export declare const Calendar: React.ForwardRefExoticComponent>; export default Calendar; //# sourceMappingURL=Calendar.d.ts.map