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

import { BadgePropsColorOverrides, BadgePropsVariantOverrides, SxProps } from '@mui/material';
import { MuiBadgeBaseProps } from '@/types';
import { OverridableStringUnion } from '@mui/types';

export interface BadgeBaseProps extends MuiBadgeBaseProps {
  sx?: SxProps<Theme>;
  className?: string;
  children?: ReactNode;
  badgeContent?: ReactNode;
  invisible?: boolean;
  color?: OverridableStringUnion<
    'primary' | 'secondary' | 'default' | 'error' | 'info' | 'success' | 'warning',
    BadgePropsColorOverrides
  >;
  variant?: OverridableStringUnion<'standard' | 'dot', BadgePropsVariantOverrides>;
}
