import { IGrowHTMLElement, pageGrowGsap as gsap } from "./common"; import { PageGrowOption, EffectObj } from './engine'; /** * 动画基础规则接口 */ export declare interface IGrowAnimate { duration: number; delay: number; repeat: number; start(): void; stop(): void; } /** * 进场动画控制器接口 */ export declare interface IGrowAnimateController { enter(): void; leave(): void; stop(): void; creatTl(): void; } /** * 封装gsap */ export declare class GrowTween extends gsap.core.Tween { } export declare class GrowTimeLine extends gsap.core.Timeline { } /** * 进出场动画控制器 */ export declare class HTMLGrowAnimateController implements IGrowAnimateController { constructor(elements: Array, opt: PageGrowOption); _els: Array; _tl: GrowTimeLine; private _option; private _init; /** * 若有传入labels,获取动画线 * @param els * @returns */ _getPageTl(els: Array): GrowTimeLine; /** * 获取动画线 * @param els * @returns GrowTimeLine */ private _getTl; /** * 递归获取子动画线 * @param els * @returns GrowTimeLine */ private _getTlRecurve; get timeLine(): GrowTimeLine; get effects(): Array; enter(): void; creatTl(): GrowTimeLine; leave(): void; stop(): void; addEffect(effectList: Array): void; private _setElementAnimate; private _registerEffects; private _getTransformOrigin; private _elementHasCustomTl; private _computedStringDuration; } export declare function isTl(tl: GrowTimeLine): boolean;