import type { ComputedRef, Ref } from 'vue'; import type { Options, QueryResult } from './core/types'; export declare type DataType = { list: any[]; [key: string]: any; }; export declare type LoadMoreService = (data?: R) => Promise; export declare type LoadMoreBaseOptions = Pick, 'ready' | 'manual' | 'refreshDeps' | 'refreshDepsAction' | 'debounceInterval' | 'debounceOptions' | 'throttleInterval' | 'throttleOptions' | 'errorRetryCount' | 'errorRetryInterval'> & { dataListKey?: string; isNoMore?: (data?: R) => boolean; onBefore?: () => void; onAfter?: () => void; onSuccess?: (data: R) => void; onError?: (error: Error) => void; }; declare type LoadMoreQueryResult = Pick, 'data' | 'loading' | 'error' | 'refresh' | 'refreshAsync' | 'cancel' | 'mutate'> & { dataList: ComputedRef; noMore: ComputedRef; loadingMore: Ref; loadMore: () => void; loadMoreAsync: () => Promise; }; declare function useLoadMore(service: LoadMoreService, options?: LoadMoreBaseOptions): LoadMoreQueryResult; export default useLoadMore;