, page: number) => void;
+ /**
+ * The current page.
+ */
+ page?: number;
+ /**
+ * If `true`, show the first-page button.
+ * @default false
+ */
+ showFirstButton?: boolean;
+ /**
+ * If `true`, show the last-page button.
+ * @default false
+ */
+ showLastButton?: boolean;
+ /**
+ * Number of always visible pages before and after the current page.
+ * @default 1
+ */
+ siblingCount?: number;
+}
+
+export interface UsePaginationItem {
+ onClick: React.ReactEventHandler;
+ type: 'page' | 'first' | 'last' | 'next' | 'previous' | 'start-ellipsis' | 'end-ellipsis';
+ page: number;
+ selected: boolean;
+ disabled: boolean;
+}
+
+export interface UsePaginationResult {
+ items: UsePaginationItem[];
+}
+
+export default function usePagination(props: UsePaginationProps): UsePaginationResult;
diff --git a/packages/material-ui-lab/src/PaginationItem/PaginationItem.d.ts b/packages/material-ui-lab/src/PaginationItem/PaginationItem.d.ts
index adf49d899bfed0..8f4b5b6cc8a288 100644
--- a/packages/material-ui-lab/src/PaginationItem/PaginationItem.d.ts
+++ b/packages/material-ui-lab/src/PaginationItem/PaginationItem.d.ts
@@ -1,2 +1,68 @@
-declare const PaginationItem: any;
+import * as React from 'react';
+import { OverridableComponent, OverrideProps } from '@material-ui/core/OverridableComponent';
+import { UsePaginationItem } from '../Pagination/usePagination';
+
+export interface PaginationItemTypeMap {
+ props: P & {
+ /**
+ * The active color.
+ */
+ color?: 'standard' | 'primary' | 'secondary';
+ /**
+ * If `true`, the item will be disabled.
+ */
+ disabled?: boolean;
+ /**
+ * The current page number.
+ */
+ page?: number;
+ /**
+ * If `true` the pagination item is selected.
+ */
+ selected?: boolean;
+ /**
+ * The shape of the pagination item.
+ */
+ shape?: 'round' | 'rounded';
+ /**
+ * The size of the pagination item.
+ */
+ size?: 'small' | 'medium' | 'large';
+ /**
+ * The type of pagination item.
+ */
+ type?: UsePaginationItem['type'];
+ /**
+ * The pagination item variant.
+ */
+ variant?: 'text' | 'outlined';
+ };
+ defaultComponent: D;
+ classKey: PaginationItemClassKey;
+}
+
+declare const PaginationItem: OverridableComponent;
+
+export type PaginationItemClassKey =
+ | 'root'
+ | 'page'
+ | 'sizeSmall'
+ | 'sizeLarge'
+ | 'textPrimary'
+ | 'textSecondary'
+ | 'outlined'
+ | 'outlinedPrimary'
+ | 'outlinedSecondary'
+ | 'rounded'
+ | 'ellipsis'
+ | 'focusVisible'
+ | 'disabled'
+ | 'selected'
+ | 'icon';
+
+export type PaginationItemProps<
+ D extends React.ElementType = PaginationItemTypeMap['defaultComponent'],
+ P = {}
+> = OverrideProps, D>;
+
export default PaginationItem;