import type { GraphNode } from "../../graph"; import type { SugiNode, SugiSeparation } from "../sugify"; /** solve for node positions */ export declare function solve(Q: number[][], c: number[], A: number[][], b: number[], meq?: number): number[]; /** compute indices used to index arrays */ export declare function indices(layers: SugiNode[][]): Map, number>; /** Compute constraint arrays for layer separation */ export declare function init(layers: SugiNode[][], inds: Map, sep: SugiSeparation, compress?: number): [number[][], number[], number[][], number[]]; /** update Q that minimizes edge distance squared */ export declare function minDist(Q: number[][], pind: number, cind: number, coef: number): void; /** * update Q that minimizes curve of edges through a node where curve is * calculates as the squared distance of the middle node from the midpoint of * the first and last, multiplied by four for some reason */ export declare function minBend(Q: number[][], pind: number, nind: number, cind: number, pcoef: number, ccoef: number): void; /** * Assign nodes x based off of solution, and return the width of the final * layout. */ export declare function layout(layers: SugiNode[][], sep: SugiSeparation, inds: Map, solution: number[]): number; export declare function avgHeight(nodes: Iterable): number;