import * as React from 'react';
import './PromoBannerSlide.scss';
export declare const BackgroundColor: {
    readonly DARK_VIOLET: "dark-violet";
    readonly LIGHT_VIOLET: "light-violet";
    readonly GREEN_20: "green-20";
    readonly PURPLE_20: "purple-20";
    readonly NIGHT_20: "night-20";
    readonly FLAMINGO_20: "flamingo-20";
    readonly BERRY_20: "berry-20";
    readonly GRADIENT_PURPLE_1: "gradient-purple-1";
    readonly GRADIENT_PURPLE_2: "gradient-purple-2";
    readonly GRADIENT_PURPLE_3: "gradient-purple-3";
    readonly GRADIENT_PURPLE_4: "gradient-purple-4";
};
export type BackgroundColorType = (typeof BackgroundColor)[keyof typeof BackgroundColor];
type ButtonType = {
    /** Заголовок */
    title?: string;
    /** Ссылка */
    href?: string;
    /** Target - свойство тега <a> */
    target?: '_self' | '_blank';
    /** Rel - атрибут тега <a> */
    rel?: string;
    /** Обработчик клика по кнопке */
    onClick?: (e: React.SyntheticEvent<EventTarget>) => void;
};
type ImageType = {
    /** Изображение на разрешении экрана 1024+ */
    desktopSrc: string;
    /** Изображение 2x на разрешении экрана 1024+ */
    desktopSrc2x?: string;
    /** Изображение на разрешении экрана 768-1023 */
    tabletSrc: string;
    /** Изображение 2x на разрешении экрана 768-1023 */
    tabletSrc2x?: string;
    /** Изображение на разрешении экрана 0-767 */
    mobileSrc: string;
    /** Изображение 2x на разрешении экрана 0-767 */
    mobileSrc2x?: string;
    /** Значение тега alt для изображения */
    alt?: string;
};
export interface IPromoBannerSlideProps {
    /** Дополнительный класс корневого элемента */
    className?: string;
    /** Заголовок */
    title: string | React.ReactNode | React.ReactNode[];
    /** Текст-описание */
    description: string | React.ReactNode | React.ReactNode[];
    /** Кнопка */
    button?: ButtonType;
    /** Дополнительная кнопка */
    extraButton?: ButtonType;
    /** Изображение */
    image: ImageType;
    /** Фон */
    background?: BackgroundColorType;
    /** Дополнительные классы для корневого и внутренних элементов */
    classes?: {
        root?: string;
        button?: string;
        extraButton?: string;
    };
    /** Дополнительные data атрибуты к внутренним элементам */
    dataAttrs?: {
        root?: Record<string, string>;
        image?: Record<string, string>;
        desktopImageSource?: Record<string, string>;
        tabletImageSource?: Record<string, string>;
        buttonsWrapper?: Record<string, string>;
        button?: Record<string, string>;
        extraButton?: Record<string, string>;
    };
    /** Ссылка на корневой элемент */
    rootRef?: React.Ref<HTMLDivElement>;
}
declare const PromoBannerSlide: React.FC<IPromoBannerSlideProps>;
export default PromoBannerSlide;
