import { Datum, Switchable } from '../options'; export * from './data-transition'; export interface AnimationOptions extends Switchable { /** Entrance animation duration, ms (600 by default). */ duration?: number; /** * The update transition on its own, and it wins wherever it was set: a chart * asked to appear at once (`enabled: false`) and to move afterwards says so * with `updateEnabled: true`. Without it the update follows `enabled`. */ updateEnabled?: boolean; /** Update transition duration, ms; falls back to `duration`, and to 450 without it. */ updateDuration?: number; /** * What makes a row the same row across an update: the name of a field, or a * function over the row. Without it rows are matched by position, so a change * in their number is drawn at once instead of flowing — with it, the rows that * stayed flow to their new values while the ones that came and went grow and * sink at the ends. */ key?: string | ((datum: Datum, index: number) => unknown); } export declare function easeOutCubic(t: number): number; /** rAF animator of a 0→1 factor (series entrance animation). */ export declare class Animator { private raf; /** Resolves the promise of the run in flight — on its last frame or on stop(). */ private settle; /** Current animation factor (1 = finished). */ t: number; /** Resolves when the run ends, whether it played out or was stopped. */ play(duration: number, onFrame: (t: number) => void): Promise; stop(): void; private finish; }