import * as React from 'react'; import { OverridableComponent, OverrideProps } from '@material-ui/core/OverridableComponent'; import { Omit } from '@material-ui/types'; import { TablePaginationActionsProps } from '@material-ui/core/TablePagination/TablePaginationActions'; import { TableCellProps } from '@material-ui/core/TableCell'; import { IconButtonProps } from '@material-ui/core/IconButton'; import { SelectProps } from '@material-ui/core/Select'; export interface LabelDisplayedRowsArgs { from: number; to: number; count: number; page: number; } export interface TablePaginationTypeMap { props: P & TablePaginationBaseProps & { ActionsComponent?: React.ElementType; backIconButtonText?: string; backIconButtonProps?: Partial; count: number; labelDisplayedRows?: (paginationInfo: LabelDisplayedRowsArgs) => React.ReactNode; labelRowsPerPage?: React.ReactNode; nextIconButtonProps?: Partial; nextIconButtonText?: string; /** * Callback fired when the page is changed. * * @param {object} event The event source of the callback. * @param {number} page The page selected. * @deprecated Use the onPageChange prop instead. */ onChangePage?: (event: React.MouseEvent | null, page: number) => void; onPageChange: (event: React.MouseEvent | null, page: number) => void; /** * Callback fired when the number of rows per page is changed. * * @param {object} event The event source of the callback. * @deprecated Use the onRowsPerPageChange prop instead. */ onChangeRowsPerPage?: React.ChangeEventHandler; onRowsPerPageChange?: React.ChangeEventHandler; page: number; rowsPerPage: number; rowsPerPageOptions?: Array; SelectProps?: Partial; }; defaultComponent: D; classKey: TablePaginationClassKey; } /** * A `TableCell` based component for placing inside `TableFooter` for pagination. * Demos: * * - [Tables](https://mui.com/components/tables/) * * API: * * - [TablePagination API](https://mui.com/api/table-pagination/) * - inherits [TableCell API](https://mui.com/api/table-cell/) */ declare const TablePagination: OverridableComponent >>; export type TablePaginationClassKey = | 'root' | 'toolbar' | 'spacer' | 'menuItem' | 'caption' | 'input' | 'selectRoot' | 'select' | 'selectIcon' | 'actions'; export type TablePaginationBaseProps = Omit; export type TablePaginationProps< D extends React.ElementType = React.ComponentType, P = {} > = OverrideProps, D>; export default TablePagination;