import { Component } from 'react'; import { AnimationItem, AnimationConfigWithData, SVGRendererConfig } from 'lottie-web'; export declare const LOTTIE_RENDERERS: readonly ["svg", "canvas"]; type LottiOptions = Pick; export interface LottieProps extends LottiOptions { /** * 自定义 class */ className?: string; /** * 动画数据对象 */ animationData?: AnimationConfigWithData['animationData']; /** * 渲染器 */ renderer?: (typeof LOTTIE_RENDERERS)[number]; /** * 是否加载后自动开始播放 */ autoplay?: boolean; /** * 是否循环播放 */ loop?: boolean; /** * 播放速度 * * - `1` 正常速度 * - `-1` 反向播放,正常速度 * - 数字越大,速率越大 */ speed?: number; /** * @private speed 有方向性,或不需要 direction 进行控制 * 播放方向 * * - `1` forward * - `-1` reverse */ /** * @private 预留必要时公开 * https://github.com/airbnb/lottie-web/wiki/Renderer-Settings */ rendererSettings?: SVGRendererConfig; /** * @private 预留必要时公开 * you can specify a different root path for external assets path instead of the images folder */ assetsPath?: AnimationConfigWithData['assetsPath']; } export declare class Lottie extends Component { static displayName: string; static defaultProps: { className: string; loop: boolean; autoplay: boolean; speed: number; }; refContainer: import("react").RefObject; animation: AnimationItem | null; options: LottiOptions; get className(): string; get container(): HTMLDivElement | null; get renderer(): "svg" | "canvas"; /** * 播放 * @public */ play(): void; /** * 停止 * @public */ stop(): void; /** * 暂停 * @public */ pause(): void; /** * 切换暂停 * @public */ togglePause(): void; setSpeed(speed?: number | undefined): void; reload(): void; destroy(): void; componentDidMount(): void; componentWillUnmount(): void; componentDidUpdate(prevProps: Readonly): void; render(): import("react/jsx-runtime").JSX.Element; } export {};