export interface LinkAccessor {
getSourceIndex(l: Link): number;
getTargetIndex(l: Link): number;
}
export interface LinkLengthAccessor extends LinkAccessor {
setLength(l: Link, value: number): void;
}
export declare function symmetricDiffLinkLengths(links: Link[], la: LinkLengthAccessor, w?: number): void;
export declare function jaccardLinkLengths(links: Link[], la: LinkLengthAccessor, w?: number): void;
export interface IConstraint {
left: number;
right: number;
gap: number;
}
export interface DirectedEdgeConstraints {
axis: string;
gap: number;
}
export interface LinkSepAccessor extends LinkAccessor {
getMinSeparation(l: Link): number;
}
export declare function generateDirectedEdgeConstraints(n: number, links: Link[], axis: string, la: LinkSepAccessor): IConstraint[];
export declare function stronglyConnectedComponents(numVertices: number, edges: Link[], la: LinkAccessor): number[][];