import { type CSSProperties, type ReactNode, type SyntheticEvent } from 'react';
export type AlertSeverity = 'info' | 'success' | 'warning' | 'error';
export type AlertProps = {
    /**
     * Тип оповещения
     */
    severity?: AlertSeverity;
    /**
     * @example <Alert title="Заголовок">Сообщение</Alert>
     * Заголовок
     */
    title?: string;
    /**
     * @example <Alert actions={
     *   <>
     *     <button>действие 1</button>
     *     <button>действие 2</button>
     *   </>
     * }>Сообщение</Alert>
     * Используется для отображения набора действий
     */
    actions?: ReactNode;
    /**
     * @example <Alert display={false}>Сообщение</Alert>
     * Флаг для отображения/скрытия компонента Alert
     */
    display?: boolean;
    /**
     * Обработчик, для выполнения дополнительных действий при закрытии
     */
    onClose?: (event: SyntheticEvent) => void;
    /**
     * Содержимое компонента.
     */
    children?: ReactNode;
    /**
     * Текст подсказки при наведении на иконку закрытия
     */
    closeText?: string;
    /**
     * Название класса, применяется к корневому компоненту.
     */
    className?: string;
    /**
     * Стили компонента
     */
    style?: CSSProperties;
    /**
     * Иконка заменяющая стандартную, соответствующую значению свойства `severity`.
     */
    icon?: ReactNode;
    /**
     * Если `true`, компонент будет размонтирован (удалён из DOM), когда он скрыт или не отображается.
     */
    unmountOnExit?: boolean;
};
