import * as React from 'react'; import { OverridableStringUnion } from '@mui/types'; import { OverrideProps } from '@mui/types'; import { CreateSlotsAndSlotProps, SlotCommonProps, SlotProps } from '../types/slot'; import { UsePaginationItem } from '../internal/hooks/usePagination/usePagination.types'; export interface PaginationItemPropsSizeOverrides { } export interface PaginationItemSlots { first?: React.ElementType; last?: React.ElementType; next?: React.ElementType; previous?: React.ElementType; } export type PaginationItemSlotsAndSlotProps = CreateSlotsAndSlotProps>, object, PaginationItemOwnerState>; last: SlotProps>, object, PaginationItemOwnerState>; next: SlotProps>, object, PaginationItemOwnerState>; previous: SlotProps>, object, PaginationItemOwnerState>; }>; export interface PaginationItemOwnerState extends PaginationItemProps { } export interface PaginationItemOwnProps extends PaginationItemSlotsAndSlotProps { /** * If `true`, the component is disabled. * @default false */ disabled?: boolean; /** * The current page number. */ page?: React.ReactNode; /** * If `true` the pagination item is selected. * @default false */ selected?: boolean; /** * The size of the component. * @default 'medium' */ size?: OverridableStringUnion<'small' | 'medium' | 'large', PaginationItemPropsSizeOverrides>; /** * The type of pagination item. * @default 'page' */ type?: UsePaginationItem['type']; } export interface PaginationItemTypeMap { props: AdditionalProps & PaginationItemOwnProps; defaultComponent: RootComponent; } export type PaginationItemProps = OverrideProps, RootComponent> & SlotCommonProps;