import * as THREE from 'three'; import { BaseScatterSystem, BaseScatterConfig, ChunkData } from '../core'; /** * Configuration for volume-based scatter */ export interface VolumeScatterConfig extends BaseScatterConfig { /** Bounding box for the volume */ bounds: THREE.Box3; /** Type of volume shape */ volumeType?: 'box' | 'sphere' | 'cylinder'; /** 0 = solid, 1 = shell only */ hollowness?: number; /** Distance from edge where density falls off */ falloffDistance?: number; } /** * Scatter system distributing instances within a 3D volume */ export declare class VolumeScatterSystem extends BaseScatterSystem { private bounds; private volumeType; private hollowness; private falloffDistance; private center; private radius; constructor(config: VolumeScatterConfig); protected initializeDistribution(): Promise; protected updateChunks(): void; protected populateChunk(chunk: ChunkData, centerX: number, centerZ: number): void; private isPointInVolume; /** * Update the volume bounds and regenerate */ updateBounds(bounds: THREE.Box3): void; } //# sourceMappingURL=VolumeScatterSystem.d.ts.map