/** biome-ignore-all lint/a11y/useSemanticElements: Tag uses span as container for inline display; interactive elements inside use proper button elements with aria labels */
import { type VariantProps } from 'class-variance-authority';
import * as React from 'react';
declare const tagVariants: (props?: ({
    size?: "sm" | "md" | "lg" | null | undefined;
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
export type TagSize = 'sm' | 'md' | 'lg';
export type DotColor = 'gray' | 'success' | 'error' | 'warning' | 'brand';
export interface TagProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'children'>, VariantProps<typeof tagVariants> {
    /** The label text for the tag */
    children: React.ReactNode;
    /** Icon element to display (custom icon, country flag, etc.) */
    icon?: React.ReactNode;
    /** Show a status dot indicator */
    dot?: boolean;
    /** Color of the status dot */
    dotColor?: DotColor;
    /** Avatar image URL or custom avatar ReactNode */
    avatar?: string | React.ReactNode;
    /** Alt text for avatar */
    avatarAlt?: string;
    /** Show checkbox */
    checkbox?: boolean;
    /** Checkbox checked state */
    checked?: boolean;
    /** Callback when checkbox changes */
    onCheckedChange?: (checked: boolean) => void;
    /** Show close button */
    removable?: boolean;
    /** Callback when close button is clicked */
    onRemove?: () => void;
    /** Show count badge */
    count?: number;
    /** Whether to use RTL layout */
    rtl?: boolean;
}
declare const Tag: React.ForwardRefExoticComponent<TagProps & React.RefAttributes<HTMLSpanElement>>;
export { Tag, tagVariants };
