import { Component, type ReactNode } from "react"; type Anchor = { element: HTMLElement; key: string | null; text: string | null; top: number; focused?: boolean; }; export type TimelineAnchor = Anchor[]; /** Read ownership synchronously: selectionchange may follow the next React commit. */ export declare function timelineHasReader(scroller: HTMLElement | null): boolean; /** Read the old DOM immediately before React changes it, not when a fetch starts. */ export declare class TimelineBeforeLayout extends Component<{ capture: () => void; children: ReactNode; }> { getSnapshotBeforeUpdate(): null; componentDidUpdate(): void; render(): ReactNode; } export declare function captureTimelineAnchor(scroller: HTMLElement): TimelineAnchor | null; /** Return only the correction native browser anchoring has not already made. */ export declare function timelineAnchorCorrection(scroller: HTMLElement, anchors: TimelineAnchor): number | null; export {};