import { default as React } from 'react'; import { ToastContentProps } from '../Toast/ToastContent'; import { ConfirmationItem } from '../Button/ButtonComponents/ConfirmationButton'; export type AlertTypes = 'success' | 'error' | 'warning' | 'info'; type BaseAlertProps = ToastContentProps & { /** Optional class can be added */ customClass?: string; /** Optional prop to add a test id to the Alert for QA testing */ qaTestId?: string; }; type AlertPropsWithoutCloseButton = BaseAlertProps & { close?: never; }; type AlertPropsWithCloseButton = BaseAlertProps & { close: { /** Close `Alert` function. */ callout: () => void; /** Hide or show the close button. */ show: boolean; /** Optionally change the behavior for the close button. If set to `confirmation`, then a confirmation will appear when the close button is clicked. */ confirmation?: ConfirmationItem; }; }; export type AlertProps = AlertPropsWithoutCloseButton | AlertPropsWithCloseButton; declare const Alert: ({ customClass, close, qaTestId, ...rest }: AlertProps) => React.JSX.Element; export default Alert;