import { Ref } from 'vue'; export interface UsePaginationOptions { defaultPageSize?: number; defaultCurrent?: number; immediate?: boolean; isNoMore?: (rest: any) => boolean; } export interface PaginationResult { list: T[]; total: number; } export interface UsePaginationReturn { loading: Ref; data: Ref; total: Ref; current: Ref; pageSize: Ref; noMore: Ref; run: (current?: number, pageSize?: number) => Promise; refresh: () => Promise; reload: () => Promise; loadMore: () => Promise; changeCurrent: (page: number) => void; changePageSize: (size: number) => void; } type Service = (current: number, pageSize: number) => Promise>; export declare function usePagination(service: Service, options?: UsePaginationOptions): UsePaginationReturn; export {};