import { PropTypes } from '..'; import { ExtendButtonBase, ExtendButtonBaseTypeMap } from '../ButtonBase'; import { OverrideProps } from '../OverridableComponent'; export type IconButtonTypeMap< P = {}, D extends React.ElementType = 'button' > = ExtendButtonBaseTypeMap<{ props: P & { color?: PropTypes.Color; disableFocusRipple?: boolean; /** * If given, uses a negative margin to counteract the padding on one * side (this is often helpful for aligning the left or right * side of the icon with content above or below, without ruining the border * size and shape). */ edge?: 'start' | 'end' | false; size?: 'small' | 'medium'; }; defaultComponent: D; classKey: IconButtonClassKey; }>; /** * Refer to the [Icons](https://material-ui.com/components/icons/) section of the documentation * regarding the available icon options. * Demos: * * - [Buttons](https://material-ui.com/components/buttons/) * - [Grid List](https://material-ui.com/components/grid-list/) * * API: * * - [IconButton API](https://material-ui.com/api/icon-button/) * - inherits [ButtonBase API](https://material-ui.com/api/button-base/) */ declare const IconButton: ExtendButtonBase; export type IconButtonClassKey = | 'root' | 'edgeStart' | 'edgeEnd' | 'colorInherit' | 'colorPrimary' | 'colorSecondary' | 'disabled' | 'sizeSmall' | 'label'; export type IconButtonProps< D extends React.ElementType = IconButtonTypeMap['defaultComponent'], P = {} > = OverrideProps, D>; export default IconButton;