import type { Animated, StyleProp, ViewStyle } from 'react-native'; import type { IconName } from '../Icon'; interface BaseBadgeProps extends React.ComponentProps { /** * Whether the Badge is visible. */ visible?: boolean; /** * The maximum number displayed on the badge. If number exceeds this value, `${max}+` are displayed instead. (Only applied when content is number.) */ max?: number; /** * Visual intent color to apply to Badge. */ intent?: 'primary' | 'success' | 'warning' | 'danger' | 'info' | 'archived' | 'neutral'; /** * Additional style. */ style?: StyleProp; /** * Testing id of the component. */ testID?: string; /** * Size of the badge */ size?: 'medium' | 'small'; /** * Variant of the badge */ variant?: 'filled' | 'outlined'; } export interface BasicBadgeProps extends BaseBadgeProps { /** * Content of the Badge. */ content: string | number; /** * Use Icon as the content of the Badge. */ icon?: never; } export interface IconBadgeProps extends BaseBadgeProps { /** * Content of the Badge. */ content?: never; /** * Use Icon as the content of the Badge. */ icon: IconName; } export {};