import { AccessibilityProps } from '../shared/index.js';

type BadgeVariant = 'default' | 'primary' | 'secondary' | 'destructive' | 'outline' | 'success' | 'warning';
type BadgeSize = 'sm' | 'md';
interface BadgeProps {
    variant?: BadgeVariant;
    size?: BadgeSize;
}
interface BadgeAPI {
    /** ARIA attributes to spread on the element */
    ariaProps: Partial<AccessibilityProps>;
    /** Data attributes for CSS styling hooks */
    dataAttributes: Record<string, string>;
}
/** Get the icon name for a badge variant (undefined for non-status variants) */
declare function getBadgeIcon(variant: BadgeVariant): string | undefined;
declare function createBadge(props?: BadgeProps): BadgeAPI;

declare const badgeVariants: (props?: ({
    variant?: "default" | "primary" | "secondary" | "destructive" | "outline" | "success" | "warning" | undefined;
    size?: "sm" | "md" | undefined;
} & {
    className?: string;
}) | undefined) => string;

export { type BadgeAPI, type BadgeProps, type BadgeSize, type BadgeVariant, badgeVariants, createBadge, getBadgeIcon };
