import type {ReactNode} from 'react'; import type {StyleProp, TextStyle, ViewStyle} from 'react-native'; import type {GoogleCalendarConfig} from './googleCalendar/types'; import type {AgendaConfig, AgendaItem} from './agenda/types'; export type CalendarType = 'hijiri' | 'gregorian'; export type {GoogleCalendarConfig, CalendarEvent} from './googleCalendar/types'; export type {AgendaConfig, AgendaItem} from './agenda/types'; export type SelectedDateRange = { from: string; to: string; style?: StyleProp; }; export type MarkedDays = { selectedDays: number[]; months: number[]; style?: StyleProp; }; export type HCalendarProps = { containerStyle?: StyleProp; fontStyle?: StyleProp; onPrev?: () => void; onNext?: () => void; weekDaysStyle?: StyleProp; currentDayStyle?: StyleProp; headerStyle?: StyleProp; dayNameFontStyle?: StyleProp; selectedDates?: SelectedDateRange[]; onDaySelect?: (date: string, marked: boolean) => void; calendarType?: CalendarType; iconNext?: ReactNode; iconPrev?: ReactNode; markedDatesTextStyle?: StyleProp; headerFontStyle?: StyleProp; customGMonths?: string[]; customHMonths?: string[]; customWeekDays?: string[]; dayContainerStyle?: StyleProp; colContainerStyle?: StyleProp; googleCalendar?: GoogleCalendarConfig; agenda?: boolean | AgendaConfig; agendaItems?: AgendaItem[]; onReserve?: (item: AgendaItem) => void; onAgendaDelete?: (id: string) => void; };