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<HTMLDivElement> {
    /** 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<GlassParticleFieldProps & React.RefAttributes<HTMLDivElement>>;
export default GlassParticleField;
//# sourceMappingURL=GlassParticleField.d.ts.map