import { type BaseEventPayload, type CleanupFn, type DropTargetArgs, type DropTargetEventBasePayload, type DropTargetEventPayloadMap, type DropTargetGetFeedbackArgs, type EventPayloadMap, type ExternalDragType, type MonitorArgs, type MonitorGetFeedbackArgs, type NativeMediaType } from '../internal-types'; export declare function isAnAvailableType({ type, value }: { type: string; value: string; }): boolean; export declare function getAvailableTypes(transfer: DataTransfer): NativeMediaType[]; export declare function getAvailableItems(dataTransfer: DataTransfer): DataTransferItem[]; declare const adapter: { registerUsage: () => CleanupFn; dropTarget: (args: DropTargetArgs) => CleanupFn; monitor: (args: MonitorArgs) => CleanupFn; }; /** * Some events don't make sense for the external adapter * * `onGenerateDragPreview` * The browser creates the drag preview for external drags, so we don't * need an event to generate the preview for _monitors_ or the _dropTarget_ * * `onDragStart` * An external drag can never start from in the `window`, so _dropTarget_'s * don't need `onDragStart` */ type StripEventsForDropTargets = Omit; type StripEventsForMonitors = Omit; export declare function dropTargetForExternal(args: StripEventsForDropTargets[0]>): CleanupFn; export declare function monitorForExternal(args: StripEventsForMonitors[0]>): CleanupFn; /** Common event payload for all events */ export type ExternalEventBasePayload = BaseEventPayload; /** A map containing payloads for all events */ export type ExternalEventPayloadMap = StripEventsForMonitors>; /** Common event payload for all drop target events */ export type ExternalDropTargetEventBasePayload = DropTargetEventBasePayload; /** A map containing payloads for all events on drop targets */ export type ExternalDropTargetEventPayloadMap = StripEventsForDropTargets>; /** Arguments given to all feedback functions (eg `canDrop()`) on a `dropTargetForExternal` */ export type ExternalDropTargetGetFeedbackArgs = DropTargetGetFeedbackArgs; /** Arguments given to all monitor feedback functions (eg `canMonitor()`) for a `monitorForExternal` */ export type ExternalMonitorGetFeedbackArgs = MonitorGetFeedbackArgs; export {};