import type { Bounds } from '../data-table';
import type { CollisionMeshShape } from '../types';
import { SparseVoxelGrid } from '../voxel/sparse-voxel-grid';
/**
 * Extract a collision mesh from voxel data and encode it as a GLB file.
 *
 * Generates collision geometry from voxel data using either the smooth
 * marching-cubes path or a direct watertight voxel-face mesh.
 *
 * @param grid - Voxel grid after filtering / nav phases
 * @param gridBounds - Grid bounds aligned to block boundaries
 * @param voxelResolution - Size of each voxel in world units
 * @param shape - Collision mesh shape to generate
 * @returns GLB bytes, or null if no triangles were generated
 */
declare const buildCollisionMesh: (grid: SparseVoxelGrid, gridBounds: Bounds, voxelResolution: number, shape?: CollisionMeshShape) => Uint8Array | null;
export { buildCollisionMesh };
