export type Year = number; export type Month = string; export type MonthIndex = number; export type Day = string; export type DayOfWeek = string; export interface SelectedMonthYear { monthIndex: number; selectedYear: number; } export interface DateValidators { startDate?: Date; endDate?: Date; cutOffTime?: Date; } export interface DateModel { date: Date; isEmpty: true; isActivity: boolean; integer: number; isToday: boolean; isValid: boolean; isEndDate: boolean; isStartDate: boolean; isSelected: boolean; classList: string; } export type DateEmpty = { date: null; isEmpty: boolean; integer: null; isActivity: false; isToday: false; isSelected: false; isStartDate: false; isEndDate: false; isValid: false; classList: string; }; export type InputValidation = { isValid: boolean; messageType: string; message: string; isAvailable: boolean; inputDate?: Date; calendarPosition?: number[]; }; export type CalendarDay = DateModel | DateEmpty;