import React from 'react';
import './pagination-new.less';
export type PaginationParams = {
    selectedPage: number;
    itemsPerPage: number;
    total: number;
    totalLimit?: number;
    isExceededTotalLimit?: boolean;
};
export type PaginationLocalizationType = {
    nextBtnText: string;
    previousBtnText: string;
    paginationGroupText: string;
    getSelectedPageSizeText: (itemsPerPage: number, totalItems: number) => string;
    getPaginationSummaryText: (paginationParams: PaginationParams) => string;
};
export type PaginationNewPropsType = {
    /** index of currently selected page */
    selectedPage: number;
    /** total number of items */
    total: number;
    /** number of items per page */
    itemsPerPage: number;
    /** Possible items per page options */
    pageSizeOptions?: number[];
    /** Callback to be invoked upon page change */
    onPageSelect: (newPage: number) => void;
    /** Callback to be invoked upon items per page change */
    onItemsPerPageChange: (itemsPerPage: number) => unknown;
    /** Shows skeleton instead of pagination controls */
    isLoading?: boolean;
    nextBtnText?: PaginationLocalizationType['nextBtnText'];
    previousBtnText?: PaginationLocalizationType['previousBtnText'];
    paginationGroupText?: PaginationLocalizationType['paginationGroupText'];
    getSelectedPageSizeText?: PaginationLocalizationType['getSelectedPageSizeText'];
    getPaginationSummaryText?: PaginationLocalizationType['getPaginationSummaryText'];
    /** Limit for the total number. (If total is gte than total limit "<totalLimit>+" will be rendered in the label e.g. 1-100 of 3000+) */
    totalLimit?: number;
    isExceededTotalLimit?: boolean;
    /** Determines if nextPage is available */
    nextPage?: boolean;
};
/**
 * New Pagination component to be used with new table component and likely in other places where pagination is needed
 * Designed for UXR only UI.
 * @midnight-gray-supported
 * @alpine-light-supported
 * @uxr-only-supported
 */
declare function PaginationNew({ selectedPage, total, totalLimit, isExceededTotalLimit, nextPage, itemsPerPage, pageSizeOptions, onPageSelect, onItemsPerPageChange, isLoading, nextBtnText: nextBtnTextParams, previousBtnText: previousBtnTextParams, paginationGroupText, getSelectedPageSizeText, getPaginationSummaryText, }: PaginationNewPropsType): import("react/jsx-runtime").JSX.Element;
declare const _default: React.MemoExoticComponent<typeof PaginationNew>;
export default _default;
