export interface CalendarEvent { id: string; title: string; description?: string; reference?: string; start_time: Date; end_time: Date; color?: string; category?: string; allDay?: boolean; meta?: Record; } export type CalendarView = 'Week' | 'Month' | 'Day' | 'Agenda'; export type WeekStart = 'Sunday' | 'Monday'; export interface AvailabilitySlot { start_time: Date; end_time: Date; } export interface CalendarProps { events?: CalendarEvent[]; startDate?: Date; view?: CalendarView; weekStart?: WeekStart; /** When true, renders availability blocks on the week grid */ availabilityMode?: boolean; /** When true, allows drag-to-paint editing of availability (requires availabilityMode) */ availabilityEditable?: boolean; /** Existing availability slots to display as painted blocks */ availabilitySlots?: AvailabilitySlot[]; } export interface CalendarViewState { currentView?: CalendarView; weekStart?: WeekStart; visibleDateRange?: { start: Date; end: Date; }; currentDate?: Date; } //# sourceMappingURL=CalendarTypes.d.ts.map