import { Ref } from 'vue';
import { TScroll } from '../common';
export type UseVirtualScrollParams = Ref<{
    data: {
        [key: string]: any;
    }[];
    scroll: TScroll & {
        fixedRows?: Array<number>;
    };
    preventResizeRefresh?: boolean;
}>;
export interface ScrollToElementParams {
    index: number;
    top?: number;
    time?: number;
    behavior?: 'auto' | 'smooth';
}
declare const useVirtualScroll: (container: Ref<HTMLElement | null>, params: UseVirtualScrollParams) => {
    visibleData: Ref<any[]>;
    translateY: Ref<number>;
    scrollHeight: Ref<number>;
    isVirtualScroll: import("vue").ComputedRef<boolean>;
    handleScroll: () => void;
    handleRowMounted: (rowData: any) => void;
    scrollToElement: (p: ScrollToElementParams) => void;
};
export type VirtualScrollConfig = ReturnType<typeof useVirtualScroll>;
export default useVirtualScroll;
