/**
 * Pure-JS k-way graph partitioning, drop-in compatible with the existing
 * `micron_partition(...)` WASM-backed entry point.
 *
 * Implements the multilevel pipeline: coarsen → initial partition → uncoarsen
 * with refinement at every level. Scope matches the subset that meep's
 * `metis_cluster_bs` actually uses:
 *   - cut-objective only
 *   - single balance constraint, all vertex weights = 1
 *   - uniform target partition weights
 *   - no minconn / contig / volume / multi-constraint paths
 *
 * @param {number} vertex_count
 * @param {number} partition_count
 * @param {Uint32Array} edge_addresses CSR row pointers, length vertex_count + 1
 * @param {Uint32Array} adjacency CSR column indices, length edge_addresses[vertex_count]
 * @param {Uint32Array} edge_weights parallel to adjacency
 * @param {{
 *   seed?: number,
 *   niter?: number,
 *   ufactor?: number,
 *   initial_partition_strategy?: 'recursive_bisection' | 'bfs',
 * }} [options]
 *   Only a small slice of `metis_options` is wired; everything else uses METIS
 *   defaults.
 *   - `ufactor`: load imbalance factor in METIS units (per-mille over 1.0;
 *     ufactor = 30 → ub_factor = 1.03). Default 30.
 *   - `niter`: number of FM passes per level. Default 10.
 *   - `seed`: RNG seed; same seed + same input ⇒ same partition. Default 0.
 *   - `initial_partition_strategy`: 'recursive_bisection' (Karypis-Kumar §2.2,
 *     higher quality) or 'bfs' (simpler, faster initial phase, weaker cut).
 *     Default 'recursive_bisection'.
 * @returns {Uint32Array} partition assignment per vertex, values in [0, partition_count)
 */
export function metis_partition_kway(vertex_count: number, partition_count: number, edge_addresses: Uint32Array, adjacency: Uint32Array, edge_weights: Uint32Array, options?: {
    seed?: number;
    niter?: number;
    ufactor?: number;
    initial_partition_strategy?: 'recursive_bisection' | 'bfs';
}): Uint32Array;
//# sourceMappingURL=metis_partition_kway.d.ts.map