import React from "react"; import { TagProps } from "../../__internal__/utils/helpers/tags"; type PageSizeOption = { id: string; name: number; }; export interface PagerProps extends TagProps { /** Function called when pager changes (Current page, Page size, Origin component). */ onPagination: (currentPage: number, pageSize: number, origin: string) => void; /** Callback function for the Next button. */ onNext?: (ev: React.MouseEvent | React.KeyboardEvent) => void; /** Callback function for the First button. */ onFirst?: (ev: React.MouseEvent | React.KeyboardEvent) => void; /** Callback function for the Previous button. */ onPrevious?: (ev: React.MouseEvent | React.KeyboardEvent) => void; /** Callback function for the Last button. */ onLast?: (ev: React.MouseEvent | React.KeyboardEvent) => void; /** Current visible page. */ currentPage?: number | string; /** Flag to set if the current page number renders as an input. */ interactivePageNumber?: boolean; /** Total number of records, used to calculate the total number of pages. */ totalRecords?: number | string; /** Number of records per page. */ pageSize?: number | string; /** Flag to render the page size selection input. */ showPageSizeSelection?: boolean; /** List of page size options. */ pageSizeSelectionOptions?: PageSizeOption[]; /** Flag to render "First" and "Last" navigation buttons. */ showFirstAndLastButtons?: boolean; /** The component's variant. */ variant?: "default" | "alternate"; /** Size of the component. */ size?: "small" | "medium" | "large"; /** Set an accessible label for the Pagination nav */ "aria-label"?: string; /** * If true, sets css property visibility: hidden on all disabled elements. * @deprecated Support to disable elements has been removed. */ hideDisabledElements?: boolean; /** * Should the label before the page size selection dropdown be shown. * @deprecated Support for this prop has been removed. Labels for page size selection are always shown. */ showPageSizeLabelBefore?: boolean; /** * Should the label after the page size selection dropdown be shown. * @deprecated Support for this prop has been removed. Labels for page size selection are always shown. */ showPageSizeLabelAfter?: boolean; /** * Should the total records label be shown. * @deprecated Support to render total records has been removed. */ showTotalRecords?: boolean; /** * Should the `Previous` and `Next` navigation buttons be shown. * @deprecated Support to show or hide "Previous" and "Next" buttons has been removed. Their visibility is managed internally. */ showPreviousAndNextButtons?: boolean; /** * Should the page count input be shown * @deprecated Support to show or hide page count input has been removed. The page count is always shown. */ showPageCount?: boolean; /** * Breakpoint for small screen styling to be applied. * @deprecated This component is now responsive by default and support for this prop has been removed. */ smallScreenBreakpoint?: string; } export declare const Pagination: ({ currentPage, interactivePageNumber, pageSizeSelectionOptions, pageSize, showPageSizeSelection, totalRecords, onPagination, onNext, onFirst, onPrevious, onLast, showFirstAndLastButtons, variant, size, "aria-label": ariaLabel, ...rest }: PagerProps) => React.JSX.Element; export default Pagination;