import { Link } from '../renderables/Link'; import { Node } from '../types/Node'; declare class LinkSet { _all: Map>; _map: Map>; _ind: Map; constructor(); /** * Add a link that goes from source to target. * @param source The source Node * @param target The target Node * @param link The link connecting the source and target nodes */ add(source: Node, target: Node, link: Link): void; /** * Get all links between nodes a and b, regardless of direction * @param a A Node * @param b A node */ allBetween(a: Node, b: Node): Link[]; /** * Get links beginning at source and ending at target * @param source The source Node * @param target The target Node */ between(source: Node, target: Node): Link[]; /** * Execute the provided callback for every link in the set * @param callback The function to execute for each link. Arguments are: * * link: The current link being processed * * source: The source Node * * target: The target Node * * group: All link */ forEach(callback: (link: Link, source: Node, target: Node, group: Link[]) => void): void; /** * Get the index of this link among all links that connect the same * two nodes. Indices are signed to indicate direction groups. Returns * undefined if link is not in set. * @param link The link */ indexOf(link: Link): number | undefined; private _addDirectional; private _addNonDirectional; private _getNonDirectional; } export { LinkSet };