import { CalendarDate, CalendarMonth, CalendarYear, DateRange } from "../interfaces"; /** * Getters type for calendar controller state access * Provides read-only access to controller state via functions */ export interface CalendarGetters { selectedDate: () => Date | null; selectedDateRange: () => DateRange; focusedDate: () => Date | null; currentDate: () => Date; currentMonth: () => number; currentYear: () => number; monthName: () => string; calendarDays: () => CalendarDate[]; calendarMonths: () => CalendarMonth[]; calendarYears: () => CalendarYear[]; weekdays: () => string[]; isRangeSelection: () => boolean; currentYearRangeBase: () => number | { startYear: number; endYear: number; }; formattedDate: () => string | null; currentYearRange: () => any; minDate: () => Date | null; maxDate: () => Date | null; disabledDates: () => Date[]; disabledDaysOfWeek: () => number[]; firstDayOfWeek: () => number; locale: () => string; hideOtherMonthDays: () => boolean; yearRangeSize: () => number; }