import { default as React } from 'react';
interface UseVirtualScrollOptions<T> {
    items: T[];
    itemHeight: number;
    containerHeight: number;
    overscan?: number;
}
interface UseVirtualScrollResult<T> {
    virtualItems: Array<{
        item: T;
        index: number;
        offsetTop: number;
    }>;
    containerProps: {
        ref: React.RefObject<HTMLDivElement | null>;
        style: React.CSSProperties;
        onScroll: (event: React.UIEvent) => void;
    };
    innerProps: {
        style: React.CSSProperties;
    };
    scrollInfo: {
        scrollTop: number;
        viewportHeight: number;
        totalHeight: number;
        startIndex: number;
        endIndex: number;
    };
    scrollToIndex: (index: number) => void;
}
/**
 * A custom hook to implement virtual scrolling for a list of items.
 *
 * @param items - The list of items to be displayed
 * @param itemHeight - Height of each item in pixels
 * @param containerHeight - Height of the visible container
 * @param overscan - Number of extra items to render above/below viewport
 */
export declare function useVirtualListScroll<T>({ items, itemHeight, containerHeight, overscan, }: UseVirtualScrollOptions<T>): UseVirtualScrollResult<T>;
export {};
//# sourceMappingURL=useVirtualListScroll.d.ts.map