import { PropTypes } from '..'; import { ExtendButtonBase, ExtendButtonBaseTypeMap } from '../ButtonBase'; import { OverrideProps } from '../OverridableComponent'; export type ButtonTypeMap< P = {}, D extends React.ElementType = 'button' > = ExtendButtonBaseTypeMap<{ props: P & { color?: PropTypes.Color; disableElevation?: boolean; disableFocusRipple?: boolean; endIcon?: React.ReactNode; fullWidth?: boolean; href?: string; size?: 'small' | 'medium' | 'large'; startIcon?: React.ReactNode; variant?: 'text' | 'outlined' | 'contained'; }; defaultComponent: D; classKey: ButtonClassKey; }>; /** * * Demos: * * - [Button Group](https://material-ui.com/components/button-group/) * - [Buttons](https://material-ui.com/components/buttons/) * * API: * * - [Button API](https://material-ui.com/api/button/) * - inherits [ButtonBase API](https://material-ui.com/api/button-base/) */ declare const Button: ExtendButtonBase; export type ButtonProps< D extends React.ElementType = ButtonTypeMap['defaultComponent'], P = {} > = OverrideProps, D>; export type ButtonClassKey = | 'root' | 'label' | 'text' | 'textPrimary' | 'textSecondary' | 'outlined' | 'outlinedPrimary' | 'outlinedSecondary' | 'contained' | 'containedPrimary' | 'containedSecondary' | 'disableElevation' | 'focusVisible' | 'disabled' | 'colorInherit' | 'textSizeSmall' | 'textSizeLarge' | 'outlinedSizeSmall' | 'outlinedSizeLarge' | 'containedSizeSmall' | 'containedSizeLarge' | 'sizeSmall' | 'sizeLarge' | 'fullWidth' | 'startIcon' | 'endIcon' | 'iconSizeSmall' | 'iconSizeMedium' | 'iconSizeLarge'; export default Button;