import '../../assert/js/assert.js';
import '../../globals.js';
/**
 * Shows bars for numerical data (where the x-value of the bar is a number). Does not support categorical data.
 *
 * @author Sam Reid (PhET Interactive Simulations)
 */
import Vector2 from '../../dot/js/Vector2.js';
import { Node, NodeOptions, PaintableOptions, Rectangle } from '../../scenery/js/imports.js';
import ChartTransform from './ChartTransform.js';
type SelfOptions = {
    barWidth?: number;
    barTailValue?: number;
    pointToPaintableFields?: (point: Vector2) => PaintableOptions;
};
export type BarPlotOptions = SelfOptions & NodeOptions;
declare class BarPlot extends Node {
    private chartTransform;
    private barTailValue;
    dataSet: Vector2[];
    barWidth: number;
    private readonly pointToPaintableFields;
    rectangles: Rectangle[];
    private readonly disposeBarPlot;
    constructor(chartTransform: ChartTransform, dataSet: Vector2[], providedOptions?: BarPlotOptions);
    /**
     * Sets the dataSet and redraws the plot. If instead the dataSet array is mutated, it is the client's responsibility
     * to call `update` or make sure `update` is called elsewhere (say, if the chart scrolls in that frame).
     */
    setDataSet(dataSet: Vector2[]): void;
    update(): void;
    dispose(): void;
}
export default BarPlot;
//# sourceMappingURL=BarPlot.d.ts.map