import * as THREE from 'three'; import { Object3D } from './Object3D'; import { ContextManager, PlayOptions, Event, Stream, Observable } from '@zcomponent/core'; interface LottieImageConstructorProps { /** * The Lottie animation JSON file to display * @zprop * @zvalues files *.json */ source: string; /** * Whether the animation should autoplay * @zprop * @zdefault false */ autoplay: boolean; } /** * Displays and animates a Lottie animation in 3D space. * * Root element: [THREE.Object3D](https://threejs.org/docs/index.html#api/en/core/Object3D) * @zcomponent * @zicon animation * @ztag three/Object3D/LottieAnimation * @zparents three/Object3D/Group/** * @zgroup Media * @zstream */ export declare class LottieAnimation extends Object3D implements Stream { protected constructorProps: LottieImageConstructorProps; element: THREE.Group; private _plane; private _material; private _texture; loaded: Promise; /** * @zui */ onEnded: Event<[LottieAnimation]>; /** * @zui */ onPause: Event<[LottieAnimation]>; /** * @zui */ onPlay: Event<[LottieAnimation]>; /** * Whether the animation should loop * @zprop * @zgroup Play Settings * @zgrouppriority 20 * @zdefault false */ loop: Observable; constructor(contextManager: ContextManager, constructorProps: LottieImageConstructorProps); private _onLoopChange; private _load; /** * Start playing the animation * @zprop * @zui */ play(opts?: PlayOptions): void; /** * Pause the animation * @zprop * @zui */ pause(): void; /** * Stop the animation and return to start * @zprop * @zui */ stop(): void; /** * Seek to a specific millisecond in the animation. * @zprop * @zui */ seek(/** @ztype time-milliseconds */ t: number): void; length(): number; dispose(): never; } export {};