import React from "react";
export interface NebulaLayer {
    name: string;
    points: Array<{
        x: number;
        y: number;
        density: number;
        temperature: number;
    }>;
    color: [number, number, number];
    opacity: number;
    scale: number;
    rotation: number;
    rotationSpeed: number;
    turbulence: number;
    id: string;
}
export interface StarCluster {
    x: number;
    y: number;
    stars: Array<{
        x: number;
        y: number;
        brightness: number;
        color: [number, number, number];
        size: number;
        twinklePhase: number;
        spectralClass: "O" | "B" | "A" | "F" | "G" | "K" | "M";
    }>;
    density: number;
    age: number;
    id: string;
}
export interface CosmicDust {
    particles: Array<{
        x: number;
        y: number;
        vx: number;
        vy: number;
        size: number;
        opacity: number;
        color: [number, number, number];
        temperature: number;
        lifetime: number;
    }>;
    density: number;
    composition: "silicate" | "carbon" | "ice" | "organic";
    id: string;
}
export interface GlassNebulaCloudsProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange"> {
    /** Canvas width */
    width?: number;
    /** Canvas height */
    height?: number;
    /** Nebula type */
    nebulaType?: "emission" | "reflection" | "dark" | "planetary" | "supernova";
    /** Overall nebula density */
    density?: number;
    /** Gas temperature (affects color) */
    temperature?: number;
    /** Stellar wind strength */
    stellarWindStrength?: number;
    /** Number of nebula layers */
    layerCount?: number;
    /** Show star clusters */
    showStarClusters?: boolean;
    /** Show cosmic dust */
    showCosmicDust?: boolean;
    /** Animation speed */
    animationSpeed?: number;
    /** Turbulence level */
    turbulenceLevel?: number;
    /** Color intensity */
    colorIntensity?: number;
    /** Camera distance (affects perspective) */
    cameraDistance?: number;
    /** Time scale (affects evolution) */
    timeScale?: number;
    /** Ionization level */
    ionizationLevel?: number;
    /** Whether to show emission lines */
    showEmissionLines?: boolean;
    /** Magnetic field visualization */
    showMagneticField?: boolean;
    /** Nebula evolution handler */
    onNebulaEvolution?: (age: number, state: string) => void;
    /** Star formation handler */
    onStarFormation?: (location: {
        x: number;
        y: number;
    }) => void;
    /** Show controls */
    showControls?: boolean;
    /** Show nebula info */
    showNebulaInfo?: boolean;
    /** Respect user's motion preferences */
    respectMotionPreference?: boolean;
}
export declare const GlassNebulaClouds: React.ForwardRefExoticComponent<GlassNebulaCloudsProps & React.RefAttributes<HTMLDivElement>>;
export default GlassNebulaClouds;
//# sourceMappingURL=GlassNebulaClouds.d.ts.map