/**
* Droppable attachment factory for `{@attach ...}` (Svelte 5.29+).
*
* Prefer this over `use:droppable` when targeting **components** that spread
* props onto a root element. On plain HTML elements both APIs work.
*
* @module attachments/droppable
*/
import type { Attachment } from 'svelte/attachments';
import type { DragDropOptions } from '../types/index.js';
/**
* Creates a droppable [attachment](https://svelte.dev/docs/svelte/@attach).
*
* Pass options directly, or a **getter** so each attach evaluation reads fresh
* options (recommended when callbacks close over state).
*
* @typeParam T - Payload type for dropped items
*
* @example
* ```svelte
*
*
* (() => ({
* container: 'todo',
* callbacks: { onDrop: handleDrop }
* }))}
* >
*
*
* ```
*/
export declare function attachDroppable(options: DragDropOptions | (() => DragDropOptions)): Attachment;