import Viz from "./Viz.js";
/**
    Creates an x/y plot based on an array of data.
*/
export default class Plot extends Viz {
    [key: string]: any;
    /**
        Invoked when creating a new class instance, and sets any default parameters.
        @private
  */
    constructor();
    /**
        Extends the preDraw behavior of the abstract Viz class.
        @private
  */
    _preDraw(): void;
    /**
        Extends the draw behavior of the abstract Viz class.
        @private
  */
    _draw(callback?: () => void): this;
    /**
        Allows drawing custom shapes to be used as annotations in the provided x/y plot. This method accepts custom config objects for the [Shape](http://d3plus.org/docs/#Shape) class, either a single config object or an array of config objects. Each config object requires an additional parameter, the "shape", which denotes which [Shape](http://d3plus.org/docs/#Shape) sub-class to use ([Rect](http://d3plus.org/docs/#Rect), [Line](http://d3plus.org/docs/#Line), etc).
  
  Additionally, each config object can also contain an optional "layer" key, which defines whether the annotations will be displayed in "front" or in "back" of the primary visualization shapes. This value defaults to "back" if not present.
  */
    annotations(_: any): any;
    /**
        Determines whether the x and y axes should have their scales persist while users filter the data, the timeline being the prime example (set this to `true` to make the axes stay consistent when the timeline changes).
  */
    axisPersist(_: any): any;
    /**
         A d3plus-shape configuration Object used for styling the background rectangle of the inner x/y plot (behind all of the shapes and gridlines).
  */
    backgroundConfig(_: any): any;
    /**
        The pixel space between each bar in a group of bars.
  */
    barPadding(_: any): any;
    /**
        The baseline for the x/y plot.
  */
    baseline(_: any): any;
    /**
        Determines whether or not to add additional padding at the ends of x or y scales. The most commone use for this is in Scatter Plots, so that the shapes do not appear directly on the axis itself. The value provided can either be `true` or `false` to toggle the behavior for all shape types, or a keyed Object for each shape type (ie. `{Bar: false, Circle: true, Line: false}`).
  */
    buffer(_: any): any;
    /**
         The confidence interval as an array of [lower, upper] bounds.
  
  @example <caption>Can be called with accessor functions or static keys:</caption>
         var data = {id: "alpha", value: 10, lci: 9, hci: 11};
         ...
         // Accessor functions
         .confidence([function(d) { return d.lci }, function(d) { return d.hci }])
  
         // Or static keys
         .confidence(["lci", "hci"])
  */
    confidence(_: any): any;
    /**
         Configuration object for shapes rendered as confidence intervals.
  */
    confidenceConfig(_: any): any;
    /**
        When the width or height of the chart is less than or equal to this pixel value, the discrete axis will not be shown. This helps produce slick sparklines. Set this value to `0` to disable the behavior entirely.
  */
    discreteCutoff(_: any): any;
    /**
        The pixel space between groups of bars.
  */
    groupPadding(_: any): any;
    /**
         The d3plus-shape config used on the Line shapes created to connect lineLabels to the end of their associated Line path.
  */
    labelConnectorConfig(_: any): any;
    /**
        The behavior to be used when calculating the position and size of each shape's label(s). The value passed can either be the _String_ name of the behavior to be used for all shapes, or an accessor _Function_ that will be provided each data point and will be expected to return the behavior to be used for that data point. The availability and options for this method depend on the default logic for each Shape. As an example, the values "outside" or "inside" can be set for Bar shapes, whose "auto" default will calculate the best position dynamically based on the available space.
  */
    labelPosition(_: any): any;
    /**
        Draws labels on the right side of any Line shapes that are drawn on the plot.
  */
    lineLabels(_: any): any;
    /**
        Shape config for the Circle shapes drawn by the lineMarkers method.
  */
    lineMarkerConfig(_: any): any;
    /**
        Draws circle markers on each vertex of a Line.
  */
    lineMarkers(_: any): any;
    /**
        A JavaScript [sort comparator function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) that receives each shape Class (ie. "Circle", "Line", etc) as it's comparator arguments. Shapes are drawn in groups based on their type, so you are defining the layering order for all shapes of said type.
  */
    shapeSort(_: any): any;
    /**
        Sets the size of bubbles to the given Number, data key, or function.
  */
    size(_: any): any;
    /**
        Sets the size scale maximum to the specified number.
  */
    sizeMax(_: any): any;
    /**
        Sets the size scale minimum to the specified number.
  */
    sizeMin(_: any): any;
    /**
        Sets the size scale to the specified string.
  */
    sizeScale(_: any): any;
    /**
        If *value* is specified, toggles shape stacking. If *value* is not specified, returns the current stack value.
  */
    stacked(_: any): any;
    /**
        Sets the stack offset. If *value* is not specified, returns the current stack offset function.
  */
    stackOffset(_: any): any;
    /**
        Sets the stack order. If *value* is not specified, returns the current stack order function.
  */
    stackOrder(_: any): any;
    /**
        Accessor function or string key for the x-axis value of each data point.
  */
    x(_: any): any;
    /**
         Accessor function or string key for the secondary x-axis value of each data point.
  */
    x2(_: any): any;
    /**
        A pass-through to the underlying [Axis](http://d3plus.org/docs/#Axis) config used for the x-axis. Includes additional functionality where passing "auto" as the value for the [scale](http://d3plus.org/docs/#Axis.scale) method will determine if the scale should be "linear" or "log" based on the provided data.
  */
    xConfig(_: any): any;
    /**
        When the width of the chart is less than or equal to this pixel value, and the x-axis is not the discrete axis, it will not be shown. This helps produce slick sparklines. Set this value to `0` to disable the behavior entirely.
  */
    xCutoff(_: any): any;
    /**
        A pass-through to the underlying [Axis](http://d3plus.org/docs/#Axis) config used for the secondary x-axis. Includes additional functionality where passing "auto" as the value for the [scale](http://d3plus.org/docs/#Axis.scale) method will determine if the scale should be "linear" or "log" based on the provided data.
  */
    x2Config(_: any): any;
    /**
        The x domain as an array. If either value is undefined, it will be calculated from the data.
  */
    xDomain(_: any): any;
    /**
         The x2 domain as an array. If either value is undefined, it will be calculated from the data.
  */
    x2Domain(_: any): any;
    /**
        Defines a custom sorting comparitor function to be used for discrete x axes.
  */
    xSort(_: any): any;
    /**
         Defines a custom sorting comparitor function to be used for discrete x2 axes.
  */
    x2Sort(_: any): any;
    /**
        Accessor function or string key for the y-axis value of each data point.
  */
    y(_: any): any;
    /**
         Accessor function or string key for the secondary y-axis value of each data point.
  */
    y2(_: any): any;
    /**
        A pass-through to the underlying [Axis](http://d3plus.org/docs/#Axis) config used for the y-axis. Includes additional functionality where passing "auto" as the value for the [scale](http://d3plus.org/docs/#Axis.scale) method will determine if the scale should be "linear" or "log" based on the provided data.
  
  *Note:* If a "domain" array is passed to the y-axis config, it will be reversed.
  */
    yConfig(_: any): any;
    /**
        When the height of the chart is less than or equal to this pixel value, and the y-axis is not the discrete axis, it will not be shown. This helps produce slick sparklines. Set this value to `0` to disable the behavior entirely.
  */
    yCutoff(_: any): any;
    /**
        A pass-through to the underlying [Axis](http://d3plus.org/docs/#Axis) config used for the secondary y-axis. Includes additional functionality where passing "auto" as the value for the [scale](http://d3plus.org/docs/#Axis.scale) method will determine if the scale should be "linear" or "log" based on the provided data.
  */
    y2Config(_: any): any;
    /**
        The y domain as an array. If either value is undefined, it will be calculated from the data.
  */
    yDomain(_: any): any;
    /**
         The y2 domain as an array. If either value is undefined, it will be calculated from the data.
  */
    y2Domain(_: any): any;
    /**
        Defines a custom sorting comparitor function to be used for discrete y axes.
  */
    ySort(_: any): any;
    /**
         Defines a custom sorting comparitor function to be used for discrete y2 axes.
  */
    y2Sort(_: any): any;
}
