import * as react_jsx_runtime from 'react/jsx-runtime'; import { LeoBlobAnimationSpeed } from '../../lib/leo-ambience.js'; type BlobIntensity = "high" | "normal"; type AnimatedBlobBackgroundProps = { className?: string; intensity?: BlobIntensity; /** When false, unmounts entirely (saves GPU while Leo is hidden). */ enabled?: boolean; /** When true, blobs animate faster (thinking / analyzing). */ thinking?: boolean; /** Float / think keyframes. Honours prefers-reduced-motion. */ animate?: boolean; /** * Run the entrance spread + one gentle float cycle, then settle. * Used on short-lived surfaces (What's new Leo cards) where an infinite * drift would keep competing with the copy. */ playOnce?: boolean; animationSpeed?: LeoBlobAnimationSpeed; /** * `bar` — compact wash sized for a search / composer pill (blobs live inside * the rounded shell). `default` — full-panel hero / rail wash. */ density?: "default" | "bar"; /** * Bar density only. `pill` sizes the lobes for a composer / search pill. * `chip` sizes them for a control roughly one line tall (the utility bar's * Ask Leo chip): the lobes scale to the box instead of being clipped by it, so * each one's drift crosses the control top to bottom rather than showing a * flat middle band of a much taller lobe. */ fit?: "pill" | "chip"; /** Soft sheen sweep (bar density + thinking only). Default true. */ sheen?: boolean; /** * Bar density. Drops the connective floor, tightens each lobe's blur, and skips * the sheen, so the field reads as three separate hot spots instead of one * continuous wash. * * For consumers that mask the field down to a thin band — the Ask Leo chip's * edge light masks it to a ring on the border — the floor is what ruins the * effect: it spans the full width at a flat opacity, so every part of the band * gets the same light and the outline comes out evenly lit no matter where the * lobes are. */ lobesOnly?: boolean; /** * Free placement (px). Bar density: each lobe shell. Panel density: shifts the * whole three-blob field together so composer / cover washes share the same pad. */ offsetX?: number; offsetY?: number; }; declare function AnimatedBlobBackground({ className, intensity, enabled, thinking, animate, playOnce, animationSpeed, density, fit, sheen, lobesOnly, offsetX, offsetY, }: AnimatedBlobBackgroundProps): react_jsx_runtime.JSX.Element | null; export { AnimatedBlobBackground, type AnimatedBlobBackgroundProps, type BlobIntensity };