import type { ElementTarget } from "../use-target-element/index.cjs"; export interface UseElementBoundingOptions { /** * Reset the bounding box when the element is not found * * @defaultValue true */ reset?: boolean; /** * Update the bounding box when the window is resized * * @defaultValue true */ windowResize?: boolean; /** * Update the bounding box when the window is scrolled * * @defaultValue true */ windowScroll?: boolean; } export type UseElementBoundingReturns = readonly [ { /** * The height of the element */ height: number; /** * The bottom position of the element */ bottom: number; /** * The left position of the element */ left: number; /** * The right position of the element */ right: number; /** * The top position of the element */ top: number; /** * The width of the element */ width: number; /** * The x position of the element */ x: number; /** * The y position of the element */ y: number; }, /** * Update the bounding box of the element */ update: () => void ]; /** * A React Hook that returns the [bounding client rect](https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect) of an element. */ export declare function useElementBounding(target: ElementTarget, options?: UseElementBoundingOptions): UseElementBoundingReturns;