import * as THREE from 'three'; import { BaseScatterSystem, BaseScatterConfig, ChunkData } from '../core'; /** * Configuration for mesh surface scatter */ export interface MeshScatterConfig extends BaseScatterConfig { /** Mesh to scatter instances on */ surfaceMesh: THREE.Mesh; /** Maximum slope in degrees for placement */ slopeLimit?: number; } /** * Scatter system using THREE.MeshSurfaceSampler for mesh-based distribution */ export declare class MeshScatterSystem extends BaseScatterSystem { private meshSampler; private meshBounds; private slopeLimit; constructor(config: MeshScatterConfig); protected initializeDistribution(): Promise; protected updateChunks(): void; protected populateChunk(chunk: ChunkData, centerX: number, centerZ: number): void; /** * Update the surface mesh and regenerate */ updateMesh(mesh: THREE.Mesh): void; } //# sourceMappingURL=MeshScatterSystem.d.ts.map