
import { CubeItemProps } from "../../content/Item/Item.js";
import { CubeButtonProps } from "../Button/Button.js";
import { CubeItemActionProps } from "../ItemAction/ItemAction.js";
import * as react_jsx_runtime0 from "react/jsx-runtime";

//#region src/components/actions/Banner/Banner.d.ts
type BannerTheme = 'danger' | 'warning' | 'note' | 'success';
type BannerProps = Omit<CubeItemProps, 'type' | 'size' | 'theme'> & {
  /**
   * The visual theme of the banner.
   * @default 'note'
   */
  theme?: BannerTheme;
  /**
   * Controls whether the banner can be dismissed by the user.
   * @default false
   */
  isDismissible?: boolean;
  /**
   * Callback fired when the dismiss button is clicked.
   */
  onDismiss?: () => void;
};
type BannerActionProps = Omit<CubeItemActionProps, 'preset' | 'type'>;
type BannerLinkProps = Omit<CubeButtonProps, 'type' | 'size' | 'color'>;
/**
 * Sub-component for action buttons within a Banner.
 * Automatically styled to match the banner's theme.
 */
declare function BannerAction(props: BannerActionProps): react_jsx_runtime0.JSX.Element;
/**
 * Sub-component for inline links within Banner content.
 * Styled with white color and underline to stand out against the banner background.
 */
declare function BannerLink(props: BannerLinkProps): react_jsx_runtime0.JSX.Element;
/**
 * Banner displays prominent messages and notifications to users.
 * Supports different themes (danger, warning, note, success) with appropriate icons.
 * Use Banner.Action for action buttons and Banner.Link for inline links.
 */
declare function Banner(props: BannerProps): react_jsx_runtime0.JSX.Element;
declare namespace Banner {
  var Action: typeof BannerAction;
  var Link: typeof BannerLink;
}
//#endregion
export { Banner, BannerAction, BannerActionProps, BannerLink, BannerLinkProps, BannerProps, BannerTheme };
//# sourceMappingURL=Banner.d.ts.map