/** A drag-and-drop event, unified behind one discriminated union for * {@link subscribeFileDrops}. */ export type FileDropEvent = { type: 'enter'; paths: string[]; x: number; y: number; } | { type: 'over'; x: number; y: number; } | { type: 'drop'; paths: string[]; x: number; y: number; } | { type: 'leave'; }; /** Subscribes to native file drag-and-drop events. Requires `webview:dragDrop`; * a silent no-op (returns an inert unsubscribe) outside the native renderer. */ export declare function subscribeFileDrops(handler: (event: FileDropEvent) => void): () => void; /** * Thin hook wrapper around `subscribeFileDrops()`: fires `onDrop` only for * the `drop` event (files actually released over the window). * * ```tsx * import { useFileDrop } from 'murasaki' * * useFileDrop(({ paths }) => importFiles(paths)) * ``` */ export declare function useFileDrop(onDrop: (event: { paths: string[]; x: number; y: number; }) => void): void; //# sourceMappingURL=file-drop.d.ts.map