import { ITransaction, IReader } from "../../../../../base/common/observable.js"; export declare class AnimatedValue { readonly startValue: number; readonly endValue: number; readonly durationMs: number; private readonly _interpolationFunction; static const(value: number): AnimatedValue; readonly startTimeMs: number; constructor(startValue: number, endValue: number, durationMs: number, _interpolationFunction?: InterpolationFunction); isFinished(): boolean; getValue(): number; } type InterpolationFunction = (passedTime: number, start: number, length: number, totalDuration: number) => number; export declare function easeOutExpo(passedTime: number, start: number, length: number, totalDuration: number): number; export declare function easeOutCubic(passedTime: number, start: number, length: number, totalDuration: number): number; export declare function linear(passedTime: number, start: number, length: number, totalDuration: number): number; export declare class ObservableAnimatedValue { static const(value: number): ObservableAnimatedValue; private readonly _value; constructor(initialValue: AnimatedValue); setAnimation(value: AnimatedValue, tx: ITransaction | undefined): void; changeAnimation(fn: (prev: AnimatedValue) => AnimatedValue, tx: ITransaction | undefined): void; getValue(reader: IReader | undefined): number; } export declare class AnimationFrameScheduler { static instance: AnimationFrameScheduler; private readonly _counter; private _isScheduled; invalidateOnNextAnimationFrame(reader: IReader | undefined): void; private _update; } export {};