import { Ref } from 'vue';
export type UseVirtualListTargetValue<T> = T | undefined | null;
export interface UseVirtualListOptions<T> {
    wrapperTarget: Ref<UseVirtualListTargetValue<HTMLElement>>;
    itemHeight: number | ((index: number, data: T) => number);
    overscan?: number;
}
declare const useVirtualList: <T = any>(list: Ref<T[]>, options: UseVirtualListOptions<T>) => readonly [Ref<{
    index: number;
    data: T;
}[], {
    index: number;
    data: Ref<T>;
}[] | {
    index: number;
    data: T;
}[]>, {
    ref: (ele: any) => void;
    onScroll: (e: any) => void;
}, (index: number) => void];
export default useVirtualList;
