import { TablePipeline } from '../pipeline';
import { ArtColumn, RowDragEvent } from '../../interfaces';
export interface RowDragFeatureOptions {
    /** 拖拽开始事件 */
    onDragStart?: (event: RowDragEvent) => void;
    /** 拖拽移动事件 */
    onDragMove?: (event: RowDragEvent) => void;
    /** 拖拽结束事件 */
    onDragEnd?: (event: RowDragEvent) => void;
    /** 拖拽离开事件 */
    onDragLeave?: (event: RowDragEvent) => void;
    /** 拖拽进入事件 */
    onDragEnter?: (event: RowDragEvent) => void;
    /** 判断一行是否要禁用拖拽 */
    isDisabled?: (row: any, rowIndex: number) => boolean;
    /** 拖拽时显示的文本 */
    rowDragText: (row: any, rowIndex: number) => string;
    /** 拖拽列定义 */
    rowDragColumn?: ArtColumn;
    /** 拖拽过程中是否禁止滚动条滚动 */
    suppressScrollMove?: boolean;
    /** 树型表格是否允许拖拽插入行 */
    allowDragIntoRow?: boolean;
    /** 公共参数，作为拖拽回调参数，可在此提供业务层取数接口 */
    commonParams?: any;
}
export declare const ROW_DRAG_COLUMN_CODE = "$_row_drag_column_&";
export declare const rowDragKey = "rowDragKey";
export declare const rowDragOptionsKey = "rowDragOptions";
export declare function rowDrag(opt: RowDragFeatureOptions): (pipeline: TablePipeline) => TablePipeline;
