import { LottieRefCurrentProps } from './use-lottie';
import { ReactElement } from 'react';
export type Axis = 'x' | 'y';
export type Position = {
    [key in Axis]: number | [number, number];
};
export type Action = {
    type: 'seek' | 'play' | 'stop' | 'loop';
    frames: [number] | [number, number];
    visibility?: [number, number];
    position?: Position;
};
export type InteractivityProps = {
    lottieObj: {
        View: ReactElement;
    } & LottieRefCurrentProps;
    actions: Action[];
    mode: 'scroll' | 'cursor';
};
export declare function getContainerVisibility(container: Element): number;
export declare function getContainerCursorPosition(container: Element, cursorX: number, cursorY: number): {
    x: number;
    y: number;
};
export type InitInteractivity = {
    wrapperRef: React.RefObject<HTMLDivElement>;
    animationItem: InteractivityProps['lottieObj']['animationItem'];
    actions: InteractivityProps['actions'];
    mode: InteractivityProps['mode'];
};
export declare const useInitInteractivity: ({ wrapperRef, animationItem, mode, actions }: InitInteractivity) => void;
export declare const useLottieInteractivity: ({ actions, mode, lottieObj }: InteractivityProps) => ReactElement;
