import { PaginationState } from '@jetshop/core/components/Pagination/PaginationContext'; import React from 'react'; export interface PaginationProps extends PaginationState { total: number; children(props: PaginationBehaviourRenderProps): React.ReactNode; } export interface TotalPagesState { totalPages: number; } export interface PaginationBehaviourRenderProps { /** The total number of items */ totalItems: number; /** The total number of pages */ totalPages: number; /** The current page number */ currentPage: number; /** Navigate to the next page */ nextPage: () => void; /** Navigate to the previous page */ prevPage: () => void; /** Navigate to given page number */ goToPage: (page: number) => void; setProductsPerPage: (perPage: number) => void; /** Whether the current page is the first */ isFirstPage: boolean; /** Whether the current page is the last */ isLastPage: boolean; /** Whether there are pages to render */ hasPages: boolean; className?: string; } export default class PaginationBehaviour extends React.Component { constructor(props: PaginationProps); componentDidMount(): void; componentDidUpdate(prevProps: PaginationProps): void; setTotalPages: () => number; nextPage: () => void; prevPage: () => void; getStateAndProps: () => { totalItems: number; totalPages: number; currentPage: number; prevPage: () => void; nextPage: () => void; goToPage: (page: number, options?: import("@jetshop/core/components/Pagination/PaginationContext").GoToPageOptions) => void; setProductsPerPage: (perPage: number) => void; isFirstPage: boolean; isLastPage: boolean; hasPages: boolean; }; render(): React.ReactNode; }