import { IObject, IAnimObject, IMode } from '../typings';
import Animate from './animate';
import { Tween } from '../';
export default class Element {
    item: IAnimObject;
    vars: IObject;
    start: IObject[];
    parent: Animate;
    root: Tween;
    startAt: IObject;
    mode?: IMode;
    appearTo: number;
    props: IAnimObject;
    index: number;
    register?: boolean;
    reverseStart?: boolean;
    repeatNum: number;
    prevMoment?: number;
    easing: (currentTime: number, beginValue: number, endValue: number, totalDuration: number) => number;
    get totalTime(): number;
    constructor(item: IAnimObject);
    changeValueToVars: (k: string, value: any, skipPlugin?: boolean | undefined) => any;
    setEase: (e: any) => void;
    getTotalTime: () => number;
    getEaseToRatio: (r: any, isFrom: boolean) => any;
    setRatioToVars: (ratio: number) => void;
    onRegisterAnimate: () => void;
    overflowRatio: (ratio: number) => number;
    render: ({ moment, fps, silence, render, }: {
        moment: number;
        fps?: number | undefined;
        silence?: boolean | undefined;
        render?: boolean | undefined;
    }) => void;
}
