import type { IGraphic } from '@visactor/vrender-core';
import type { IAnimationConfig } from '../executor/executor';
export declare class ComponentAnimator {
    private component;
    private tasks;
    private started;
    private completed;
    private totalDuration;
    private onStartCallbacks;
    private onEndCallbacks;
    private onUpdateCallbacks;
    constructor(component: IGraphic);
    animate(graphic: IGraphic, config: IAnimationConfig): ComponentAnimator;
    onStart(callback: () => void): ComponentAnimator;
    onEnd(callback: () => void): ComponentAnimator;
    onUpdate(callback: (progress: number) => void): ComponentAnimator;
    start(): ComponentAnimator;
    deleteSelfAttr(key: string): void;
    stop(type?: 'start' | 'end'): ComponentAnimator;
    getDuration(): number;
}
export declare function createComponentAnimator(component: IGraphic): ComponentAnimator;
