import Viz from "./Viz.js";
/**
    Creates a network visualization based on a defined set of nodes and edges. [Click here](http://d3plus.org/examples/d3plus-network/getting-started/) for help getting started using the Network class.
*/
export default class Network extends Viz {
    [key: string]: any;
    /**
        Invoked when creating a new class instance, and sets any default parameters.
        @private
  */
    constructor();
    /**
        Extends the draw behavior of the abstract Viz class.
        @private
  */
    _draw(callback?: () => void): this;
    /**
        The hover callback function for highlighting shapes on mouseover.
  */
    hover(_: any): this;
    /**
        A predefined *Array* of edges that connect each object passed to the [node](#Network.node) method. The `source` and `target` keys in each link need to map to the nodes in one of three ways:
  1. The index of the node in the nodes array (as in [this](http://d3plus.org/examples/d3plus-network/getting-started/) example).
  2. The actual node *Object* itself.
  3. A *String* value matching the `id` of the node.
  
  The value passed should either be an *Array* of data or a *String* representing a filepath or URL to be loaded. An optional formatting function can be passed as a second argument to this method. This custom function will be passed the data that has been loaded, as long as there are no errors. This function should return the final links *Array*.
      @param f Array of link objects or a URL to load links from.
  */
    links(_: any, f?: any): any;
    /**
        Defines the thickness of the links connecting each node. The value provided can be either a pixel Number to be used for all links, or an accessor function that returns a specific data value to be used in an automatically calculated linear scale.
  */
    linkSize(_?: any): any;
    /**
        Defines the minimum pixel stroke width used in link sizing.
  */
    linkSizeMin(_?: any): any;
    /**
        The type of [continuous d3-scale](https://github.com/d3/d3-scale#continuous-scales) used when calculating the pixel size of links in the network.
  */
    linkSizeScale(_?: any): any;
    /**
        The node group accessor(s). This method overrides the default .groupBy() function from being used with the data passed to .nodes().
  */
    nodeGroupBy(_?: any): any;
    /**
        The list of nodes to be used for drawing the network. The value passed should either be an *Array* of data or a *String* representing a filepath or URL to be loaded.
  
  Additionally, a custom formatting function can be passed as a second argument to this method. This custom function will be passed the data that has been loaded, as long as there are no errors. This function should return the final node *Array*.
      @param f Array of node objects or a URL to load nodes from.
  */
    nodes(_: any, f?: any): any;
    /**
        The size accessor for each node in the network.
  */
    size(_?: any): any;
    /**
        Defines the maximum pixel radius used in size scaling. By default, the maximum size is determined by half the distance of the two closest nodes.
  */
    sizeMax(_?: any): any;
    /**
        Defines the minimum pixel radius used in size scaling.
  */
    sizeMin(_?: any): any;
    /**
        The type of [continuous d3-scale](https://github.com/d3/d3-scale#continuous-scales) used when calculating the pixel size of nodes in the network.
  */
    sizeScale(_?: any): any;
    /**
        The x position accessor for each node. The data passed to .data() takes priority over the .nodes() data array. By default, the x and y positions are determined dynamically based on default force layout properties.
  */
    x(_?: any): any;
    /**
        The y position accessor for each node. The data passed to .data() takes priority over the .nodes() data array. By default, the x and y positions are determined dynamically based on default force layout properties.
  */
    y(_?: any): any;
}
