import { type SharedValue } from "react-native-reanimated"; import type { LiveChartPalette } from "../types"; type DegenPack = SharedValue>; type DegenParticlesOverlayProps = { pack: DegenPack; packRevision: SharedValue; /** Display-frame seconds, matching the particle pack's spawn timestamps. */ particleTimestamp: SharedValue; palette: LiveChartPalette; particleSlotCount: number; particleBurstDurationSec: number; particleOpacity: number; colors: string[] | null; }; /** * Renders the degen particle burst with a single `drawAtlas` call. * * Every active particle shares one pre-rasterized white-circle sprite and * differs only in position, scale, color, and opacity — the ideal `drawAtlas` * case. A single per-frame worklet projects the packed ring buffer (layout: * `[x, y, vx, vy, t0, active, size, colorIndex]`, stride = DEGEN_STRIDE = 8; * see `math/degenTick.ts`) into transforms + per-sprite colors, replacing the * old O(slots × 4 derived values + 1 `` each) fan-out with O(1) mappers * and one draw. * * Per-particle color/opacity is baked into the sprite color (`rgba(r,g,b,a)`) * and applied with the `"modulate"` blend mode, which multiplies the white * sprite by each color — so a white AA circle becomes a soft, correctly-tinted, * correctly-faded particle, visually equivalent to the old ``. */ export declare function DegenParticlesOverlay(props: DegenParticlesOverlayProps): import("react").JSX.Element; export {}; //# sourceMappingURL=DegenParticlesOverlay.d.ts.map