import React, { CSSProperties } from 'react'; interface QronoCalendarProps { bookableEvents?: EventType[]; bookings?: EventType[]; openPeriods?: EventType[]; closedPeriods?: EventType[]; events?: QronoEventType[]; bookingPickerType: 'dateRangePicker' | 'timeRangePicker' | 'bookableEvents' | 'timeIntervalPicker'; defaultAvailable: boolean; styles?: QronoStylesType; onSelectStart: (startDate?: Date, state?: any) => any; onSelectEnd: (endDate?: Date, state?: any) => any; timezone?: string; bookingConfig?: BookingconfigProps; } interface BookingconfigProps { defaultCapacity?: number; bookingInterval?: number | "quarterHour" | "halfHour" | "hour" | "day" | "night"; minBookingLength?: number; maxBookingLength?: number; } interface QronoStylesType { primaryColor?: CSSProperties['backgroundColor']; secondaryColor?: CSSProperties['backgroundColor']; textAccentColor?: CSSProperties['color']; backgroundColor?: CSSProperties['backgroundColor']; panelBackgroundColor?: CSSProperties['backgroundColor']; font?: CSSProperties['font']; textColor?: CSSProperties['color']; } interface EventType { start: Date; end: Date; timezone?: string; eventType?: 'bookable_event' | 'open_period' | 'closed_period' | 'booking'; } interface QronoEventType extends EventType { recurrenceRule?: RecurrenceType; capacity?: number; eventType: 'bookable_event' | 'open_period' | 'closed_period' | 'booking'; id?: string; } interface RecurrenceType { frequence: 'hourly' | 'daily' | 'weekly' | 'monthly' | 'yearly'; interval: number; start: Date; end: Date; exceptions?: Date[] | Date; } declare const QronoCalendar: React.FC; export { QronoCalendar };