import { h, Component, JSX } from 'preact'; interface DragListProps { /** 在渲染时回调, 返回需要绘制的内容 */ renderItemFunc: (index: number) => JSX.Element; /** item宽度 */ itemWidth: number; /** item高度 */ itemHeight: number; /** item数量 */ itemSize: number; /** 可视区域宽度 */ width: any; /** 可视区域高度 */ height: any; /** 拖动时虚块的样式 */ hoverItemStyle?: {}; /** 被拖动item样式 */ dragItemStyle?: {}; /** item样式 */ itemStyle?: {}; /** ms, 动画速度, 0为没有动画, 默认150 */ animationTime?: number; } interface DragListState { itemIndex: number[]; draggingIndex: number | null; dragOffsetX: number; dragOffsetY: number; width: number; height: number; itemHeight: number; itemWidth: number; itemSize: number; } export declare class DragList extends Component { itemCache: Array<{ vNode: h.JSX.Element; isValid: any; ref: any; }>; ref: any; listSize: number; animated: any; /** 每行可以放置元素 */ protected visibleCount: number; private dragIndex; private dragEndIndex; private containerRect; private init; constructor(props: DragListProps); componentDidMount(): void; moveItem(oldIndex: number, newIndex: number): void; handleDragStart: (index: number, e: MouseEvent) => void; handleDrag: (index: number, e: MouseEvent) => void; handleDragEnd: (index: number, e: MouseEvent) => void; render(): h.JSX.Element; } export {};