import { type HTMLAttributes, type ReactNode } from "react";
import { type BackgroundColor } from "../cssUtils.js";
declare module "react" {
    interface CSSProperties {
        "--rmd-badge-size"?: string | number;
        "--rmd-badge-offset"?: string | number;
        "--rmd-badge-offset-top"?: string | number;
        "--rmd-badge-offset-right"?: string | number;
    }
}
/**
 * @remarks \@since 6.0.0 Renamed `"default"` to `"greyscale"` and added all
 * theme colors.
 */
export type BadgeTheme = BackgroundColor | "greyscale" | "clear";
export interface BadgeClassNameOptions {
    className?: string;
    /** @defaultValue `""greyscale` */
    theme?: BadgeTheme;
}
export declare function badge(options?: BadgeClassNameOptions): string;
export interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {
    /** @defaultValue `""greyscale` */
    theme?: BadgeTheme;
    children: ReactNode;
}
/**
 * **Server Component**
 *
 * @example
 * Simple Example
 * ```tsx
 * import type { ReactElement } from "react";
 * import { Badge, Button, MaterialSymbol } from "@react-md/core";
 *
 * function Example(): ReactElement {
 *   return (
 *     <>
 *       <Badge>3</Badge>
 *       <Badge theme="primary">100</Badge>
 *       <Badge theme="secondary">23</Badge>
 *       <Badge theme="greyscale">18</Badge>
 *       <Badge theme="clear">1</Badge>
 *     </>
 *   );
 * }
 * ```
 *
 * @example
 * Within Buttons Example
 * ```tsx
 * import type { ReactElement } from "react";
 * import { Badge, Button, MaterialSymbol } from "@react-md/core";
 *
 * function Example(): ReactElement {
 *   return (
 *     <Button aria-label="Notifications" buttonType="icon">
 *       <Badge>88</Badge>
 *       <MaterialSymbol name="notifications" />
 *     </Button>
 *   );
 * }
 * ```
 *
 * @remarks \@since 6.0.0 Removed the `disableNullOnZero` feature since it's
 * easier just to use condition rendering yourself.
 */
export declare const Badge: import("react").ForwardRefExoticComponent<BadgeProps & import("react").RefAttributes<HTMLSpanElement>>;
