import '../../assert/js/assert.js';
import '../../globals.js';
/**
 * AreaPlot is a plot that combines a line plot and a bar plot. An area plot is distinguished from a line plot by
 * the addition of shading between lines and a baseline, like in a bar plot.
 *
 * Null values are skipped and allow you to create separate shaded regions.
 *
 * @author Martin Veillette
 */
import ChartTransform from './ChartTransform.js';
import Vector2 from '../../dot/js/Vector2.js';
import { Path, PathOptions } from '../../scenery/js/imports.js';
export type AreaChartDataSet = (Vector2 | null)[];
type SelfOptions = {
    baseline?: number;
};
export type AreaChartOptions = SelfOptions & PathOptions;
export default class AreaPlot extends Path {
    dataSet: AreaChartDataSet;
    baseline: number;
    private chartTransform;
    private readonly disposeAreaChart;
    constructor(chartTransform: ChartTransform, dataSet: AreaChartDataSet, providedOptions?: AreaChartOptions);
    dispose(): void;
    update(): void;
    /**
     * Given a point and a shape, first go to the baseline of the point and then close the shape.
     */
    private closeShape;
    /**
     * 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: AreaChartDataSet): void;
    /**
     * Sets the baseline value for the area plot.
     */
    setBaseline(baseline: number): void;
}
export {};
//# sourceMappingURL=AreaPlot.d.ts.map