import * as React from 'react'; import { ConfigConsumerProps } from '../config-provider'; import ErrorBoundary from './ErrorBoundary'; export interface AlertProps { /** * Type of Alert styles, options:`success`, `info`, `warning`, `error` */ type?: 'success' | 'info' | 'warning' | 'error'; greyBackground?: boolean; noBackground?: boolean; /** Whether Alert can be closed */ closable?: boolean; /** Close text to show */ closeText?: React.ReactNode; /** Content of Alert */ message: React.ReactNode; /** Additional content of Alert */ description?: React.ReactNode; /** Callback when close Alert */ onClose?: React.MouseEventHandler; /** Trigger when animation ending of Alert */ afterClose?: () => void; /** Whether to show icon */ showIcon?: boolean; /** https://www.w3.org/TR/2014/REC-html5-20141028/dom.html#aria-role-attribute */ role?: string; style?: React.CSSProperties; prefixCls?: string; className?: string; banner?: boolean; icon?: React.ReactNode; onMouseEnter?: React.MouseEventHandler; onMouseLeave?: React.MouseEventHandler; onClick?: React.MouseEventHandler; } export interface AlertState { closing: boolean; closed: boolean; } export default class Alert extends React.Component { static ErrorBoundary: typeof ErrorBoundary; state: { closing: boolean; closed: boolean; }; handleClose: (e: React.MouseEvent) => void; animationEnd: () => void; getShowIcon(): boolean | undefined; getType(): "error" | "success" | "warning" | "info"; getClosable(): boolean | undefined; getIconType(): React.FC; renderIconNode({ prefixCls }: { prefixCls: string; }): JSX.Element; renderCloseIcon({ prefixCls }: { prefixCls: string; }): JSX.Element | null; renderAlert: ({ getPrefixCls, direction }: ConfigConsumerProps) => JSX.Element | null; render(): JSX.Element; }