d3-graph-controller
Version:
A TypeScript library for visualizing and simulating directed, interactive graphs.
22 lines (21 loc) • 1.5 kB
text/typescript
import { Vector } from 'vecti';
import { GraphConfig } from '../config/config.mjs';
import { Canvas, LinkSelection } from './types.mjs';
import { Graph, NodeTypeToken } from '../model/graph.mjs';
import { GraphLink } from '../model/link.mjs';
import { GraphNode } from '../model/node.mjs';
export declare function defineLinkSelection<T extends NodeTypeToken, Node extends GraphNode<T>, Link extends GraphLink<T, Node>>(canvas: Canvas): LinkSelection<T, Node, Link>;
export interface CreateLinksParams<T extends NodeTypeToken, Node extends GraphNode<T>, Link extends GraphLink<T, Node>> {
readonly config: GraphConfig<T, Node, Link>;
readonly graph: Graph<T, Node, Link>;
readonly selection?: LinkSelection<T, Node, Link> | undefined;
readonly showLabels: boolean;
}
export declare function createLinks<T extends NodeTypeToken, Node extends GraphNode<T>, Link extends GraphLink<T, Node>>({ config, graph, selection, showLabels, }: CreateLinksParams<T, Node, Link>): LinkSelection<T, Node, Link> | undefined;
export interface UpdateLinksParams<T extends NodeTypeToken, Node extends GraphNode<T>, Link extends GraphLink<T, Node>> {
readonly center: Vector;
readonly config: GraphConfig<T, Node, Link>;
readonly graph: Graph<T, Node, Link>;
readonly selection: LinkSelection<T, Node, Link> | undefined;
}
export declare function updateLinks<T extends NodeTypeToken, Node extends GraphNode<T>, Link extends GraphLink<T, Node>>(params: UpdateLinksParams<T, Node, Link>): void;