import { BubbleState } from '../../models/internal/bubble-state'; import { EasingFn } from '../../models/public/configuration'; /** Standard easing functions. */ export declare const Easing: { linear: (t: number) => number; easeInOutCubic: (t: number) => number; easeOutCubic: (t: number) => number; easeInCubic: (t: number) => number; }; /** * Steps the position/radius tween for a single bubble toward its physics target. * Writes to renderX, renderY, renderRadius, tweenProgress. * Syncs render fields to physics fields when tween completes. * * @param b - BubbleState to update * @param easingFn - Easing function (default: easeInOutCubic) * @returns true if tween is still active, false if complete */ export declare function stepTween(b: BubbleState, easingFn?: EasingFn): boolean; /** * Steps the renderScale for a single bubble toward targetScale. * Uses lerp with hoverEase factor for smooth hover animation. * * @param b - BubbleState to update * @param hoverEase - Lerp factor (default: 0.10) * @returns true if scale is still animating, false if settled */ export declare function stepScale(b: BubbleState, hoverEase?: number): boolean; /** * Initializes a new bubble for entry animation. * Sets renderScale = 0, targetScale = 1, tweenProgress = 0. * Call this when a bubble is first added to the chart. */ export declare function initBubbleEntry(b: BubbleState): void; /** * Prepares a bubble for a position/radius transition (after chart.update()). * Captures current render position as tweenFrom. */ export declare function initBubbleTransition(b: BubbleState, newX: number, newY: number, newRadius: number): void;