import { SparseVoxelGrid } from './sparse-voxel-grid';
/**
 * Compute the grid of voxels that are visited but not blocked
 * (i.e. reachable empty voxels).
 *
 * @param visited - Grid of visited voxels (from BFS).
 * @param blocked - Grid of blocked voxels (obstacles).
 * @returns Grid containing only voxels that are visited AND not blocked.
 */
declare function computeEmptyGrid(visited: SparseVoxelGrid, blocked: SparseVoxelGrid): SparseVoxelGrid;
/**
 * Compute the union of two sparse voxel grids (bitwise OR).
 *
 * @param a - First grid (cloned as the base).
 * @param b - Second grid (OR'd into the clone of a).
 * @returns New grid containing the union of both inputs.
 */
declare function sparseOrGrids(a: SparseVoxelGrid, b: SparseVoxelGrid): SparseVoxelGrid;
export { computeEmptyGrid, sparseOrGrids };
