import type { UIEventDispatcher } from '@revesuite/lit'; import type { PhasorElement } from '@revesuite/phasor'; import { AbstractSelectionManager, type BlockComponentElement, type MouseMode, type TopLevelBlockModel } from '../../__internal__/index.js'; import type { EdgelessPageBlockComponent } from './edgeless-page-block.js'; import type { MouseModeController } from './mode-controllers/index.js'; export type Selectable = TopLevelBlockModel | PhasorElement; export interface EdgelessHoverState { rect: DOMRect; content: Selectable; } export interface EdgelessSelectionState { selected: Selectable[]; active: boolean; } export interface SelectionArea { start: DOMPoint; end: DOMPoint; } export declare class EdgelessSelectionManager extends AbstractSelectionManager { private _mouseMode; private _controllers; /** Latest mouse position in view coords */ private _lastMousePos; private _rightClickTimer; private _shiftKey; selectedBlocks: BlockComponentElement[]; lastState: EdgelessSelectionState | null; state: EdgelessSelectionState; get isActive(): boolean; get lastMousePos(): { x: number; y: number; }; get mouseMode(): MouseMode; set mouseMode(mode: MouseMode); get currentController(): MouseModeController; get draggingArea(): DOMRect | null; get shiftKey(): boolean; set shiftKey(pressed: boolean); constructor(container: EdgelessPageBlockComponent, dispacher: UIEventDispatcher); private _updateLastMousePos; private _initMouseAndWheelEvents; private _add; private _onContainerDragStart; private _onContainerDragMove; private _onContainerDragEnd; private _onContainerClick; private _onContainerDblClick; private _onContainerTripleClick; private _onContainerPointerMove; private _onContainerPointerOut; private _onContainerContextMenu; private _onContainerPointerUp; private _onSelectionChangeWithoutDebounce; refreshRemoteSelection(): void; getHoverState(): EdgelessHoverState | null; setMouseMode: (mouseMode: MouseMode, state?: EdgelessSelectionState) => void; switchToDefaultMode(state: EdgelessSelectionState): void; clear(): void; dispose(): void; } //# sourceMappingURL=selection-manager.d.ts.map