import { default as React } from 'react'; import { ScrollContainer, ScrollAwareContainerProps } from './types'; /** * Hook to access scroll container context. */ export declare function useScrollContainerContext(): ScrollContainer | null; /** * Extended props with additional scroll features. */ export interface ExtendedScrollAwareContainerProps extends ScrollAwareContainerProps { /** Maximum height before scroll */ maxHeight?: number | string; /** Whether to show scroll indicators */ showScrollIndicators?: boolean; /** Callback when scroll starts */ onScrollStart?: () => void; /** Callback when scroll ends */ onScrollEnd?: () => void; /** Scroll snap configuration */ scrollSnap?: { type: 'mandatory' | 'proximity'; align: 'start' | 'center' | 'end'; }; } /** * A scroll container that tracks and exposes scroll state. * * @remarks * This component wraps content in a scrollable container and * provides scroll state information to children and callbacks. * * @example * ```tsx * // Basic usage * * * * * // With scroll callbacks * console.log('Scroll:', state.scrollPosition)} * onScrollEdge={(edge) => console.log('Reached:', edge)} * > * * * * // With virtualization (for large lists) * * {items.map((item) => )} * * ``` */ export declare const ScrollAwareContainer: React.ForwardRefExoticComponent>; /** * Hook to get imperative scroll control methods. */ export declare function useScrollControl(): { scrollState: ScrollContainer | null; scrollTo: (options: { x?: number; y?: number; behavior?: 'auto' | 'smooth'; }) => void; scrollBy: (options: { x?: number; y?: number; behavior?: 'auto' | 'smooth'; }) => void; scrollToTop: (behavior?: 'auto' | 'smooth') => void; scrollToBottom: (behavior?: 'auto' | 'smooth') => void; isScrolling: boolean; scrollDirection: string; scrollProgress: { x: number; y: number; }; };