import { BlockMaskBuffer } from './block-mask-buffer';
/**
 * Remove isolated voxels and fill isolated empty voxels within mixed blocks.
 *
 * For each mixed block, computes 6 per-direction occupancy masks (in-block via
 * bit shifts + cross-block via adjacent block lookups), then:
 *   - Remove: keeps only voxels with at least one occupied 6-connected neighbor
 *   - Fill: fills empty voxels where all 6 neighbors are occupied
 *
 * Blocks that become empty or solid as a consequence are handled automatically.
 *
 * @param buffer - BlockMaskBuffer with voxelization results
 * @returns New BlockMaskBuffer with filtered/filled data
 */
declare function filterAndFillBlocks(buffer: BlockMaskBuffer): BlockMaskBuffer;
export { filterAndFillBlocks };
