import { List } from 'immutable'; import { DropTargetMonitor } from 'react-dnd'; export type DndIntentTypeY = 'same' | 'up' | 'down'; export type DndIntentTypeX = 'same' | 'left' | 'right'; export interface DndDragIntentPos { x: DndIntentTypeX; y: DndIntentTypeY; colX: number; colY: number; edgeX: 'right' | 'left' | undefined; edgeY: 'top' | 'bottom' | undefined; posQuarter: 'center' | 'top-right' | 'top-left' | 'bottom-left' | 'bottom-right' | undefined; } export interface DndDragIntentKeys { level?: DndIntentTypeY | 'switch'; container?: DndIntentTypeY; isParent?: boolean; willBeParent?: boolean; willBeDirectRoot?: boolean; wasBeforeRelative?: boolean; toRelativeRootKeys?: List; } export declare const DndIntents: { [K in DndIntentTypeY | DndIntentTypeX | 'switch']: K; }; export type PathKey = string | number; export type DataKeys = List; export interface ItemSpec { type: string; id: string; index: number; dataKeys: DataKeys; } export interface OnMovedEvent { toItem: S; fromItem: S; targetElement: C; monitor: DropTargetMonitor; }