import * as React from "react";

interface MDBoxProps {
  /**
   * Variant of the box.
   * @default "contained"
   */
  variant?: "contained" | "gradient";

  /**
   * Background color of the box.
   * @default "transparent"
   */
  bgColor?: string;

  /**
   * Text color of the box.
   * @default "dark"
   */
  color?: string;

  /**
   * Opacity of the box.
   * @default 1
   */
  opacity?: number;

  /**
   * Border radius of the box.
   * @default "none"
   */
  borderRadius?: string;

  /**
   * Shadow of the box.
   * @default "none"
   */
  shadow?: string;

  /**
   * Colored shadow of the box.
   * @default "none"
   */
  coloredShadow?: "primary" | "secondary" | "info" | "success" | "warning" | "error" | "light" | "dark" | "none";

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

/**
 * MDBox is a customizable box component with support for variants, colors, opacity, and shadows.
 */
declare const MDBox: React.ForwardRefExoticComponent<
  MDBoxProps & React.RefAttributes<HTMLDivElement>
>;

export default MDBox;