import { RefObject } from 'react';
import { SmoothScrollConfig } from './SmoothScrollEngine.types';
import { SmoothScrollAPI } from './useSmoothScroll.types';
/**
 * Custom hook for applying smooth scrolling to any element
 *
 * @param elementRef - Ref to the scrollable element
 * @param config - Smooth scroll configuration
 * @param orientation - Scroll orientation
 * @returns API object for programmatic control, or null if disabled
 *
 * @example
 * ```tsx
 * const ref = useRef<HTMLDivElement>(null);
 * const smoothAPI = useSmoothScroll(ref, {
 *   lerp: 0.1,
 *   elasticEdges: true,
 * });
 *
 * // Programmatic control
 * <button onClick={() => smoothAPI?.scrollTo(500)}>
 *   Scroll to 500px
 * </button>
 * ```
 */
export declare function useSmoothScroll(elementRef: RefObject<HTMLElement> | null, config?: Partial<SmoothScrollConfig>, orientation?: 'vertical' | 'horizontal'): SmoothScrollAPI | null;
