import type { Types } from '@cornerstonejs/core';
import type { PublicToolProps, ToolProps, EventTypes, SVGDrawingHelper } from '../../types';
import LabelmapBaseTool from './LabelmapBaseTool';
declare class BrushTool extends LabelmapBaseTool {
    static toolName: any;
    constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
    onSetToolPassive: (evt: any) => void;
    onSetToolEnabled: () => void;
    onSetToolDisabled: (evt: any) => void;
    private disableCursor;
    preMouseDownCallback: (evt: EventTypes.MouseDownActivateEventType) => boolean;
    mouseMoveCallback: (evt: EventTypes.InteractionEventType) => void;
    previewCallback: () => void;
    protected updateCursor(evt: EventTypes.InteractionEventType): void;
    private _dragCallback;
    private _calculateCursor;
    private _endCallback;
    getStatistics(element: any, segmentIndices?: any): any;
    rejectPreview(element?: HTMLDivElement): void;
    interpolate(element: any, config: any): void;
    acceptPreview(element?: HTMLDivElement): void;
    private _activateDraw;
    private _deactivateDraw;
    invalidateBrushCursor(): void;
    renderAnnotation(enabledElement: Types.IEnabledElement, svgDrawingHelper: SVGDrawingHelper): void;
}
export default BrushTool;
