import '../../assert/js/assert.js';
import '../../globals.js';
/**
 * LinePlot renders a {Array.<Vector2|null>} dataSet by connecting the points with line segments.
 *
 * Null values are skipped and allow you to create gaps in a plot. Examples:
 * dataset [ (0,0), (0,1), (0,2), (0,3) ] => 3 lines segments, connecting consecutive points
 * dataset [ (0,0), (0,1), null, (0,2), (0,3) ] => 2 lines segments, connecting the first 2 and last 2 points
 *
 * @author Sam Reid (PhET Interactive Simulations)
 */
import Vector2 from '../../dot/js/Vector2.js';
import { EmptySelfOptions } from '../../phet-core/js/optionize.js';
import { Path, PathOptions } from '../../scenery/js/imports.js';
import ChartTransform from './ChartTransform.js';
type SelfOptions = EmptySelfOptions;
export type LinePlotOptions = SelfOptions & PathOptions;
declare class LinePlot extends Path {
    private chartTransform;
    dataSet: (Vector2 | null)[];
    private readonly disposeLinePlot;
    constructor(chartTransform: ChartTransform, dataSet: (Vector2 | null)[], providedOptions?: LinePlotOptions);
    /**
     * 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 | null)[]): void;
    update(): void;
    dispose(): void;
}
export default LinePlot;
//# sourceMappingURL=LinePlot.d.ts.map