import { Evented } from '../core/Events.js';
import type { Point } from '../geometry/Point.js';
/** @import {Point} from '../geometry/Point.js' */
export declare class PosAnimation extends Evented {
    /** @type {HTMLElement} */
    _el: HTMLElement;
    _inProgress: boolean | undefined;
    /** @type {number} */
    _duration: number;
    /** @type {number} */
    _easeOutPower: number;
    /** @type {Point} */
    _startPos: Point;
    /** @type {Point} */
    _offset: Point;
    /** @type {number} */
    _startTime: number;
    /** @type {number} */
    _animId: number;
    /**
     * @param {HTMLElement} el
     * @param {Point} newPos
     * @param {number} [duration]
     * @param {number} [easeLinearity]
     */
    run(el: HTMLElement, newPos: Point, duration?: number, easeLinearity?: number): void;
    stop(): void;
    _animate(): void;
    /** @param {boolean} [round] */
    _step(round?: boolean): void;
    /**
     * @param {number} progress
     * @param {boolean} [round]
     */
    _runFrame(progress: number, round?: boolean): void;
    _complete(): void;
    /** @param {number} t */
    _easeOut(t: number): number;
}
