import { type AdapterAPI, type AllDragTypes, type CleanupFn, type DropTargetAllowedDropEffect, type DropTargetArgs, type EventPayloadMap, type MonitorArgs } from '../internal-types'; export declare function makeAdapter({ typeKey, mount, dispatchEventToSource, onPostDispatch, defaultDropEffect, }: { typeKey: DragType['type']; mount: (api: AdapterAPI) => CleanupFn; defaultDropEffect: DropTargetAllowedDropEffect; dispatchEventToSource?: >(args: { eventName: EventName; payload: EventPayloadMap[EventName]; }) => void; onPostDispatch?: >(args: { eventName: EventName; payload: EventPayloadMap[EventName]; }) => void; }): { registerUsage: () => CleanupFn; dropTarget: (args: DropTargetArgs) => CleanupFn; monitor: (args: MonitorArgs) => CleanupFn; };