import { CSSProperties, HTMLAttributes, ReactNode } from 'react'; import { DragItem, DropPosition, DropResult } from './core/types'; export type DropIndicator = 'highlight' | 'line' | 'none'; export type DropOrientation = 'vertical' | 'horizontal'; export type DndRefCallback = ((node: T | null) => void) | null; export interface DroppableRenderProps { dropRef: DndRefCallback; canDrop: boolean; isOver: boolean; isOverCurrent: boolean; position: DropPosition | undefined; } export interface DroppableProps { containerId: string; index: number; id?: string | number; args?: unknown; accept?: string | string[]; className?: string; style?: CSSProperties; dropIndicator?: DropIndicator; linePosition?: 'start' | 'end'; orientation?: DropOrientation; dropPosition?: DropPosition | 'auto'; edgeThreshold?: number; acceptFiles?: boolean; greedy?: boolean; dropEffect?: 'move' | 'copy' | 'link' | 'none'; testId?: string; canDrop?: boolean | ((item: DragItem) => boolean); onDrop?: (source: DragItem, target: DropResult) => void; onDragEnter?: (item: DragItem) => void; onDragLeave?: (item: DragItem) => void; onHover?: (item: DragItem, position: DropPosition | undefined) => void; domProps?: HTMLAttributes & Record<`data-${string}`, string | number | boolean | undefined>; children: ReactNode | ((props: DroppableRenderProps) => ReactNode); } declare function Droppable(props: DroppableProps): import("react").JSX.Element; export default Droppable;