/** A sideways strip's two questions as arithmetic, since a unit test has no rendered box. `stripEdges`: * which end hides content, since a flush last item looks like a complete strip. `scrollToShow`: where to * stand so one item is wholly visible, since a record opened at its fourth stage must not show the first. */ /** Edges in any one coordinate system, both boxes read in the same one. */ export interface StripEdge { left: number; right: number; } /** A sub-pixel `scrollWidth` excess is not a hidden item; `scrollLeft` is negative in RTL, so distance is * read as a magnitude. */ export declare function stripEdges(scrollLeft: number, scrollWidth: number, clientWidth: number): { behind: boolean; ahead: boolean; }; /** `null` when already in view, so a caller never writes a no-op scroll. Scrolls the shorter way, to the * trailing edge and no further, keeping earlier stages on screen. `pad` leaves some of what is behind * showing, so the strip reads as continuing. */ export declare function scrollToShow(box: StripEdge, item: StripEdge, scrollLeft: number, pad?: number): number | null;