import { BrushBehavior, BrushSelection } from 'd3-brush'; import { ChartAxes, ChartDimensions, HistogramData, HistogramSVGG } from '../utils/HistogramUtils.js'; export declare abstract class Brush { brushContext: HistogramSVGG; extent: BrushBehavior; isBrushed: boolean; isBrushing: boolean; protected context: HistogramSVGG; protected dimensions: ChartDimensions; protected axes: ChartAxes; protected handles: any; constructor(context: HistogramSVGG, dimensions: ChartDimensions, axes: ChartAxes); size(): number; abstract getExtent(): BrushBehavior; plot(): this; move([start, end]: number[]): this; abstract onBrushEnd(): void; abstract onBrushStart(): void; abstract onBrushing(): void; abstract translateBrushHandles(selection: BrushSelection): void; abstract getCssName(): string; abstract getFillOpacity(): number; protected callBrushStart(): void; protected abstract drawHandles(): void; protected checkSelectionNotNaN(selection: BrushSelection): boolean; private checkIfNaN; }