import * as React from 'react'; export declare const tones: readonly ["assist", "positive", "warn", "info", "critical", "contrast"]; /** * The appearance of a badge, indicating its meaning. */ export type BadgeTone = (typeof tones)[number]; /** * The shape of a badge. */ export type Shape = 'regular' | 'circle'; export declare const wrapInsets: readonly ["-0.5u", "-1u", "0", "0.5u", "1u"]; /** * The amount of space the badge intersects or stands apart from the element it wraps around. * A larger value means the Badge is moved further inside the wrapped element. */ export type WrapInset = (typeof wrapInsets)[number]; /** * The base props for the `Badge` component. */ type BaseBadgeProps = { /** * The appearance of the badge, indicating its meaning. * - "assist": Provides assistance or promotion, e.g., filter count or a new feature introduction. * - "positive": Indicates resolved, or working as expected status. * - "warn": Indicates an unresolved non-critical status or something awaiting user action. * - "info": Indicates a progressing status that does not require user action. * - "critical": Indicates an actionable tally such as items in cart, or a critical status. * - "contrast": Provides neutral or non-critical information. Use when overlaying a background that might be visually complex, changeable, or unpredictable, e.g. images or videos. */ tone: BadgeTone; /** * The text rendered inside the badge. */ text?: string; /** * The shape of the badge. * * @remarks * Badges with short content such as numbers should use a circle badge * * @defaultValue "regular" */ shape?: Shape; /** * A human readable label that appears in a tooltip when the user's cursor hovers over the badge. */ tooltipLabel?: string; /** * A label that describes what the badge represents. * * @remarks * This label is essential for circle badges with short and/or truncated content to ensure accessibility. * For example, a badge showing '10+' to indicate more than 10 unread notifications should have an aria label such as "More than 10 notifications." */ ariaLabel?: string; }; /** * The props for the regular `Badge` component. */ export type RegularBadgeProps = BaseBadgeProps & { shape?: 'regular'; ariaLabel?: string; }; /** * The props for the circle `Badge` component. */ export type CircleBadgeProps = BaseBadgeProps & { shape: 'circle'; ariaLabel: string; }; export type WrapperBadgeProps = { /** * The amount of space the badge intersects or stands apart from the element it wraps around. * A larger wrapInset means the Badge is moved further inside the wrapped element. * @defaultValue '-0.5u' */ wrapInset?: WrapInset; /** * The content the badge is wrapping. */ children?: React.ReactNode; }; /** * The props for the `Badge` component. */ export type BadgeProps = (RegularBadgeProps | CircleBadgeProps) & WrapperBadgeProps; /** * Represents tallies, statuses, and other qualitative attributes on existing elements. */ export declare function Badge(props: BadgeProps): React.JSX.Element; export {};