import * as THREE from 'three'; import { BaseScatterSystem, BaseScatterConfig, ChunkData } from '../core'; /** * Configuration for grid-based scatter */ export interface GridScatterConfig extends BaseScatterConfig { /** Grid dimensions (cells in X and Z) */ gridSize: THREE.Vector2; /** Size of each cell */ cellSize: number; /** Center of the grid */ center?: THREE.Vector3; /** Random offset within cell (0-1) */ randomOffset?: number; /** Function to determine if a cell should be skipped */ skipPattern?: (x: number, z: number) => boolean; } /** * Scatter system distributing instances in a regular grid pattern */ export declare class GridScatterSystem extends BaseScatterSystem { private gridSize; private cellSize; private center; private randomOffset; private skipPattern?; constructor(config: GridScatterConfig); protected initializeDistribution(): Promise; protected updateChunks(): void; protected populateChunk(chunk: ChunkData, centerX: number, centerZ: number): void; /** * Update grid parameters and regenerate */ updateGrid(gridSize: THREE.Vector2, cellSize: number): void; } //# sourceMappingURL=GridScatterSystem.d.ts.map