import { SparseVoxelGrid } from './sparse-voxel-grid';
import { GpuDilation } from '../gpu';
/**
 * GPU separable 3D dilation. Chunks the grid into block-aligned inner regions plus
 * a halo on each side, runs three GPU passes per chunk, and OR's the
 * dilated inner region into a fresh destination `SparseVoxelGrid`.
 *
 * The exact requested half-extents are passed to the dilation shaders. The
 * sparse extraction halo is rounded up to the next 4-voxel block boundary so
 * chunk extract/compact math remains block-aligned without over-dilating.
 *
 * @param gpu - Reusable GPU dilation context (compiled shader + buffers).
 * @param src - Input sparse grid (read-only across the call).
 * @param halfExtentXZ - Dilation half-extent in voxels along X and Z.
 * @param halfExtentY - Dilation half-extent in voxels along Y.
 * @returns Newly allocated dilated sparse grid.
 */
declare function gpuDilate3(gpu: GpuDilation, src: SparseVoxelGrid, halfExtentXZ: number, halfExtentY: number): Promise<SparseVoxelGrid>;
export { gpuDilate3 };
