import React from "react"; export interface Particle { id: string; x: number; y: number; z: number; vx: number; vy: number; vz: number; size: number; life: number; maxLife: number; color: string; opacity: number; type: "sphere" | "square" | "triangle" | "star" | "custom"; mass?: number; charge?: number; trail?: boolean; customShape?: React.ReactNode; } export interface ParticleEmitter { id: string; x: number; y: number; z: number; rate: number; velocity: { min: number; max: number; }; angle: { min: number; max: number; }; size: { min: number; max: number; }; life: { min: number; max: number; }; colors: string[]; enabled: boolean; burst?: { count: number; interval: number; }; } export interface ParticleForce { type: "gravity" | "wind" | "magnetic" | "vortex" | "repulsion" | "attraction"; strength: number; x: number; y: number; z: number; radius?: number; enabled: boolean; } export interface GlassParticleFieldProps extends React.HTMLAttributes { /** Particle emitters */ emitters?: ParticleEmitter[]; /** Environmental forces */ forces?: ParticleForce[]; /** Maximum number of particles */ maxParticles?: number; /** Particle physics enabled */ physics?: boolean; /** Collision detection */ collisions?: boolean; /** Particle trails */ trails?: boolean; /** Background interaction */ interactive?: boolean; /** Mouse interaction force */ mouseForce?: { type: "attraction" | "repulsion"; strength: number; radius: number; }; /** Particle system bounds */ bounds?: { width: number; height: number; depth: number; }; /** Performance settings */ performance?: { culling: boolean; lodDistance: number; targetFPS: number; }; /** Visual effects */ effects?: { bloom: boolean; blur: boolean; glow: boolean; sparkle: boolean; }; /** Color scheme */ colorScheme?: "warm" | "cool" | "rainbow" | "monochrome" | "neon"; /** Animation speed multiplier */ speed?: number; /** Pause animation */ paused?: boolean; /** Debug mode */ debug?: boolean; /** Event handlers */ onParticleClick?: (particle: Particle) => void; onEmitterTrigger?: (emitter: ParticleEmitter) => void; onForceApply?: (force: ParticleForce, particles: Particle[]) => void; /** Custom particle renderer */ renderParticle?: (particle: Particle) => React.ReactNode; /** Respect motion preferences */ respectMotionPreference?: boolean; } export declare const GlassParticleField: React.ForwardRefExoticComponent>; export default GlassParticleField; //# sourceMappingURL=GlassParticleField.d.ts.map