import * as React from "react";

interface MDBadgeProps {
  /**
   * Color of the badge.
   * @default "info"
   */
  color?: "primary" | "secondary" | "info" | "success" | "warning" | "error" | "light" | "dark";

  /**
   * Variant of the badge.
   * @default "gradient"
   */
  variant?: "gradient" | "contained";

  /**
   * Size of the badge.
   * @default "sm"
   */
  size?: "xs" | "sm" | "md" | "lg";

  /**
   * Whether the badge is circular.
   * @default false
   */
  circular?: boolean;

  /**
   * Whether the badge is used as an indicator.
   * @default false
   */
  indicator?: boolean;

  /**
   * Whether the badge has a border.
   * @default false
   */
  border?: boolean;

  /**
   * Whether the badge is used as a container.
   * @default false
   */
  container?: boolean;

  /**
   * The content of the badge.
   */
  children?: React.ReactNode;

  /**
   * Additional props passed to the root element.
   */
  [key: string]: any;
}

/**
 * MDBadge is a customizable badge component with support for colors, variants, sizes, and more.
 */
declare const MDBadge: React.ForwardRefExoticComponent<
  MDBadgeProps & React.RefAttributes<HTMLSpanElement>
>;

export default MDBadge;