export type ScrollAxis = 'x' | 'y'; export declare function isScrollable(el: HTMLElement, axis: ScrollAxis): boolean; /** * Whether `el` can still move in the direction `delta` points, so a scroll that * has already bottomed out is passed on instead of being silently absorbed. */ export declare function canScrollFurther(el: HTMLElement, delta: number, axis: ScrollAxis): boolean; /** * Nearest scrolling ancestor of `start`, stopping at : the document itself * is reachable by the browser's own chaining and needs no help from us. */ export declare function findScrollableAncestor(start: HTMLElement | null, axis: ScrollAxis): HTMLElement | null; export declare function normalizeWheelDelta(event: WheelEvent, viewportSize: number): number; /** * Whether `el` has been scrolled out of view of an ancestor that clips it. * * This matters only for a teleported dropdown. Hanging off , it is not * clipped by the containers its trigger lives in, so once the trigger scrolls * out of one the dropdown carries on being painted over whatever now occupies * that space — anchored to a control the user can no longer see. */ export declare function isClippedByAncestor(el: HTMLElement | null): boolean;