import { EAnimationType } from "../../../../types/AnimationType"; import type { SCRTDoubleVector, TSciChart } from "../../../../types/TSciChart"; import type { IRenderableSeries } from "../IRenderableSeries"; import type { BaseAnimationStyle } from "./BaseAnimationStyle"; import type { IBaseAnimationOptions } from "./SeriesAnimation"; import { SeriesAnimation } from "./SeriesAnimation"; export interface IWaveAnimationOptions extends IBaseAnimationOptions { pointDurationFraction?: number; zeroLine?: number; } export declare class WaveAnimation extends SeriesAnimation { /** @inheritDoc */ readonly type = EAnimationType.Wave; /** * The value that specifies a relative duration of a point animation as a fraction of an overall animation */ pointDurationFraction: number; /** * The line from which the animation evolves */ zeroLine: number; constructor(options?: IWaveAnimationOptions); updateSeriesProperties(renderableSeries: IRenderableSeries, initialStyles: BaseAnimationStyle, animationProgress: number): void; /** @inheritDoc */ calculateAnimationValues(wasmContext: TSciChart, originalValues: SCRTDoubleVector, animationValues: SCRTDoubleVector, progress: number, noZeroLine?: boolean): void; toJSON(): { type: EAnimationType; options: Required>; }; } /** Registers {@link WaveAnimation} for `EAnimationType.Wave` definitions. */ export declare function registerWaveAnimation(overWrite?: boolean): void;