export default EntityAnimation;
declare class EntityAnimation {
    /**
     *
     * @param {number} entity
     */
    constructor(entity: number);
    /**
     * @type {Array.<AnimationSpec>} animationSpecs
     */
    animationSpecs: Array<AnimationSpec>;
    ended: ObservedValue;
    entity: number;
    /**
     *
     * @returns {Promise<any>}
     */
    promiseEnd(): Promise<any>;
    __create(type: any, parameter: any, duration: any, transitionFunction: any): this;
    translate(parameter: any, duration: any, timingFunction: any): this;
    fade(parameter: any, duration: any, timingFunction: any): this;
    /**
     *
     * @param {function(animation:EntityAnimation):void} callback
     * @returns {EntityAnimation}
     */
    onEnded(callback: any): EntityAnimation;
    start(em: any): void;
}
/**
 * @ignore
 */
declare class AnimationSpec {
    /**
     *
     * @param {AnimationSpec.Type} type
     * @param {number} parameter
     * @param {number} duration in seconds
     * @param {function(x:number):number} transitionFunction
     */
    constructor(type: {
        TRANSLATE: number;
        FADE: number;
    }, parameter: number, duration: number, transitionFunction: any);
    parameter: number;
    duration: number;
    transitionFunction: any;
    type: {
        TRANSLATE: number;
        FADE: number;
    };
    /**
     *
     * @type {Tween|null}
     */
    tween: Tween | null;
}
declare namespace AnimationSpec {
    namespace Type {
        let TRANSLATE: number;
        let FADE: number;
    }
}
import ObservedValue from '../../core/model/ObservedValue.js';
//# sourceMappingURL=EntityAnimation.d.ts.map