import { i as DndAdapter } from "./adapter-yV-BV3RZ.mjs";
import { combine } from "@atlaskit/pragmatic-drag-and-drop/combine";
import { draggable, dropTargetForElements, monitorForElements } from "@atlaskit/pragmatic-drag-and-drop/element/adapter";

//#region src/adapters/pragmatic-dnd.d.ts
/**
* The `@atlaskit/pragmatic-drag-and-drop` exports needed by the adapter.
*
* @group DnD
*/
type PragmaticDndExports = {
  draggable: typeof draggable;
  dropTargetForElements: typeof dropTargetForElements;
  monitorForElements: typeof monitorForElements;
  combine: typeof combine;
};
/**
* Creates a {@link DndAdapter} backed by `@atlaskit/pragmatic-drag-and-drop`.
*
* @example
* ```tsx
* import { QueryBuilderDnD } from '@react-querybuilder/dnd';
* import { createPragmaticDndAdapter } from '@react-querybuilder/dnd/pragmatic-dnd';
* import { draggable, dropTargetForElements, monitorForElements } from '@atlaskit/pragmatic-drag-and-drop/element/adapter';
* import { combine } from '@atlaskit/pragmatic-drag-and-drop/combine';
*
* const adapter = createPragmaticDndAdapter({ draggable, dropTargetForElements, monitorForElements, combine });
*
* <QueryBuilderDnD dnd={adapter}>
*   <QueryBuilder />
* </QueryBuilderDnD>
* ```
*
* @group DnD
*/
declare const createPragmaticDndAdapter: (pdndExports: PragmaticDndExports) => DndAdapter;
//#endregion
export { createPragmaticDndAdapter as n, PragmaticDndExports as t };
//# sourceMappingURL=pragmatic-dnd-CVFK009Q.d.mts.map