import { World } from 'hytopia'; import type { Vector3Like } from 'hytopia'; import { ParticleConfig, ParticleEffect, ParticleSystemOptions } from '../types'; import { Pattern } from '../patterns/Pattern'; export declare class ParticleSystem { private world; private particles; private activeParticles; private maxParticles; private lastCleanup; private cleanupInterval; private effects; private patterns; private performanceMonitor?; private effectQueue?; private yamlLoader?; private entityFactory?; private debug; private updateInterval?; constructor(world: World, options?: ParticleSystemOptions); registerEffect(effect: ParticleEffect): void; registerPattern(name: string, pattern: Pattern): void; /** * Spawn particles with effect or pattern */ spawn(effectName: string, position: Vector3Like, options?: any): void; /** * Direct spawn bypassing queue */ private spawnDirect; spawnWithPattern(patternName: string, config: ParticleConfig, position: Vector3Like, modifiers?: Record): void; private spawnEffect; private getOrCreateParticle; update(): void; private cleanup; private startCleanupLoop; despawnAll(): void; /** * Stop the particle system and clean up resources */ destroy(): void; get activeCount(): number; /** * Get performance report */ getPerformanceReport(): string | undefined; /** * Get effect queue status */ getQueueStatus(): any; } //# sourceMappingURL=ParticleSystem.d.ts.map