import { ReactNode } from 'react';
import { Theme } from '@emotion/react';

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

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

export interface IconButtonBaseProps extends MuiIconButtonBaseProps {
  sx?: SxProps<Theme>;
  children?: ReactNode;
  circle?: boolean;
  cursor?: string;
  color?: OverridableStringUnion<ColorVariant, ButtonPropsColorOverrides>;
  size?: OverridableStringUnion<SizeVariant, ButtonPropsSizeOverrides>;
  variant?: OverridableStringUnion<ButtonVariant, ButtonPropsVariantOverrides>;
}
