import { BlockElement, SelectionDetail, AgentSelector, ContainerElement, Editor, CommandItemData, Hidable, EditorDoc } from "../../interface"; import { TableCellGrid, TableSelection, TableCell } from "./CellGrid"; import SelectionHandler from "./SelectionHandler"; declare type ScrollDirType = null | 'top' | 'bottom' | 'left' | 'right'; export declare class TableSelector extends AgentSelector { private showSelection; startEvent: MouseEvent | null; oldSelection: TableSelection; moveOut: boolean; selectionHandler: SelectionHandler; rightMouseDown: boolean; oldDetail: SelectionDetail | null; editor: Editor; selecting: boolean; multiSelecting: boolean; mouseDownPos: { x: number; y: number; }; autoScrollTimer: null | number; dragStartCell: HTMLTableCellElement | null; autoScrollDir: ScrollDirType; private static readonly AUTO_SCROLL_STEP_OFFSET; private static readonly AUTO_SCROLL_AREA; constructor(editor: Editor); destroy(): void; setAutoScroll(dir: NonNullable, xScrollContainer: HTMLElement, yScrollContainer?: HTMLElement, limitScrollHeight?: number): void; clearAutoScroll(): void; getDetail(): TableSelection; getSelectedBlock(): BlockElement; setSelection(selection: TableSelection, event: MouseEvent | null, isShowSelection?: boolean): void; onTableRemoveSelection(block: BlockElement): void; onTableSelectionChanged(block: BlockElement, selection: TableSelection, isShowSelection?: boolean): void; updateSelectionByMouseEvent(event: MouseEvent): void; updateSelectionByDocumentSelection(): void; getCellFromEvent(event: MouseEvent): HTMLTableCellElement | null; handleMouseDown: (event: MouseEvent) => void; handleMouseUp: (event: MouseEvent) => void; getSelectionRect(selection: TableSelection): DOMRect; handleMouseMove: (event: MouseEvent) => void; cellSelected(): boolean; singleCellSelected(): false | HTMLTableCellElement | null; multiCellsSelected(): boolean; handleSelectionChange: () => void; bindEvents(): void; unbindEvents(): void; private handleSelectsStart; private handleAutoScroll; startDrag(event: MouseEvent): void; endDrag(event: MouseEvent): void; isSelected(): boolean; isOldSelectionBlockExist(): boolean; isMultiSelected(): boolean; getSelectedSubContainers(): ContainerElement[]; static isCellFullySelected(cellData: TableCell, selection: TableSelection): boolean; static isAllCellFullySelected(grid: TableCellGrid, selection: TableSelection): boolean; static getFirstFullySelectCell(grid: TableCellGrid, selection: TableSelection): TableCell | undefined; static getColSelectSpan(grid: TableCellGrid, colIndex: number): number; static getRowSelectSpan(grid: TableCellGrid, rowIndex: number): number; getSelectedBlocks(): BlockElement[]; getContextMenuData(): CommandItemData[]; handleMultiBlocksEvent(event: KeyboardEvent): boolean; updateSelection(complexBlock: BlockElement, selectIndex?: { colIndex: number; rowIndex: number; }[]): boolean; getCurPopover(): Hidable | null; selectionToDoc(): EditorDoc; selectionToHtml(): string; isFullSelected(): boolean; selectBlock(block: BlockElement): boolean; isSelecting(): boolean; isMultiSelecting(): boolean; clearSelection(): void; deleteSelectedContents(): void; } export {};