| import { AnimationEasing } from 'zrender/lib/animation/easing.js'; | 
| import Element from 'zrender/lib/Element.js'; | 
| import { AnimationOption, AnimationOptionMixin } from '../util/types.js'; | 
| import type Model from '../model/Model.js'; | 
| declare type AnimationKeyframe<T extends Record<string, any>> = T & { | 
|     easing?: AnimationEasing; | 
|     percent?: number; | 
| }; | 
| export interface ElementKeyframeAnimationOption<Props extends Record<string, any>> extends AnimationOption { | 
|     loop?: boolean; | 
|     keyframes?: AnimationKeyframe<Props>[]; | 
| } | 
| /** | 
|  * Stop previous keyframe animation and restore the attributes. | 
|  * Avoid new keyframe animation starts with wrong internal state when the percent: 0 is not set. | 
|  */ | 
| export declare function stopPreviousKeyframeAnimationAndRestore(el: Element): void; | 
| export declare function applyKeyframeAnimation<T extends Record<string, any>>(el: Element, animationOpts: ElementKeyframeAnimationOption<T> | ElementKeyframeAnimationOption<T>[], animatableModel: Model<AnimationOptionMixin>): void; | 
| export {}; |