import { type BaseDraggableLayoutItemSize, type DashboardLayoutDraggableItem, type DraggableItemType, type DraggableItemTypeMapping, type InsightDraggableItem, type KpiDraggableItem, type RichTextDraggableItem, type VisualizationSwitcherDraggableItem } from "../types.js";
type DroppableItem = DashboardLayoutDraggableItem | InsightDraggableItem | KpiDraggableItem | RichTextDraggableItem | VisualizationSwitcherDraggableItem;
export type DropHandlers = {
    handleInsightListItemDrop: (insight: any) => void;
    handleInsightPlaceholderDrop: () => void;
    handleRichTextPlaceholderDrop: (size: BaseDraggableLayoutItemSize) => void;
    handleVisualizationSwitcherPlaceholderDrop: (size: BaseDraggableLayoutItemSize) => void;
    handleDashboardLayoutPlaceholderDrop: (size: BaseDraggableLayoutItemSize) => void;
    handleWidgetDrop: (item: DroppableItem) => void;
};
export declare function draggableWidgetDropHandler<DragType extends DraggableItemType, DragObject = DraggableItemTypeMapping[DragType]>(item: DragObject, handlers: DropHandlers): void;
export {};
//# sourceMappingURL=draggableWidgetDropHandler.d.ts.map