/** Primary hub scrollport — set on `PrimaryPageTemplate` body wrapper in apps/web. */ declare const PAGE_SCROLL_ATTR = "data-page-scroll"; /** Breadcrumb / site chrome — bottom edge is the table sticky-header pin line. */ declare const SITE_HEADER_ATTR = "data-site-header"; /** * The element that vertically scrolls hub page content (not `window`). * Falls back to `#main-content` for legacy shells. */ declare function getPageScrollElement(): HTMLElement | null; /** * Viewport Y where floating table column headers should pin — bottom of * `SiteHeader` when present, else `--header-height` (48px). */ declare function getStickyTableHeaderOffset(): number; /** Subscribe to vertical scroll sources that move tables relative to the viewport. */ declare function bindVerticalScrollListeners(onScroll: () => void): () => void; export { PAGE_SCROLL_ATTR, SITE_HEADER_ATTR, bindVerticalScrollListeners, getPageScrollElement, getStickyTableHeaderOffset };