import * as THREE from 'three'; import { BaseScatterSystem, BaseScatterConfig, ChunkData } from '../core'; /** * Configuration for curve-based scatter */ export interface CurveScatterConfig extends BaseScatterConfig { /** Curve to scatter along */ curve: THREE.Curve; /** Optional handles for rotation interpolation */ handles?: THREE.Object3D[]; /** Number of segments along the curve */ segmentCount?: number; /** Alternative: spacing between instances */ spacing?: number; /** Perpendicular offset range */ offsetRange?: [number, number]; /** Distribution width perpendicular to curve */ width?: number; } /** * Scatter system distributing instances along a curve */ export declare class CurveScatterSystem extends BaseScatterSystem { private curve; private handles?; private curvePoints; private curveTangents; private segmentCount; private spacing?; private offsetRange?; private width?; constructor(config: CurveScatterConfig); protected initializeDistribution(): Promise; private generateCurvePoints; protected updateChunks(): void; protected populateChunk(chunk: ChunkData, centerX: number, centerZ: number): void; /** * Update the curve and regenerate */ updateCurve(curve: THREE.Curve, segmentCount?: number): void; } //# sourceMappingURL=CurveScatterSystem.d.ts.map