import { AnimationDefinition, AnimationPromise as AnimationPromiseDefinition } from './animation-shared';
import { PropertyAnimation } from './animation-shared';
export * from './animation-shared';
export declare namespace Properties {
    const opacity = "opacity";
    const backgroundColor = "backgroundColor";
    const translate = "translate";
    const rotate = "rotate";
    const scale = "scale";
    const height = "height";
    const width = "width";
}
export declare abstract class AnimationBase {
    _propertyAnimations: Array<PropertyAnimation>;
    _playSequentially: boolean;
    private _isPlaying;
    private _resolve;
    private _reject;
    constructor(animationDefinitions: Array<AnimationDefinition>, playSequentially?: boolean);
    abstract _resolveAnimationCurve(curve: any): any;
    protected _rejectAlreadyPlaying(): AnimationPromiseDefinition;
    play(): AnimationPromiseDefinition;
    private fixupAnimationPromise;
    cancel(): void;
    get isPlaying(): boolean;
    _resolveAnimationFinishedPromise(): void;
    _rejectAnimationFinishedPromise(): void;
    private static _createPropertyAnimations;
    static _getAnimationInfo(animation: PropertyAnimation): string;
}
