import { Ref, ShallowRef } from 'vue'; import { AreaSelectionConfig, AreaSelectionRange, CellKeyGen, ColKeyGen, StkTableColumn, AreaSelectionSetterRange, AreaSelectionSetterOption } from '../types'; import { VirtualScrollStore, VirtualScrollXStore } from '../useVirtualScroll'; /** * 单元格区域选择功能 * 支持鼠标拖拽选择、键盘导航、复制粘贴等功能 * en: Cell area selection feature with mouse drag, keyboard navigation, copy-paste, etc. */ declare function useAreaSelectionImpl
>(props: any, emits: any, tableContainerRef: Ref, dataSourceCopy: ShallowRef, tableHeaderLast: ShallowRef[]>, colKeyGen: ColKeyGen, cellKeyGen: CellKeyGen, scrollTo: (top: number | null, left: number | null) => void, virtualScroll: Ref, virtualScrollX: Ref, getRowIndex: (row: DT) => number, getColumnIndex: (col: StkTableColumn
) => number): { config: import('vue').ComputedRef; isSelecting: Ref; get: () => { rows: DT[]; cols: StkTableColumn
[]; ranges: AreaSelectionRange[]; }; set: (ranges?: AreaSelectionSetterRange
, option?: AreaSelectionSetterOption) => AreaSelectionRange[]; clear: () => void; copy: () => string; onMD: (e: MouseEvent) => void; }; export declare const useAreaSelectionName = "useAreaSelection"; export declare const useAreaSelection: typeof useAreaSelectionImpl; export {};