import { type MouseEventHandler, type ReactNode } from 'react'; import type { ThumbnailVirtualizerApi } from '../views/Editor/Thumbnails/useThumbnailVirtualizer'; import { type OverlayPaint } from './draggableLayout'; type ItemRender = (args: { element: any; index: number; }) => ReactNode; type OverlayRender = (paint: OverlayPaint) => ReactNode; type VirtualizerApi = ThumbnailVirtualizerApi; /** Drag ghost for slide rails: the same direct-canvas thumbnail path. */ export declare const slideDragOverlay: OverlayRender; export default function Draggable({ modelValue, list, itemKey, item, children, className, onEnd, onUpdateModelValue, onContextMenu, disabled, handle, scrollRef, virtualItems, virtualizer, totalSize, overlayRender, }: { modelValue?: any[]; list?: any[]; itemKey?: string | ((item: any) => string); item?: ItemRender; children?: ReactNode; className?: string; onEnd?: (event: { oldIndex: number; newIndex: number; }) => void; onUpdateModelValue?: (next: any[]) => void; onContextMenu?: MouseEventHandler; disabled?: boolean; handle?: string; scrollRef?: VirtualizerApi['scrollRef']; virtualItems?: VirtualizerApi['virtualItems']; virtualizer?: VirtualizerApi['virtualizer']; totalSize?: number; overlayRender?: OverlayRender; }): import("react").JSX.Element; export {};