import { type ReactNode } from 'react'; import { type ToastProps } from 'react-toastify-next/dist/types'; export type ActionParams = { closeBanner: () => void; }; export type BannerProps = { /** * Путь к файлу изображения или URL */ imageSrc?: string; /** * Заголовок баннера */ title?: string; /** * Текстовое описание, которое будет отображаться внутри баннера */ description?: string; /** * Интерактивный элемент (например, кнопка или ссылка), который будет отображаться внутри баннера * @param closeBanner - метод закрытия баннера * @example * action: ({ closeBanner }) => ( * { * closeBanner(); * }} * > * Смотреть инструкцию * * ) */ action?: (params: ActionParams) => ReactNode; /** * Обработчик, для выполнения дополнительных действий при закрытии(например, снятие метрик) */ onClose?: () => void; } & Pick;