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 }) => (
     *       <BannerActionButton
     *         onClick={() => {
     *           closeBanner();
     *         }}
     *       >
     *         Смотреть инструкцию
     *       </BannerActionButton>
     *     )
     */
    action?: (params: ActionParams) => ReactNode;
    /**
     * Обработчик, для выполнения дополнительных действий при закрытии(например, снятие метрик)
     */
    onClose?: () => void;
} & Pick<ToastProps, 'containerId'>;
