/** * HDBSCAN derives its single-linkage hierarchy from the minimum spanning tree * of the mutual-reachability graph. TensorFlow.js has no sparse-graph * primitives, so the tree is built with Prim's algorithm in plain JavaScript * over a dense `(n, n)` matrix — O(n²) time, O(n) auxiliary memory — which is * the practical scalability ceiling the rest of the density pipeline shares. */ export interface MstEdge { source: number; target: number; weight: number; } /** * Edges are canonicalised so `source < target`. * * HDBSCAN passes the `Float32Array` produced by the single tensor readback at * the front-half/tail boundary. When `n` is omitted it is inferred as * `round(sqrt(length))`, which is only reliable for perfectly square buffers — * the production caller always supplies `n`. */ export declare function minimum_spanning_tree(distance_matrix: number[][] | Float32Array | Float64Array, n?: number): MstEdge[];