import type { ReactNode } from "react";
import type { AvailableSizes } from "../../shared/types";
export type BadgeSize = AvailableSizes;
export type BadgeClassNames = {
    root?: string;
    prefix?: string;
    text?: string;
    suffix?: string;
};
export interface BadgeProps {
    /** Primary badge content rendered inside the label. */
    text: string | number;
    /** Optional leading content rendered before the badge text. */
    prefix?: ReactNode;
    /** Optional trailing content rendered after the badge text. */
    suffix?: ReactNode;
    /** Visual size preset for the badge. */
    size?: BadgeSize;
    /** Class name overrides for badge slots. */
    classNames?: BadgeClassNames;
    /** Whether the badge should render its active visual state. */
    isActive?: boolean;
    /** Called when the badge is clicked. */
    onClick?: (e: React.MouseEvent) => void;
    /** Called when an auxiliary pointer button is clicked (e.g. middle mouse). */
    onAuxClick?: (e: React.MouseEvent) => void;
}
