import type { PointerEventState } from '@blockeditor/block-std';
import { type DefaultTool } from '../../../../_common/utils/index.js';
import { EdgelessToolController } from './index.js';
export declare enum DefaultModeDragType {
    /** Moving selected contents */
    ContentMoving = "content-moving",
    /** Expanding the dragging area, select the content covered inside */
    Selecting = "selecting",
    /** Native range dragging inside active note block */
    NativeEditing = "native-editing",
    /** Default void state */
    None = "none",
    /** Dragging preview */
    PreviewDragging = "preview-dragging",
    /** press alt/option key to clone selected  */
    AltCloning = "alt-cloning"
}
export declare class DefaultToolController extends EdgelessToolController<DefaultTool> {
    readonly tool: DefaultTool;
    enableHover: boolean;
    dragType: DefaultModeDragType;
    private _dragStartPos;
    private _dragLastPos;
    private _dragStartModelCoord;
    private _dragLastModelCoord;
    private _lastMoveDelta;
    private _lock;
    private _isDoubleClickedOnMask;
    private _alignBound;
    private _selectedBounds;
    private _toBeMoved;
    private _frames;
    private _autoPanTimer;
    private _dragging;
    private _draggingAreaDisposables;
    get draggingArea(): {
        start: DOMPoint;
        end: DOMPoint;
    } | null;
    get selection(): import("../../services/selection-manager.js").EdgelessSelectionManager;
    get state(): import("@blockeditor/block-std").SurfaceSelection[];
    private _pick;
    private _setNoneSelectionState;
    private _setSelectionState;
    private _handleClickOnSelected;
    private _handleSurfaceDragMove;
    private _handleBlockDragMove;
    private _isInSelectedRect;
    private _isDraggable;
    private _forceUpdateSelection;
    onContainerPointerDown(): void;
    onContainerClick(e: PointerEventState): void;
    onContainerContextMenu(): void;
    onContainerDblClick(e: PointerEventState): void;
    onContainerTripleClick(): void;
    private _determineDragType;
    private _cloneContent;
    private _addFrames;
    private _updateSelectingState;
    private _panViewport;
    private _stopAutoPanning;
    private _clearDraggingAreaDisposable;
    private _startAutoPanning;
    private _clearSelectingState;
    onContainerDragStart(e: PointerEventState): Promise<void>;
    private _filterConnectedConnector;
    private prepareMovedElements;
    initializeDragState(e: PointerEventState, dragType: DefaultModeDragType): void;
    onContainerDragMove(e: PointerEventState): void;
    onContainerDragEnd(): void;
    onContainerMouseMove(): void;
    onContainerMouseOut(_: PointerEventState): void;
    onPressShiftKey(_: boolean): void;
    beforeModeSwitch(): void;
    afterModeSwitch(): void;
}
//# sourceMappingURL=default-tool.d.ts.map