import * as React from 'react';
import { DropResult, DraggableProvided } from 'react-beautiful-dnd';
import { ScrollbarType } from '../scrollbar/createScrollbar';
import './style/sort-list.css';
import { LabelValueItemInterface } from '../_utils/interfaces';
export declare type SortListItemType = LabelValueItemInterface | string;
export declare type ClickItemAction = (e: React.MouseEvent) => void;
export declare type RenderItemType = (provided: DraggableProvided, item: SortListItemType, index: number, isDraging: boolean, style?: React.CSSProperties) => React.ReactElement;
export interface SortListProps {
    /** 类型 */
    type?: ScrollbarType;
    /** 模式 */
    mode?: 'plain' | 'normal';
    /** 数据源 */
    list?: SortListItemType[];
    /** 默认数据源 */
    defaultList?: SortListItemType[];
    /** 拖拽变化的回调 */
    onChange?: (items: SortListItemType[], dragResult?: DropResult) => void;
    /** 自定义渲染单元 */
    renderItem?: RenderItemType;
    /** value 关键字 */
    valueKey?: string;
    /** label 关键字 */
    labelKey?: string;
    /** 可以删除 */
    removable?: boolean;
    /** 失效状态 */
    disabled?: boolean;
    /** 显示上下图标 */
    visibleUpDown?: boolean;
    /** 列表高度 */
    listHeight?: number;
    /** 列表宽度 */
    listWidth?: number;
    /** 单元高度 */
    rowHeight?: number;
    /** 启用虚拟滚动 */
    useVirtual?: boolean;
}
export interface SortListItemProps {
    index: number;
    item: SortListItemType;
    renderItem?: RenderItemType;
}
declare const SortList: React.FC<SortListProps>;
export default SortList;
declare const SortListMemo: React.NamedExoticComponent<SortListProps>;
export { SortListMemo };
