import { ComputedQuery, FiltersMap, ToastConfig } from '@wix/bex-core'; import React, { JSXElementConstructor, ReactElement, ReactNode, Ref } from 'react'; import { CollectionDragAndDropParentState } from './CollectionDragAndDropState'; interface IndexedItem { item: T; index: number; } export interface CollectionDragEndEvent { from: IndexedItem; after: IndexedItem | null; over: IndexedItem; filters: ComputedQuery['filters']; } export type DragAndDropSubmit = (event: CollectionDragEndEvent) => Promise; export type DragAndDropCancel = (event: CollectionDragEndEvent) => Omit | null | undefined | void; export type DragAndDropBulkSubmit = (events: CollectionDragEndEvent[], snapshot: T[][]) => Promise; export interface SortableContextProps { state: CollectionDragAndDropParentState; children?: ReactNode; onSubmit?: DragAndDropSubmit; onCancel?: DragAndDropCancel; } export interface GridCardItemProps { index: number; rowIndex?: number; columnIndex?: number; droppable?: boolean; draggable?: boolean; dragging?: boolean; dragHandleProps?: React.HTMLAttributes & { domRef?: Ref; }; domRef?: (node: HTMLDivElement | null) => void; } type GridCardItem = React.ReactElement>; export interface DraggableCardProps { state: CollectionDragAndDropParentState; index: number; id: string; isOverlay?: boolean; dndDisabled?: boolean; children: GridCardItem; } export interface DraggableCardOverlayProps { state: CollectionDragAndDropParentState; renderItem: (index: number) => ReactElement | null; } export interface DragAndDrop { SortableContext: (props: SortableContextProps) => JSX.Element; DraggableCard: (props: DraggableCardProps) => JSX.Element; DraggableCardOverlay: (props: DraggableCardOverlayProps) => JSX.Element; } export {}; //# sourceMappingURL=DragAndDrop.d.ts.map