import "./follow_scroll.css"; import type * as React from "react"; import { type ReactNode } from "react"; import { useRender } from "@base-ui/react/use-render"; import { type StyleProps } from "./style_props"; export interface FollowScrollProps extends StyleProps { children?: ReactNode; /** * Offer the way BACK to the newest content — a floating disc that appears once * the reader has scrolled more than a hundred pixels off the bottom, and * scrolls them there. * * The follower owns it because the follower is the only thing that knows: the * distance, the scroll, and the moment the pin was released. Its wording is * the locale pack's; pass `jumpLabel` for one instance. */ showJumpToLatest?: boolean; /** Names the jump control — its tooltip and its accessible name. Defaults to * the pack's `scrollToBottom.tooltip`. */ jumpLabel?: string; testID?: string; ref?: React.Ref; render?: useRender.RenderProp; } /** * A scroll container that FOLLOWS its growing content — pinned to the bottom, it * keeps the newest content in view as children stream in (an `AgentRun` in a * dialog, a log feed). Scrolling up releases the pin so the human can read * history; scrolling back to the bottom re-pins, and `showJumpToLatest` offers * the disc that gets there in one press. * * THE HEIGHT BOUND IS THE CALLER'S — put the `max-height` / `height` / `flex` * on the root through `style` or `className`. Without one the container never * overflows and there is nothing to follow. * * The follow happens at LAYOUT level, in `flex-direction: column-reverse`: the * browser paints each growth already pinned, with no scroll-after-paint flash * and no scroll math to keep in step with the content. Short content still * reads top-down, because the content part carries `margin-block-end: auto` — * see `follow_scroll.css` for why an auto margin rather than a `justify-content` * on the port. That replaces an inverted single-cell list, whose double-flip * also flipped the scrollbar's own direction. */ export declare function FollowScroll(props: FollowScrollProps): React.ReactElement>;