import { RefObject } from "react";
type Options = {
    round?: boolean;
    gyroEnabled?: boolean;
};
export declare function useTiltUpdates(active: boolean, relativeToEl: RefObject<HTMLDivElement | null>, onTilt: (p: {
    x: number;
    y: number;
}) => void, onInverseMatrix?: (updateFunc: (matrix: number[]) => number[]) => void, sensorScale?: number, tiltLimit?: {
    x: number;
    y: number;
}, options?: Options): void;
/**
 * This hook binds to two methods for calculating tilt
 *
 * When available: The device sensors
 * When on desktop: The mouse position relative to a ref
 */
export default function useTilt(active: boolean, 
/**
 * A scale to increase the values from the sensors
 *
 * @hack You can set this value to 0 as a way to disable the tilt calc on mobile
 */
sensorScale?: number, maxTilt?: {
    x: number;
    y: number;
}, options?: Options): {
    /** The element to monitor mouse hover relative to */
    relativeTo: RefObject<HTMLDivElement | null>;
    /**
     * The matrix that represents the original tilt, so it can be used with the tilt prop to tilt relative to the user
     * Use it on css like so transform: matrix3d(tiltResetMatrix.join(",")) rotateX(tilt.x) rotateY(tilt.y)
     */
    tiltResetMatrix: number[];
    /**
     * How much tilt should be applied based
     */
    tilt: {
        x: number;
        y: number;
    };
};
export declare function calculateDistanceRelativeToBounds(mousePosition: number, elementInitialPosition: number, elementSizeDimension: number, shouldRound: boolean): number;
export declare function givenTheRelativePositionHowMuchToRotate(relativePosition: number, maxRotation: number): number;
export {};
