import { Reactive } from 'vue';
interface Config<T> {
    onFetch: (from: number, length: number) => Promise<T[]>;
    chunkSize?: number;
    margin?: number;
    size?: number;
    data?: Reactive<T[]>;
}
export declare function useLazyData<T>(opt: Config<T>): {
    setSize: (size: number) => void;
    getSize: () => number;
    setVisible: (fromPos: number, length: number) => void;
    reload: () => void;
    data: Reactive<(T | null)[]>;
};
export {};
