import type { Datum } from "../charts/shared/datumTypes";
/**
 * Pulse encoding for XY pipeline scene nodes.
 *
 * Applies time-based glow to recently-inserted data points. Intensity fades
 * from 1 (just inserted) to 0 (pulse expired) over a configurable duration.
 *
 * Dependencies: types (SceneNode, PulseConfig), RingBuffer (timestamp buffer)
 * Consumed by: PipelineStore.computeScene (after decay, before transitions)
 */
import type { SceneNode, PulseConfig } from "./types";
import type { RingBuffer } from "../realtime/RingBuffer";
/**
 * Compute pulse intensity for a datum inserted at `insertTime`.
 * Returns 0–1 (1 = just inserted, 0 = pulse expired).
 */
export declare function computePulseIntensity(pulse: PulseConfig, insertTime: number, now: number): number;
/**
 * Apply pulse glow to scene nodes using insertion timestamps.
 */
export declare function applyPulse(pulse: PulseConfig, nodes: SceneNode[], data: Datum[], timestampBuffer: RingBuffer<number>): void;
/**
 * Check whether there are active pulse animations needing continuous rendering.
 */
export declare function hasActivePulses(pulse: PulseConfig, timestampBuffer: RingBuffer<number> | null): boolean;
