import type { PointerEventState } from '@blockeditor/block-std';
import type { BrushTool } from '../../../../_common/utils/index.js';
import { EdgelessToolController } from './index.js';
export declare class BrushToolController extends EdgelessToolController<BrushTool> {
    readonly tool: BrushTool;
    private _draggingElement;
    private _draggingElementId;
    protected _draggingPathPoints: number[][] | null;
    private _lastPoint;
    private _straightLineType;
    onContainerPointerDown(): void;
    onContainerClick(): void;
    onContainerContextMenu(): void;
    onContainerDblClick(): void;
    onContainerTripleClick(): void;
    onContainerDragStart(e: PointerEventState): void;
    onContainerDragMove(e: PointerEventState): void;
    onContainerDragEnd(): void;
    onContainerMouseMove(): void;
    onContainerMouseOut(): void;
    onPressShiftKey(_: boolean): void;
    beforeModeSwitch(): void;
    afterModeSwitch(): void;
    private _getStraightLineType;
}
//# sourceMappingURL=brush-tool.d.ts.map