/**
 * Groups meshlets into clusters of ~`groupSize` that share as many boundary
 * edges as possible. This stands in for METIS (the graph partitioner nanite-webgpu uses):
 * a greedy region-growing pass over the meshlet adjacency graph, seeded in
 * Morton order so groups stay spatially compact. Meshlets without enough
 * neighbours (e.g. disconnected leaves or grass blades) are then merged with
 * spatially close leftovers so they can still be simplified together.
 */
export interface PartitionInput {
    /** Boundary edge keys (position-welded vertex ids, see `edgeKey`). */
    boundaryEdges: number[];
    center: [number, number, number];
}
export declare function partitionMeshlets(meshlets: PartitionInput[], groupSize: number): number[][];
/** Indices sorted along a 30-bit Morton curve of the given points. */
export declare function mortonOrder(points: [number, number, number][]): number[];
