import { SectionListProps, TextStyle, ViewStyle } from 'react-native'; import { LocaleType, MarkedDays, MonthProps, ThemeType as MonthThemeType } from 'react-native-month'; export declare type Event = { name: string; startDate: Date; endDate: Date; color: string; }; declare type ValueOf = T[keyof T]; /** * @format 'YYYY-MM-DD' */ declare type MonthDayKey = string; declare type MarkedDay = ValueOf; export declare type ExtendedMarkedDay = MarkedDay & { events: Event[]; }; export declare type ExtendedMarkedDays = Record; interface EventsThemeType { sectionHeaderContainer?: ViewStyle; sectionHeaderFont?: TextStyle; sectionFooterContainer?: ViewStyle; sectionFooterFont?: TextStyle; } interface EventThemeType { } export interface ThemeType extends EventThemeType, EventsThemeType { container?: ViewStyle; monthContainer?: ViewStyle; } export { MonthThemeType }; interface AgendaMonthProps extends Pick { } declare type AgendaViewType = 'month' | 'week' | 'none'; export interface AgendaProps extends AgendaMonthProps { /** * selected day of the Agenda * * @format 'YYYY-MM-DD' * @type {string} * @memberof AgendaProps */ selectedDay?: Date; events?: Event[]; onDayPress?: (date: Date) => void; onEventPress?: (event: Event) => void; monthTheme?: MonthThemeType; theme?: ThemeType; renderSectionHeader?: SectionListProps['renderSectionHeader']; locale?: LocaleType; firstDayMonday?: boolean; viewType?: AgendaViewType; }