import type { ComputedRef, Ref, ShallowRef } from 'vue'; import type { DefaultRecordType, FinallyColumnType, Key, Position, RenderedCell } from '../components/interface'; import type { AppendCellRange, CellRangesItem, FormatRangeCellTextParams, RangeCell, RowPinned, SelectedRangeItem } from './RangeInterface'; import { useCellNavigation } from './useCellNavigation'; export declare const useProvideRangeStore: (parmas: { allColumns: ShallowRef[]>; flattenData: ShallowRef; prefixCls: ComputedRef; rangeSelection: ComputedRef; getRowByFlattenIndex: (index: number) => DefaultRecordType; getCellPropsByKey: (rowKey: Key, columnKey: Key) => RenderedCell; getTabGuardTop: () => HTMLDivElement; getTabGuardBottom: () => HTMLDivElement; ensureCellRowVisible: (cell: RangeCell) => void; ensureCellColumnVisible: (cell: RangeCell) => void; latestRangeStartCell: ShallowRef; scrollTo: (pos?: number | Position, behavior?: 'auto' | 'smooth', skipAnimate?: boolean) => void; scrollLeft: Ref; scrollTop: Ref; showVerticalScrollbar: Ref; showHorizontalScrollbar: Ref; getIndexsByKey: (key: Key) => number[]; formatRangeCellText: (parmas: FormatRangeCellTextParams) => string; editCellKeys: Ref; copyDelimiter: Ref; getScrollContainer: () => HTMLDivElement; getRootElement: () => HTMLDivElement; }) => { getSelectedRange: () => SelectedRangeItem[]; appendCellToSelectedRange: (params: AppendCellRange) => void; clearAllSelectedRange: () => void; setCellRanges: (val: CellRangesItem[]) => void; getCellRangeCount: (cell: RangeCell) => number; navigationService: { getNextCellToFocus: (keyCode: number, focusedCell: RangeCell, ctrlPressed?: boolean) => RangeCell | { rowIndex: any; rowPinned: any; column: any; }; getNextTabbedCell: (gridCell: RangeCell, backwards: boolean) => { rowIndex: number; column: FinallyColumnType; rowPinned: RowPinned; }; getLastBodyCell: () => { rowIndex: any; rowPinned: any; }; navigateToNextCell: (event: KeyboardEvent, currentCell: RangeCell) => void; onTabKeyDown: (previous: RangeCell, keyboardEvent: KeyboardEvent) => void; tabToNextCellCommon: (previous: RangeCell, backwards: boolean) => boolean; getFirstCellToFocus: (backwards: boolean) => void; getLastCellToFocus: (backwards: boolean) => void; getRowAbove: (rowPosition: RangeCell) => { rowIndex: number; rowPinned: RowPinned; }; getCellAbove: (lastCell: RangeCell) => { rowIndex: number; column: FinallyColumnType; rowPinned: RowPinned; }; getRowBelow: (rowPosition: RangeCell) => { rowIndex: number; rowPinned: RowPinned; }; }; copySelectedRange: () => void; onBodyKeydown: (keyboardEvent: KeyboardEvent) => void; dragging: Ref; }; export declare const useInjectRangeStore: () => { cellRanges: ShallowRef; rangeCellClassMap: ShallowRef>>; onDragStart: (mouseEvent: MouseEvent) => void; onDragging: (mouseEvent: MouseEvent) => void; setRangeToCell: (cell: RangeCell, appendRange?: boolean) => void; extendLatestRangeToCell: (cellPosition: RangeCell) => void; isCellInAnyRange: (cell: RangeCell) => boolean; getRangeCellClass: (cell: RangeCell) => string; enableRangeSelection: ComputedRef; singleRangeSelection: ComputedRef; getDisplayedColBefore: (col: FinallyColumnType) => FinallyColumnType; getDisplayedColAfter: (col: FinallyColumnType) => FinallyColumnType; navigationService: ReturnType; extendLatestRangeInDirection: (event: KeyboardEvent) => RangeCell; allDisplayedColumns: ComputedRef[]>; focusCell: (cell: RangeCell) => void; ensureCellVisible: (cell: RangeCell) => void; getCellRangeCount: (cell: RangeCell) => number; intersectLastRange: (fromMouseClick: boolean) => void; level: number; cellInRangeCount: (cell: RangeCell) => number; dragging: Ref; };