import type { PointerEventState } from '@blockeditor/block-std';
import { type EdgelessTool, type NoteTool } from '../../../../_common/utils/index.js';
import type { SelectionArea } from '../../services/tools-manager.js';
import { EdgelessToolController } from './index.js';
export declare class NoteToolController extends EdgelessToolController<NoteTool> {
    readonly tool: NoteTool;
    private _noteOverlay;
    private _draggingNoteOverlay;
    protected _draggingArea: SelectionArea | null;
    onPressShiftKey(pressed: boolean): void;
    private _resize;
    onContainerPointerDown(): void;
    onContainerClick(e: PointerEventState): void;
    onContainerContextMenu(): void;
    onContainerDblClick(): void;
    onContainerTripleClick(): void;
    onContainerDragStart(e: PointerEventState): void;
    onContainerDragMove(e: PointerEventState): void;
    onContainerDragEnd(): void;
    private _updateOverlayPosition;
    private _disposeOverlay;
    private _clearOverlay;
    private _hideOverlay;
    onContainerMouseMove(e: PointerEventState): void;
    onContainerMouseOut(e: PointerEventState): void;
    beforeModeSwitch(): void;
    afterModeSwitch(newTool: EdgelessTool): void;
}
//# sourceMappingURL=note-tool.d.ts.map