import { Timerange } from './time_util'; import { Animation_meta } from '../data/meta/animation_meta'; import { Intro_type, Outro_type, Group_animation_type } from '../data'; import { Text_intro, Text_outro, Text_loop_anim } from '../data'; declare abstract class Animation { name: string; effect_id: string; animationType: string; resourceId: string; start: number; duration: number; isVideoAnimation: boolean; constructor(animationMeta: Animation_meta, start: number, duration: number); export_json(): { [key: string]: any; }; } export declare class VideoAnimation extends Animation { animationType: 'in' | 'out' | 'group'; constructor(animationType: Intro_type | Outro_type | Group_animation_type | any, start: number, duration: number); } export declare class StickerAnimation extends Animation { animationType: 'in' | 'out' | 'group'; constructor(animationType: Intro_type | Outro_type | Group_animation_type | any, start: number, duration: number); } export declare class TextAnimation extends Animation { animationType: 'in' | 'out' | 'loop'; constructor(animationType: Text_intro | Text_outro | Text_loop_anim | any, start: number, duration: number); } export declare class SegmentAnimations { animationId: string; animations: Animation[]; constructor(); getAnimationTrange(animationType: 'in' | 'out' | 'group' | 'loop'): Timerange | null; addAnimation(animation: VideoAnimation | TextAnimation): void; export_json(): { [key: string]: any; }; } export declare function hasAnimationResource(Sticker_intro: any, resourceId: any): boolean; export {};