///
import { AnimationDirection, AnimationSegment, AnimationItem, RendererType, AnimationConfigWithData, AnimationEventCallback, AnimationEvents, AnimationEventName } from 'lottie-web';
export { default as LottiePlayer } from 'lottie-web';
import * as react from 'react';
import react__default, { RefObject, MutableRefObject, ReactElement, CSSProperties } from 'react';
type LottieRefCurrentProps = {
play: () => void;
stop: () => void;
pause: () => void;
setSpeed: (speed: number) => void;
goToAndStop: (value: number, isFrame?: boolean) => void;
goToAndPlay: (value: number, isFrame?: boolean) => void;
setDirection: (direction: AnimationDirection) => void;
playSegments: (segments: AnimationSegment | AnimationSegment[], forceFlag?: boolean) => void;
setSubframe: (useSubFrames: boolean) => void;
getDuration: (inFrames?: boolean) => number | undefined;
destroy: () => void;
animationContainerRef: RefObject;
animationLoaded: boolean;
animationItem: AnimationItem | undefined;
};
type LottieRef = MutableRefObject;
type LottieOptions = Omit, "container" | "animationData"> & {
animationData: unknown;
lottieRef?: LottieRef;
onComplete?: AnimationEventCallback | null;
onLoopComplete?: AnimationEventCallback | null;
onEnterFrame?: AnimationEventCallback | null;
onSegmentStart?: AnimationEventCallback | null;
onConfigReady?: AnimationEventCallback | null;
onDataReady?: AnimationEventCallback | null;
onDataFailed?: AnimationEventCallback | null;
onLoadedImages?: AnimationEventCallback | null;
onDOMLoaded?: AnimationEventCallback | null;
onDestroy?: AnimationEventCallback | null;
} & Omit, "loop">;
type PartialLottieOptions = Omit & {
animationData?: LottieOptions["animationData"];
};
type Axis = "x" | "y";
type Position = {
[key in Axis]: number | [number, number];
};
type Action = {
type: "seek" | "play" | "stop" | "loop";
frames: [number] | [number, number];
visibility?: [number, number];
position?: Position;
};
type InteractivityProps = {
lottieObj: {
View: ReactElement;
} & LottieRefCurrentProps;
actions: Action[];
mode: "scroll" | "cursor";
};
type LottieComponentProps = LottieOptions & {
interactivity?: Omit;
};
type PartialLottieComponentProps = Omit & {
animationData?: LottieOptions["animationData"];
};
type Listener = {
name: AnimationEventName;
handler: AnimationEventCallback;
};
type PartialListener = Omit & {
handler?: Listener["handler"] | null;
};
declare const Lottie: (props: LottieComponentProps) => react.ReactElement>;
declare const useLottie: (props: LottieOptions, style?: CSSProperties) => {
View: ReactElement;
} & LottieRefCurrentProps;
declare const useLottieInteractivity: ({ actions, mode, lottieObj, }: InteractivityProps) => ReactElement;
export { Action, Axis, InteractivityProps, Listener, LottieComponentProps, LottieOptions, LottieRef, LottieRefCurrentProps, PartialListener, PartialLottieComponentProps, PartialLottieOptions, Position, Lottie as default, useLottie, useLottieInteractivity };