/** * Compute how many items can fit given available width and per-item width, * reserving one slot for an overflow indicator. */ export declare const computeFitCount: (availableWidthPx: number, perItemWidthPx: number, reserveOneSlot?: boolean) => number; /** * Multi-line truncation via `-webkit-line-clamp`. * We consider it “clamped” when: * • clamp ≥ 1 * • display is the special flex-box proxy * • overflow is hidden (spec requires this) */ export declare function isMultiLineClamped(el: HTMLElement, style?: CSSStyleDeclaration): boolean; /** * Single-line truncation via `text-overflow: ellipsis`. * We consider it “clamped” when: * • text-overflow is ellipsis * • white-space is nowrap * • overflow is hidden (spec requires this) * • scrollWidth > clientWidth */ export declare function isSingleLineClamped(el: HTMLElement, style?: CSSStyleDeclaration): boolean; /** * Check if an element has scroll overflow. */ export declare function hasScrollOverflow(el: HTMLElement): boolean; /** * Check if an element is overflowing. */ export declare function isOverFlowing(el: HTMLElement | null): boolean; /** * Check if an element is text wrapping. */ export declare const isTextWrapping: (element: HTMLElement | null) => boolean;