
import { DismissReason, NotificationType } from "./types.js";
import { Key, ReactNode } from "react";
import * as react_jsx_runtime0 from "react/jsx-runtime";

//#region src/components/overlays/Notifications/NotificationCard.d.ts
interface NotificationCardProps {
  qa?: string;
  /** Notification theme */
  theme?: NotificationType;
  /** Primary text */
  title?: ReactNode;
  /** Secondary text */
  description?: ReactNode;
  /** Custom icon override (theme default used if omitted) */
  icon?: ReactNode;
  /** Action buttons rendered below description */
  actions?: ReactNode;
  /**
   * Whether the notification shows the default dismiss UI (auto-appended
   * "Dismiss" button and Escape key). Default: true.
   *
   * When false, no default "Dismiss" button is rendered and Escape does
   * nothing, but actions with `closeOnPress` (default) can still close
   * the notification.
   */
  isDismissible?: boolean;
  /** When false the card drops its shadow (e.g. inside a list). Default: true. */
  elevated?: boolean;
  /** Notification id */
  notificationId?: Key;
  /** Called when the notification is dismissed */
  onDismiss?: (id: Key, reason: DismissReason) => void;
  /** Called when a dismissed notification should be restored (async action returned false) */
  onRestore?: (id: Key) => void;
  /** Suffix content (e.g. timestamp) */
  suffix?: ReactNode;
}
/**
 * Shared presentational card used by both overlay NotificationItem
 * and PersistentNotificationListItem.
 */
declare function NotificationCard({
  qa,
  theme,
  title,
  description,
  icon: providedIcon,
  actions,
  isDismissible,
  elevated,
  notificationId,
  onDismiss,
  onRestore,
  suffix
}: NotificationCardProps): react_jsx_runtime0.JSX.Element;
//#endregion
export { NotificationCard, NotificationCardProps };
//# sourceMappingURL=NotificationCard.d.ts.map