import { InjectionToken } from '@angular/core'; import { AnimationCache } from './animation-cache'; export interface BMEnterFrameEvent { currentTime: number; duration: number; totalTime: number; type: 'enterFrame'; } export interface BMCompleteLoopEvent { type: 'loopComplete'; loop: number; playCount: number; frameMult: number; } export interface BMCompleteEvent { type: 'complete'; duration: number; } export interface BMSegmentStartEvent { type: 'segmentStart'; firstFrame: number; totalFrames: number; } export interface BMDestroyEvent { target: AnimationItem; type: 'destroy'; } export interface BMRenderFrameErrorEvent { type: 'renderFrameError'; nativeError: Error; currentTime: number; } export interface BMConfigErrorEvent { type: 'configError'; nativeError: Error; } export declare type LottieEvent = BMEnterFrameEvent | BMCompleteLoopEvent | BMCompleteEvent | BMSegmentStartEvent | BMDestroyEvent | BMRenderFrameErrorEvent | BMConfigErrorEvent | void; export declare type CamelizedAnimationEventName = 'complete' | 'loopComplete' | 'enterFrame' | 'segmentStart' | 'configReady' | 'dataReady' | 'domLoaded' | 'destroy' | 'error'; export declare type EventsMap = { [key in CamelizedAnimationEventName]: AnimationEventName; }; export declare type AnimationFilename = string; export declare type AnimationEventName = import('lottie-web').AnimationEventName; export declare type AnimationItem = import('lottie-web').AnimationItem; export declare type LottiePlayer = typeof import('lottie-web').default; /** * This looks as follows * @example * import player from 'lottie-web'; * const factory = () => player; */ declare type LottiePlayerFactory = () => typeof import('lottie-web').default; /** * This looks as follows * @example * const factory = () => import('lottie-web'); */ declare type LottieLoader = () => Promise; export declare type LottiePlayerFactoryOrLoader = LottiePlayerFactory | LottieLoader; export interface LottieOptions { player: LottiePlayerFactoryOrLoader; useCache?: boolean; } export declare type AnimationConfigWithData = import('lottie-web').AnimationConfigWithData; export declare type AnimationConfigWithPath = import('lottie-web').AnimationConfigWithPath; export declare type AnimationOptions = Partial | Partial; export declare const LOTTIE_OPTIONS: InjectionToken; export declare const ANIMATION_CACHE: InjectionToken; export {};