import { TablePipeline } from '../pipeline';
import { ArtColumn } from '../../interfaces';
interface RowDragEvent {
    startRowIndex: number;
    startRow: any;
    endRowIndex: number;
    endRow: any;
    isFinished: boolean;
    dragPosition: string;
}
export interface RowDragFeatureOptions {
    /** 拖拽开始事件 */
    onDragStart?: (event: RowDragEvent) => void;
    /** 拖拽移动事件 */
    onDragMove?: (event: RowDragEvent) => void;
    /** 拖拽结束事件 */
    onDragEnd?: (event: RowDragEvent) => void;
    /** 判断一行是否要禁用拖拽 */
    isDisabled?: (row: any, rowIndex: number) => boolean;
    /** 拖拽列定义 */
    rowDragColumn?: ArtColumn;
    /** 行高 */
    rowHeight?: number;
    /** 拖拽过程中是否禁止滚动条滚动 */
    suppressScrollMove?: boolean;
}
export declare const ROW_DRAG_COLUMN_CODE = "$_row_drag_column_&";
export declare const rowDragKey = "rowDragKey";
export declare function rowDrag(opt: RowDragFeatureOptions): (pipeline: TablePipeline) => TablePipeline;
export {};
