/** * Creates an observer that monitors whether an element's content overflows its visible width. Uses * a ResizeObserver for size changes and a MutationObserver for DOM content changes. * * @category Util * @returns A cleanup function that disconnects all observers. */ export declare function createOverflowObserver({ element, widthElement, onChange, hysteresisPx, }: Readonly<{ /** The element whose `scrollWidth` is measured for content size. */ element: Element; /** * Optional separate element whose `clientWidth` is used as the available width. Defaults to * `element`. Useful when `element` may be collapsed but the available width should come from a * parent. */ widthElement?: Element | undefined; onChange: (isOverflowing: boolean) => void; /** * Pixel margin required to flip the overflow state. Once overflowing, the content must fit * within `availableWidth - hysteresisPx` to flip back; once not overflowing, the content must * exceed `availableWidth + hysteresisPx` to flip on. Prevents rapid toggling from minute size * changes. */ hysteresisPx?: number | undefined; }>): () => void;