/**
 * Carve a Delaunay tetrahedralization so only the tets inside the input
 * surface remain. Operates on a TetrahedralMesh whose vertex IDs are aligned
 * with the surface's vertex IDs — both index into the same flat positions
 * array used by `compute_delaunay_tetrahedral_mesh`.
 *
 * Algorithm: build a BVH over the surface triangles, then for every tet,
 * classify its centroid as inside or outside via parity ray-casting against
 * the BVH. Exterior tets are disconnected and deleted.
 *
 * Pure ray-cast classification is intentional. A flood-fill optimisation over
 * tet adjacency would be cheaper but is unsafe when the Delaunay's diagonals
 * differ from the surface's (always the case for coarse meshes like a cube,
 * common for finer meshes): leaked surface triangles let the fill cross from
 * interior to exterior unchecked, deleting tets that should be kept.
 *
 * @param {TetrahedralMesh} tet_mesh mutated in place
 * @param {ArrayLike<number>|Float32Array} positions same flat (x,y,z) array used in the Delaunay pass
 * @param {BinaryTopology} surface watertight surface mesh defining inside/outside
 * @returns {{deleted: number, kept: number}}
 */
export function tetrahedral_mesh_carve_outside_surface(tet_mesh: TetrahedralMesh, positions: ArrayLike<number> | Float32Array, surface: BinaryTopology): {
    deleted: number;
    kept: number;
};
//# sourceMappingURL=tetrahedral_mesh_carve_outside_surface.d.ts.map