import { RefObject } from 'react'; export interface ScrollGutter { /** Layout width the scrollbar takes: 15-17px for a classic bar, 0 for an overlay one. */ width: number; /** The content is taller than the scroll container. */ overflows: boolean; } /** * Measures a scroll container's scrollbar gutter and whether it overflows, and keeps both current. * * Meant for a container with `scrollbar-gutter: stable`: its gutter is then reserved whether or not it * scrolls, so `width` is a property of the platform (and zoom), not of the content — padding derived * from it cannot oscillate as scrolling starts and stops. Re-measured on its own resize, on any direct * child's resize (content growing inside a container already at max-height does not resize it), when * children are added or removed, and on window resize, which also catches browser zoom. * * Measured in a layout effect, so the corrected layout is in place before the first paint. */ export declare const useScrollGutter: (ref: RefObject) => ScrollGutter;