import type { IAnimationReferenceMetadata } from './IAnimationReferenceMetadata';
/**
 * The `AnimationPlayer` class provides functionality to play and manage animations on HTML elements.
 *
 * @public
 */
export declare class AnimationPlayer {
    /**
     * Constructs a new instance of the `AnimationPlayer` class.
     *
     * @public
     */
    constructor();
    /**
     * Plays an animation on the specified element.
     *
     * @param element - The element to animate.
     * @param animation - The animation reference metadata containing keyframes and options.
     * @param overrideOptions - Optional override options for the animation.
     * @returns A promise that resolves when the animation completes.
     * @public
     */
    play(element: HTMLElement, animation: IAnimationReferenceMetadata, overrideOptions?: KeyframeAnimationOptions): Promise<AnimationPlaybackEvent>;
    /**
     * Stops all running animations on the specified element.
     *
     * @param element - The element to stop animations on.
     * @returns A promise that resolves when all animations are stopped.
     * @public
     */
    stopAll(element: HTMLElement): Promise<unknown>;
    /**
     * Parses keyframes and resolves special values like `height: 'auto'`.
     *
     * @param element - The element being animated.
     * @param keyframes - The keyframes to parse.
     * @returns The parsed keyframes with resolved values.
     * @private
     */
    private parseKeyframes;
    /**
     * Plays an animation from the current element state to the final keyframe.
     * This is useful when initial styles have been applied and you want to animate
     * from those styles to the final state.
     *
     * @param element - The element to animate.
     * @param animation - The animation reference metadata containing keyframes and options.
     * @param overrideOptions - Optional override options for the animation.
     * @returns A promise that resolves when the animation completes.
     * @public
     */
    playToFinal(element: HTMLElement, animation: IAnimationReferenceMetadata, overrideOptions?: KeyframeAnimationOptions): Promise<AnimationPlaybackEvent>;
    /**
     * Applies the final keyframe values to the element's style.
     *
     * @param element - The element to apply styles to.
     * @param keyframes - The keyframes array.
     * @private
     */
    private applyKeyframes;
    /**
     * Applies styles from a PropertyIndexedKeyframes object to the element.
     *
     * @param element - The element to apply styles to.
     * @param props - The property values to apply.
     * @private
     */
    private applyStyles;
}
//# sourceMappingURL=AnimationPlayer.d.ts.map