import { BlockElement, SelectionDetail, AgentSelector, ContainerElement, Editor, CommandItemData, Hidable, EditorDoc } from "../../interface"; import { TableSelection } 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; isOldSelection(selection: TableSelection): boolean; 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[]; getSelectedBlocks(): BlockElement[]; getContextMenuData(): CommandItemData[]; handleMultiBlocksEvent(event: KeyboardEvent): boolean; updateSelection(complexBlock: BlockElement, selection?: ContainerElement[]): boolean; getCurPopover(): Hidable | null; selectionToDoc(): EditorDoc; selectionToHtml(): string; isFullSelected(): boolean; selectBlock(block: BlockElement): boolean; isSelecting(): boolean; isMultiSelecting(): boolean; clearSelection(): void; deleteSelectedContents(): void; } export {};