import dayjs from 'dayjs'; import { ThemeTypesModel } from '../../Themes/theme_types'; interface DisabledDates { before?: Date; after?: Date; days?: number[]; daysOfMonth?: number[]; dates?: Date[]; ranges?: DisabledRanges[]; } interface DisabledRanges { from: Date; to: Date; } interface CalendarWidgetProps { disabledDates?: DisabledDates; view: 'mobile' | 'desktop'; minDate?: Date; maxDate?: Date; minMode: 'year' | 'month' | 'day'; allowFocusBorder: boolean; value?: dayjs.Dayjs; isInverse?: boolean; theme?: ThemeTypesModel; dateSelected: (day: dayjs.Dayjs, f: boolean) => void; closeWidget: () => void; } interface BodyProps { theme: CalendarWidgetProps['theme']; view: CalendarWidgetProps['view']; dayTime: 'day' | 'night'; styled: ModelView; } interface dayTimeParams { background: string; border: string; } interface ModelView { style: { day: dayTimeParams; night: dayTimeParams; }; size: { data: { font: any; }; }; } export type { CalendarWidgetProps, BodyProps, ModelView };