import { ReactNode } from 'react';

import {
  ButtonPropsColorOverrides,
  ButtonPropsSizeOverrides,
  ButtonPropsVariantOverrides,
} from '@mui/material';

import { OverridableStringUnion } from '@mui/types';
import { ColorVariant, ButtonVariant, SizeVariant, MuiButtonBaseProps } from '../types';

export interface ButtonBaseProps extends MuiButtonBaseProps {
  label?: string;
  children?: ReactNode;
  fullWidth?: boolean;
  color?: OverridableStringUnion<ColorVariant, ButtonPropsColorOverrides>;
  size?: OverridableStringUnion<SizeVariant, ButtonPropsSizeOverrides>;
  variant?: OverridableStringUnion<ButtonVariant, ButtonPropsVariantOverrides>;
}
