import * as React from 'react'; import { OverridableComponent, OverrideProps } from '../OverridableComponent'; import { Omit } from '@material-ui/types'; import { TablePaginationActionsProps } from './TablePaginationActions'; import { TableCellProps } from '../TableCell'; import { IconButtonProps } from '../IconButton'; import { SelectProps } from '../Select'; export interface LabelDisplayedRowsArgs { from: number; to: number; count: number; page: number; } export interface TablePaginationTypeMap { props: P & TablePaginationBaseProps & { ActionsComponent?: React.ElementType; backIconButtonProps?: Partial; count: number; labelDisplayedRows?: (paginationInfo: LabelDisplayedRowsArgs) => React.ReactNode; labelRowsPerPage?: React.ReactNode; nextIconButtonProps?: Partial; onChangePage: (event: React.MouseEvent | null, page: number) => void; onChangeRowsPerPage?: 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://material-ui.com/components/tables/) * * API: * * - [TablePagination API](https://material-ui.com/api/table-pagination/) * - inherits [TableCell API](https://material-ui.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;