import type { LayoutMapping, XYPosition } from 'graphology-layout/utils';
import type { CausalGraph, CausalGraphEdge, CausalGraphNode, D3SimulationEdge, SimulationEdge, SimulationGraph, SimulationNode, SimulationNodeWithCategory } from '../types';
/**
 * Get graph edges in d3 expected format
 *
 * @param graph graph to get edges from
 */
export declare function getD3Data(graph: SimulationGraph): [edges: D3SimulationEdge[], nodes: SimulationNodeWithCategory[]];
/**
 * Format node data in a layoutmapping format
 *
 * @param nodes
 */
export declare function nodesToLayout(nodes: SimulationNode[]): LayoutMapping<XYPosition>;
/**
 * Parse a causal graph node into a simulation node
 *
 * @param nodeKey node id
 * @param nodeData  node data
 * @param data whole graph data
 * @param availableInputs optional list of input nodes
 */
export declare function parseGraphNode(nodeKey: string, nodeData: CausalGraphNode, data: CausalGraph, availableInputs?: string[]): SimulationNode;
/**
 * Parse a causal graph edge into simulation edge
 *
 * @param edgeData edge data
 */
export declare function parseGraphEdge(edgeData: CausalGraphEdge): SimulationEdge;
/**
 * Function which receives a list of nodes and adds property for those that share a variable_name
 *
 * @param graph Simulation graph
 */
export declare function updateNodesForTimeSeries(graph: SimulationGraph): void;
/**
 * Parses CausalGraph structure into a SimulationGraph representation
 *
 * @param data input CausalGraph structure
 * @param availableInputs names of input nodes
 */
export declare function causalGraphParser(data: CausalGraph, availableInputs?: string[], initialGraph?: SimulationGraph): SimulationGraph;
//# sourceMappingURL=parsers.d.ts.map