import { type Dispatch, type SetStateAction } from 'react';
import type { BannerProps } from './types';
/**
 * Сервис для отображения рекламного баннера или опроса
 * Для работы, необходим react >= 18
 * @example
 * const createBanner = banner.create({
 *     title: 'Установите расширение Доки для 1С',
 *     description: 'Баннер с заголовком',
 *   });
 *
 *   useEffect(() => {
 *     createBanner.open();
 *   }, []);
 *
 *   const handleCloseBanner = () => {
 *     createBanner.close();
 *   };
 */
declare class Banner {
    private isMobile;
    private setIsOpenModal?;
    _options?: BannerProps;
    private isInitialized;
    _init(isMobile: boolean, setIsOpenModal: Dispatch<SetStateAction<boolean>>): void;
    /**
     * Метод возвращает объект баннера
     * @example
     * const createBanner = banner.create({
     *     title: 'Установите расширение Доки для 1С',
     *     description: 'Баннер с заголовком',
     *   });
     */
    create(options: BannerProps): {
        /**
         * Метод открытия баннера
         * @example
         * createBanner.open()
         */
        open: () => void;
        /**
         * Метод закрытия баннера
         * @example
         * createBanner.close()
         */
        close: () => void;
    };
}
export declare const banner: Banner;
export {};
