import type { FreeformItemData } from '../types/index.js'; import { type DropZoneEntry } from './useDropZoneRegistry.js'; /** * Handles SOURCE side of cross-list drag: * - Detects when dragging over external drop zones * - Updates global registry with hover state */ export declare function useExternalDrag(ownDropZoneId?: string): { currentExternalZone: import("vue").Ref<{ id: string; element: HTMLElement; accept?: ((items: FreeformItemData[]) => boolean) | undefined; } | null, DropZoneEntry | { id: string; element: HTMLElement; accept?: ((items: FreeformItemData[]) => boolean) | undefined; } | null>; detectExternalZone: (pos: { x: number; y: number; }, draggedItems: FreeformItemData[]) => void; finishExternalDrag: (draggedItems: FreeformItemData[]) => { zoneId: string; dropIndex: number; containerId: string | null; } | null; cleanup: () => void; };