type BadgeBase = { theme?: 'secondary' | 'outline' | 'flat' | 'info' | 'success' | 'warning' | 'alert' hover?: boolean small?: boolean rounded?: boolean transparent?: boolean className?: string } type AsSpan = BadgeBase & { onClick?: never } & T type AsButton = BadgeBase & { onClick: any } & T export type BadgeProps = | AsSpan | AsButton