import { ScrollRegionProps, ScrollRegion } from './scroll-region.js'; import * as react_jsx_runtime from 'react/jsx-runtime'; import * as React from 'react'; /** Default horizontal scroll distance per chevron click (px). */ declare const HORIZONTAL_SCROLL_STEP_PX = 240; interface HorizontalScrollAffordances { canScrollLeft: boolean; canScrollRight: boolean; overflowing: boolean; scrollPrev: () => void; scrollNext: () => void; } /** * Tracks overflow + scroll position for a horizontally scrollable element. * Pair with {@link HorizontalScrollControls} or compose your own chrome. */ declare function useHorizontalScrollAffordances(scrollRef: React.RefObject, stepPx?: number): HorizontalScrollAffordances; /** Pin scroll position to the trailing edge when content grows (breadcrumb trails). */ declare function useHorizontalScrollAlignEnd(scrollRef: React.RefObject, enabled: boolean, deps?: React.DependencyList): void; /** * Keeps an active child visible inside a horizontal scroll viewport (wizards, tab strips). */ declare function useHorizontalScrollItemIntoView(containerRef: React.RefObject, itemRef: React.RefObject, deps?: React.DependencyList): void; type HorizontalScrollControlsLayout = "group" | "split-prev" | "split-next"; interface HorizontalScrollControlsProps { /** Prefix for prev/next `aria-label`s (e.g. "Views", "Breadcrumb"). */ ariaLabel: string; layout?: HorizontalScrollControlsLayout; canScrollLeft: boolean; canScrollRight: boolean; onScrollPrev: () => void; onScrollNext: () => void; className?: string; } /** * Shared prev/next chevron control for horizontally overflowed rows. * * - **`group`** — segmented `[← | →]` button (default for view tabs, breadcrumbs). * - **`split-prev` / `split-next`** — single chevron for flanking layouts. */ declare function HorizontalScrollControls({ ariaLabel, layout, canScrollLeft, canScrollRight, onScrollPrev, onScrollNext, className, }: HorizontalScrollControlsProps): react_jsx_runtime.JSX.Element; /** Tailwind classes for a clipped horizontal scroll viewport (scrollbar hidden). */ declare const horizontalScrollViewportClassName = "flex min-w-0 flex-1 items-center overflow-x-auto [scrollbar-width:none] [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden"; type HorizontalScrollViewportProps = React.ComponentProps; /** * Horizontal scroll viewport with keyboard access — use with * {@link useHorizontalScrollAffordances} + {@link HorizontalScrollControls} * when not using {@link HorizontalScrollRegion}. */ declare const HorizontalScrollViewport: React.ForwardRefExoticComponent & React.RefAttributes, "ref"> & React.RefAttributes>; export { HORIZONTAL_SCROLL_STEP_PX, type HorizontalScrollAffordances, HorizontalScrollControls, type HorizontalScrollControlsLayout, type HorizontalScrollControlsProps, HorizontalScrollViewport, type HorizontalScrollViewportProps, horizontalScrollViewportClassName, useHorizontalScrollAffordances, useHorizontalScrollAlignEnd, useHorizontalScrollItemIntoView };