import { ScrollProgress, ScrollToOptions, SmoothScrollConfigUpdate } from './SmoothScrollEngine.types';
/**
 * API object returned by useSmoothScroll hook
 * Provides programmatic control over smooth scrolling
 */
export interface SmoothScrollAPI {
    /**
     * Programmatically scroll to a position
     * @param position - Target scroll position in pixels
     * @param options - Animation options
     */
    scrollTo: (position: number, options?: ScrollToOptions) => void;
    /**
     * Scroll to a specific element
     * @param element - Target element to scroll to
     * @param options - Animation options
     */
    scrollToElement: (element: HTMLElement, options?: ScrollToOptions) => void;
    /**
     * Get current scroll velocity
     * @returns Velocity in pixels per frame
     */
    getVelocity: () => number;
    /**
     * Get current scroll progress
     * @returns Scroll progress information
     */
    getProgress: () => ScrollProgress | null;
    /**
     * Pause smooth scrolling
     */
    stop: () => void;
    /**
     * Resume smooth scrolling
     */
    start: () => void;
    /**
     * Update configuration
     * @param config - Partial configuration to update
     */
    update: (config: SmoothScrollConfigUpdate) => void;
    /**
     * Refresh snap points (call when DOM changes)
     */
    refreshSnapPoints: () => void;
}
