import type { Cell, CellBorder } from './types'; import type { FiltersMap } from '@wix/bex-core'; import type { EditableTableState } from './EditableTableState'; import { EditTrigger } from '../../components/EditableTable/types'; type Direction = 'up' | 'down' | 'left' | 'right'; type CommitHandler = (editingValue: any, cell: Cell) => void; export declare class CellInteractionState { focusedCell: Cell | null; editingCell: Cell | null; editingValue: any; editTrigger: EditTrigger | null; selectedCells: Set; selectionAnchor: Cell | null; focusedCellElement: HTMLElement | null | undefined; /** True while the user is performing a mouse sweep selection. */ isSelecting: boolean; private readonly _parent; private readonly _commitHandler; constructor(commitHandler: CommitHandler, parent: EditableTableState); get isEditing(): boolean; focusCell(rowKey: string, columnId: string): void; clearFocus(): void; startEdit(rowKey?: string, columnId?: string, trigger?: EditTrigger): void; setEditingValue(value: any): void; commitEdit(): void; cancelEdit(): void; selectRange(from: Cell, to: Cell): void; selectAll(): void; moveFocus(direction: Direction, extend?: boolean): void; moveToNextCell(): void; moveToPreviousCell(): void; startSweep(rowKey: string, columnId: string): void; sweepTo(rowKey: string, columnId: string): void; stopSweep(): void; private _diffSelection; isCellFocused(rowKey: string, columnId: string): boolean; isCellEditing(rowKey: string, columnId: string): boolean; isCellSelected(rowKey: string, columnId: string): boolean; get selectedCellsList(): Cell[]; scrollFocusedCellIntoView(): void; /** * After scrollIntoView, the cell may be hidden behind sticky columns * or the sticky header. If so, scroll a bit more to fully reveal it. */ private _adjustScrollForStickyElements; getSelectionBorder(rowKey: string, columnId: string): CellBorder; } export {}; //# sourceMappingURL=CellInteractionState.d.ts.map