import { ThemeTypesModel } from '../../Themes/theme_types'; import dayjs from 'dayjs'; interface DisabledDates { before?: Date; after?: Date; days?: number[]; daysOfMonth?: number[]; dates?: Date[]; ranges?: DisabledRanges[]; } interface DisabledRanges { from: Date; to: Date; } interface CalendarRangeWidgetProps { firstValue?: dayjs.Dayjs; secondValue?: dayjs.Dayjs; disabledDates?: DisabledDates; allowFocusBorder?: boolean; view: 'mobile' | 'desktop'; minDate?: Date; maxDate?: Date; theme?: ThemeTypesModel; isInverse?: boolean; closeWidget?: () => void; dateSelected: (obj: dateObj) => void; dateMouseEnter: () => void; dateMouseLeave: () => void; } interface dateObj { first: dayjs.Dayjs | undefined; second: dayjs.Dayjs | undefined; } interface BodyProps { view: 'mobile' | 'desktop'; dayTime: 'day' | 'night'; styled: ModelView; } interface dayTimeParams { background: string; border: string; } interface ModelView { style: { day: dayTimeParams; night: dayTimeParams; }; } export type { CalendarRangeWidgetProps, BodyProps, ModelView };