import { FC, CSSProperties, ReactNode } from 'react';
import { DropResult, ResponderProvided } from 'react-beautiful-dnd';
export interface DataSource {
    id?: number | string;
    disabled?: boolean;
    [props: string]: any;
}
export interface DragListProps {
    /**
     * @description 拖拽区域类名
     * @default
     */
    dropClassName?: string;
    /**
     * @description 拖拽区域样式
     * @default
     */
    dropStyle?: CSSProperties;
    /**
     * @description 拖拽区域样式根据isDraggingOver设置样式
     * @default isDraggingOver拖拽时为true，其他时刻为false
     */
    setDropStyleFn?: (isDraggingOver?: boolean) => CSSProperties;
    /**
     * @description 拖拽对象类名
     * @default
     */
    drapClassName?: string;
    /**
     * @description 拖拽对象样式
     * @default
     */
    drapStyle?: CSSProperties;
    /**
     * @description 拖拽对象样式根据isDragging设置样式
     * @default
     */
    setDrapStyleFn?: (isDragging?: boolean, draggableStyle?: CSSProperties) => CSSProperties;
    /**
     * @description 拖拽结束事件
     * @default
     */
    onDragEnd?: (result: DropResult, provided: ResponderProvided) => void;
    /**
     * @description 数据源
     * @default []
     */
    dataSource: DataSource[];
    /**
     * @description 渲染单条数据，且数据源对象中，必须要有唯一id属性
     * @default
     */
    renderItem: (item?: DataSource, index?: number) => ReactNode;
    /**
     * @description 拖拽方向
     * @default 'vertical'
     */
    direction?: 'horizontal' | 'vertical';
    /**
     * @description 拖拽区域唯一id
     * @default
     */
    droppableId?: string;
    /**
     * @description 确保每个拖拽对象id共用前缀
     * @default
     */
    draggableId?: string;
}
declare const DragList: FC<DragListProps>;
export default DragList;
