import type { PointerEventState } from '@revesuite/lit'; import type { MouseMode, TopLevelBlockModel } from '../../../__internal__/index.js'; import type { EdgelessPageBlockComponent } from '../edgeless-page-block.js'; import type { SelectionArea } from '../selection-manager.js'; export declare abstract class MouseModeController { protected readonly _edgeless: EdgelessPageBlockComponent; protected _draggingArea: SelectionArea | null; enableHover: boolean; constructor(edgeless: EdgelessPageBlockComponent); get draggingArea(): SelectionArea | null; protected get _surface(): import("@revesuite/phasor/surface.js").SurfaceManager; protected get _page(): import("@revesuite/store/index.js").Page; protected get _blocks(): TopLevelBlockModel[]; abstract mouseMode: Mode; abstract onContainerDragStart(e: PointerEventState): void; abstract onContainerDragMove(e: PointerEventState): void; abstract onContainerDragEnd(e: PointerEventState): void; abstract onContainerClick(e: PointerEventState): void; abstract onContainerDblClick(e: PointerEventState): void; abstract onContainerTripleClick(e: PointerEventState): void; abstract onContainerMouseMove(e: PointerEventState): void; abstract onContainerMouseOut(e: PointerEventState): void; abstract onContainerContextMenu(e: PointerEventState): void; abstract onPressShiftKey(pressed: boolean): void; } //# sourceMappingURL=index.d.ts.map