import { Setter, Accessor } from 'solid-js'; import { MaybeAccessor } from '@solidjs-use/shared'; interface UseOffsetPaginationOptions { /** * Total number of items. */ total?: MaybeAccessor; /** * The number of items to display per page. * @default 10 */ pageSize?: MaybeAccessor; /** * Set per page. */ setPageSize?: Setter; /** * The current page number. * @default 1 */ page?: MaybeAccessor; /** * Set current page. */ setPage?: Setter; /** * Callback when the `page` change. */ onPageChange?: (returnValue: UseOffsetPaginationReturn) => unknown; /** * Callback when the `pageSize` change. */ onPageSizeChange?: (returnValue: UseOffsetPaginationReturn) => unknown; /** * Callback when the `pageCount` change. */ onPageCountChange?: (returnValue: UseOffsetPaginationReturn) => unknown; } interface UseOffsetPaginationReturn { currentPage: Accessor; setCurrentPage: Setter; currentPageSize: Accessor; setCurrentPageSize: Setter; pageCount: Accessor; isFirstPage: Accessor; isLastPage: Accessor; prev: () => void; next: () => void; } type UseOffsetPaginationInfinityPageReturn = Omit; /** * Reactive offset pagination. * * @see https://solidjs-use.github.io/solidjs-use/core/useOffsetPagination */ declare function useOffsetPagination(options: Omit): UseOffsetPaginationInfinityPageReturn; declare function useOffsetPagination(options: UseOffsetPaginationOptions): UseOffsetPaginationReturn; export { UseOffsetPaginationInfinityPageReturn, UseOffsetPaginationOptions, UseOffsetPaginationReturn, useOffsetPagination };