/** * 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;