import * as react_jsx_runtime from 'react/jsx-runtime'; import * as React from 'react'; import { Button } from './button.js'; import 'class-variance-authority/types'; import 'class-variance-authority'; type MessageScrollerDefaultScrollPosition = "start" | "end" | "last-anchor"; type MessageScrollerScrollAlign = "start" | "center" | "end" | "nearest"; type MessageScrollerScrollOptions = { align?: MessageScrollerScrollAlign; behavior?: ScrollBehavior; scrollMargin?: number; }; type MessageScrollerScrollable = { /** Content is hidden above — can scroll toward the start. */ start: boolean; /** Content is hidden below — can scroll toward the end. */ end: boolean; }; type MessageScrollerVisibilityState = { currentAnchorId: string | null; visibleMessageIds: string[]; }; declare function useMessageScroller(): { scrollToEnd: (options?: MessageScrollerScrollOptions) => boolean; scrollToStart: (options?: MessageScrollerScrollOptions) => boolean; scrollToMessage: (messageId: string, options?: MessageScrollerScrollOptions) => boolean; releaseAutoScroll: () => void; scrollable: MessageScrollerScrollable; isAtBottom: boolean; }; declare function useMessageScrollerScrollable(): MessageScrollerScrollable; declare function useMessageScrollerVisibility(): MessageScrollerVisibilityState; declare function MessageScrollerProvider({ autoScroll, defaultScrollPosition, scrollEdgeThreshold, scrollPreviousItemPeek, scrollMargin, children, }: { autoScroll?: boolean; defaultScrollPosition?: MessageScrollerDefaultScrollPosition; scrollEdgeThreshold?: number; scrollPreviousItemPeek?: number; scrollMargin?: number; children: React.ReactNode; }): react_jsx_runtime.JSX.Element; declare function MessageScroller({ className, ref, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element; declare function MessageScrollerViewport({ className, ref, onScroll, onWheel, onTouchMove, onKeyDown, onPointerDown, preserveScrollOnPrepend, role, "aria-label": ariaLabel, tabIndex, ...props }: React.ComponentProps<"div"> & { preserveScrollOnPrepend?: boolean; }): react_jsx_runtime.JSX.Element; declare function MessageScrollerContent({ className, children, ref, spacerClassName, ...props }: React.ComponentProps<"div"> & { spacerClassName?: string; }): react_jsx_runtime.JSX.Element; declare function MessageScrollerItem({ className, scrollAnchor, messageId, children, ...props }: React.ComponentProps<"div"> & { scrollAnchor?: boolean; messageId?: string; }): react_jsx_runtime.JSX.Element; declare function MessageScrollerButton({ direction, behavior, className, children, variant, size, ...props }: React.ComponentProps<"button"> & { direction?: "start" | "end"; behavior?: ScrollBehavior; variant?: React.ComponentProps["variant"]; size?: React.ComponentProps["size"]; }): react_jsx_runtime.JSX.Element; export { MessageScroller, MessageScrollerButton, MessageScrollerContent, type MessageScrollerDefaultScrollPosition, MessageScrollerItem, MessageScrollerProvider, type MessageScrollerScrollAlign, type MessageScrollerScrollOptions, type MessageScrollerScrollable, MessageScrollerViewport, type MessageScrollerVisibilityState, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility };