/**
 * Compute the intersection of the two given rects.
 * @param rect1
 * @param rect2
 * @returns
 */
export declare function intersectRects(rect1: DOMRect, rect2: DOMRect): DOMRect | null;
/**
 * Compute the visible rectangle of the scrollable parents.
 * @param scrollableParents
 * @returns
 */
export declare function computeVisibleClientRect(scrollableParents: HTMLElement[]): DOMRect | null;
/**
 * Tests whether the given element is scrollable in any direction.
 * @param element
 * @returns
 */
export declare function isScrollable(element: HTMLElement): boolean;
/**
 * Get the list of scrollable parents of the given element. The list always include the root parent at the end.
 * The root parent is either the document.documentElement or the given root element.
 * To iterate the list from top to down you need to iterate from the end to the start of the list,
 * since the root parent is always the last element and the nearest scrollable parent is the first element.
 * @param element
 * @param root
 * @returns
 */
export declare function getScrollableParents(element: HTMLElement, root?: HTMLElement): HTMLElement[];
//# sourceMappingURL=utils.d.ts.map