import { ICalendarEvent } from '../types/CalendarTypes'; export interface IEventLayout { calenderEvent: ICalendarEvent; gridArea: string; startColumn: number; endColumn: number; row: number; columnSpan: number; } export declare class AllDayLayoutEngine { private weekDates; private tracks; constructor(weekDates: string[]); /** * Calculate layout for all events using clean day-based logic */ calculateLayout(events: ICalendarEvent[]): IEventLayout[]; /** * Find available track for event spanning from startDay to endDay (0-based indices) */ private findAvailableTrack; /** * Check if track is available for the given day range (0-based indices) */ private isTrackAvailable; /** * Get start day index for event (1-based, 0 if not visible) */ private getEventStartDay; /** * Get end day index for event (1-based, 0 if not visible) */ private getEventEndDay; /** * Check if event is visible in the current date range */ private isEventVisible; /** * Format date to YYYY-MM-DD string using local date */ private formatDate; }