import { TablePipeline } from '../pipeline'; import { ArtColumn } from '../../interfaces'; export interface RangeSelectionFeatureOptions { /** 范围选中回调函数 */ rangeSelectedChange?(cellRanges: CellRange[], isFinished: boolean): void; /** 是否阻止keydown的默认行为 */ preventkDefaultOfKeyDownEvent?: boolean; /** 是否禁止多范围框选 */ suppressMultiRangeSelection?: boolean; } interface FooterRowRange { startRow: number; endRow: number; } interface CellRange { startRow: number; endRow: number; columns: ArtColumn[]; startColumn: ArtColumn; footerRowRange: FooterRowRange | null; } export declare const rangeSelectionKey = "rangeSelection"; export declare const lastClickCellKey = "lastClickCell"; export declare function rangeSelection(opts: RangeSelectionFeatureOptions): (pipeline: TablePipeline) => TablePipeline; /** * 获取框选范围唯一标识 * @param {*} cellRange * @returns */ export declare function getCellRangeId(cellRange: CellRange): string; export {};