import React from 'react'; import type { Schedule, displayAllDayScheduleMode } from './types'; export interface ScheduleItemExtraProps { onDragStart?: (e: React.DragEvent) => void; onDragEnd?: () => void; onClick?: (e: React.MouseEvent) => void; style?: React.CSSProperties; className?: string; [key: string]: unknown; } interface CalendarContextValue { renderScheduleItem: (schedule: Schedule, extraProps?: ScheduleItemExtraProps) => React.ReactNode; handleScheduleClick: (schedule: Schedule, e?: React.MouseEvent) => void; handleScheduleDragStart: (schedule: Schedule, e: React.DragEvent) => void; handleScheduleDragEnd: () => void; handleDateClick: (date: Date, e: React.MouseEvent) => void; handleDateDragOver: (date: Date, e: React.DragEvent) => void; handleDateDragLeave: () => void; handleDateDrop: (date: Date, e: React.DragEvent) => void; getSchedulesForDate: (date: Date) => Schedule[]; isToday: (date: Date) => boolean; isPastDate: (date: Date) => boolean; getDayTextByDate: (date: Date) => string; selectedSchedules: Schedule[]; isDragOverDate: Date | null; selectedDate: Date; displayAllDayScheduleMode: displayAllDayScheduleMode; isDraggable: boolean; } export declare const useCalendarContext: () => CalendarContextValue; interface CalendarProviderProps { children: React.ReactNode; selectedSchedules: Schedule[]; isDraggable: boolean; handleScheduleClick: (schedule: Schedule, e?: React.MouseEvent) => void; handleScheduleDragStart: (schedule: Schedule, e: React.DragEvent) => void; handleScheduleDragEnd: () => void; handleDateClick: (date: Date, e: React.MouseEvent) => void; handleDateDragOver: (date: Date, e: React.DragEvent) => void; handleDateDragLeave: () => void; handleDateDrop: (date: Date, e: React.DragEvent) => void; getSchedulesForDate: (date: Date) => Schedule[]; isToday: (date: Date) => boolean; isPastDate: (date: Date) => boolean; getDayTextByDate: (date: Date) => string; isDragOverDate: Date | null; selectedDate: Date; displayAllDayScheduleMode: displayAllDayScheduleMode; } export declare const CalendarProvider: React.FC; export {};