import Motion, { MotionProps } from "../motion/Motion.js";
export interface TweenChangeProps extends MotionProps {
    valueChange?: number | undefined;
}
export interface TweenFinishProps extends MotionProps {
    finishValue?: number | undefined;
}
export interface TweenAlgorithmParams {
    nextT?: number | null;
    lastT?: number | null | undefined;
    beginValue?: number | null | undefined;
    valueChange?: number | null | undefined;
    actionDuration?: number | null | undefined;
}
export interface TweenAtTimeParams {
    t: number | null | undefined;
    beginValue?: number | null | undefined;
    valueChange?: number | null | undefined;
}
export interface TweenForDurationParams {
    beginValue?: number | null | undefined;
    valueChange?: number | null | undefined;
    actionDuration: number | null | undefined;
}
export declare class Tween extends Motion {
    protected isComplete: boolean;
    protected funcName: string;
    protected _finishValue: number;
    constructor(params: TweenChangeProps | TweenFinishProps, funcName: string);
    checkIfFinished(t: number, actionDuration: number): boolean;
    update(params?: TweenAtTimeParams | undefined | null, tweenAlgo?: Function | null): any;
    tweenAlgorithm(params: TweenAlgorithmParams): number;
    continueTo(finish: number, interimDuration: number): void;
    yoyo(): void;
    getPosition(t?: number): any;
    setChange(change: number): void;
    getChange(): number;
    setFinish(finish: number): void;
    calcFinish(): number;
    toString(): string;
}
export default Tween;
