import * as React$1 from 'react'; type TagSize = "sm" | "md" | "lg"; interface TagProps extends Omit, "prefix"> { /** * Maps to aria-pressed and selected filter styling on the default button. * With asChild, pass semantics supported by the child element explicitly. * @default false */ active?: boolean; /** * Alias for active. * @default false */ selected?: boolean; /** * Optional prefix / key label (e.g. "Status", "Author", "Environment"). Rendered in 90% size and muted text. */ prefix?: React$1.ReactNode; /** * Optional suffix element / text. Rendered in 90% size and muted text. */ suffix?: React$1.ReactNode; /** * Callback when the cross icon is clicked in the selected state. */ onDismiss?: (e: React$1.MouseEvent) => void; /** * Accessible label for the dismiss cross icon. * @default "Remove filter" */ dismissAriaLabel?: string; /** * Tag scale. Maintains exact token height, padding, font-size, and pill radius. * @default "md" */ size?: TagSize; /** * Render as a child element via Radix Slot. * @default false */ asChild?: boolean; } type TagCountProps = React$1.ComponentProps<"span">; declare function TagCount({ className, ref, ...props }: TagCountProps): React.ReactElement; declare function TagRoot({ className, active, selected, prefix, suffix, onDismiss, dismissAriaLabel, size, asChild, type, children, ref, ...props }: TagProps): React.ReactElement; declare namespace TagRoot { var displayName: string; } /** * @module Tag * Description for Tag component. */ declare const Tag: typeof TagRoot & { displayName: string; Count: typeof TagCount; }; export { Tag, type TagCountProps, type TagProps, type TagSize };