import { type CSSProperties, type HTMLAttributes, type Ref } from 'react';
import { type CssLength } from '../../../utils/css';
declare const SPIRIT_ORB_MODES: readonly ["water", "fire", "earth", "air"];
type SpiritOrbMode = (typeof SPIRIT_ORB_MODES)[number];
export type SpiritOrbProps = Omit, 'children'> & {
canvasClassName?: string;
canvasStyle?: CSSProperties;
controlsClassName?: string;
controlsLabel?: string;
defaultMode?: SpiritOrbMode;
disabled?: boolean;
fps?: number;
intensity?: number;
label?: string;
maxDevicePixelRatio?: number;
maxVelocity?: number;
mode?: SpiritOrbMode;
modes?: readonly SpiritOrbMode[];
name?: string;
onModeChange?: (mode: SpiritOrbMode) => void;
orbClassName?: string;
particleCount?: number;
paused?: boolean;
ref?: Ref;
respectReducedMotion?: boolean;
seed?: number;
showControls?: boolean;
size?: CssLength;
stageClassName?: string;
};
declare const MODE_PALETTES: {
air: {
accent: string;
background: string;
text: string;
};
earth: {
accent: string;
background: string;
text: string;
};
fire: {
accent: string;
background: string;
text: string;
};
water: {
accent: string;
background: string;
text: string;
};
};
declare const SpiritOrb: ({ canvasClassName, canvasStyle, className, controlsClassName, controlsLabel, defaultMode, disabled, fps, intensity, label, maxDevicePixelRatio, maxVelocity, mode: controlledMode, modes, name, onModeChange, orbClassName, particleCount, paused, ref, respectReducedMotion, seed, showControls, size, stageClassName, style, ...props }: SpiritOrbProps) => import("react/jsx-runtime").JSX.Element;
export { MODE_PALETTES as SPIRIT_ORB_PALETTES, SPIRIT_ORB_MODES, SpiritOrb };
export type { SpiritOrbMode };