import * as React from 'react'; import type { CalendarEvent, EventCreateInfo, EventDragInfo, EventResizeInfo } from '../types.js'; import type { DragState, DragType } from './use-drag.js'; export interface DragContextValue { isDragging: boolean; canCreate: boolean; canMove: boolean; canResize: boolean; dragState: DragState | null; ghostPosition: { top: number; height: number; column: number; } | null; onDragStart: (type: DragType, eventId: string | null, e: React.PointerEvent, column: number, top: number, height: number, date: Date) => void; } export declare function useDragContext(): DragContextValue | null; interface DragProviderProps { events: CalendarEvent[]; startHour: number; snapInterval: number; onEventDrag?: (info: EventDragInfo) => void; onEventResize?: (info: EventResizeInfo) => void; onEventCreate?: (info: EventCreateInfo) => void; children: React.ReactNode; } export declare function DragProvider({ events, startHour, snapInterval, onEventDrag, onEventResize, onEventCreate, children, }: DragProviderProps): React.JSX.Element; export declare namespace DragProvider { var displayName: string; } export {};