import { IBaseService } from './base'; import { CreateTlOption } from '../types/animate'; import { IOptions, IEffectConfig } from '@anov/animate-engine'; /** * 动画管理接口 */ export interface IAnimateService extends IBaseService { /** * 创建GSDevTools * @param id 挂在节点 */ createDevTool(id: string): void; /** * kill GSDevTools */ killDevTool(): void; /** * 获取当前路由动画线 * @param type 动画线类型,enter or leave */ getCurrentRouteTl(type: string): gsap.core.Timeline; /** * 重启动画 */ restart(): void; /** * 获取part动画线 * @param id part id * @param type 动画线类型,enter or leave */ getById(id: string, type: string): gsap.core.Timeline; /** * 创建动画线 * @param opt 创建动画线的配置项 */ createTl(opt: IOptions): gsap.core.Timeline | undefined; /** * 注册新的解析规则 * @param direction 动画方向 已有TTB\LTR\LTRB * @param parseFunc 解析函数 */ registerRule(direction: string, parseFunc: any): void; /** * 注册新的动画效果 * @param effectName 效果名 * @param config 效果配置 */ registerEffect(effectName: string, config: IEffectConfig): void; /** * 注册页面动画线 * @param opt */ registerTl(opt: CreateTlOption): gsap.core.Timeline; /** * 初始化样式 * @param target 目标对象 可以是一个css选择器 也可以是一个dom节点 */ setInitialStyle(target: string | Element): void; /** * 设置动画调试 * @param show 是否显示 */ setAnimateDebug(show: boolean): void; }