import * as IWidget from './types'; import { WidgetEvents } from './__codegen__/external/WidgetEvents'; import { PublicWidgetAPI } from './__codegen__/external/PublicWidgetAPI'; import { WidgetHandlers } from './__codegen__/external/WidgetHandlers'; import { Config } from './config/external'; import { AbstractWidget } from './AbstractWidget'; /** * @doctitle Класс для работы с виджетом * @doc * Для инициализации виджета необходимо: * 1. Выбрать один из вариантов интерфейса виджета [UI](/doc/ui.md), либо реализовать свой. * 2. Выбрать нужные плагины, для расширения функциональности [Plugins](/doc/plugins.md) * 3. Выбрать одну из фабрик (см. выше) и получить экземпляр класса `Widget` * 4. Проинициализировать виджет `Widget::init` и задать точку монтирования для интерфейса, вызвав `mount` * * @docsubtitle serviceId * @doc * **serviceId** - идентификатор сервиса является обязательным. [Как завести serviceId](/doc/cookbook.md#integraciya) * * @docsubtitle Запуск и работа с виджетом * @doc * Для запуска виджета необходимо вызвать метод `Widget::init`, * перед этим необходимо инициализировать ui (`Widget::setUI`) и плагины (`Widget::setPlugin`), * смонитровать ui, вызвав `mount`. * Подписки на события/запросы также лучше делать до вызова. * * Для програмного открытия/скрытия виджета нужно использовать * методы `Widget::show`/`Widget::hide`. * * Виджет должен быть полностью инициализирован до начала работы с его программными api * * @docsubtitle Подробнее * [API Мессенджера](/doc/api.md) * * [События Мессенджера](/doc/events.md) * * [Обработка запросов Мессенджера](/doc/handlers.md) * * [Настройка отображения Мессенджера (флаги)](/doc/flags.md) * * [Интеграция в React приложения](/doc/react.md) * * @docsubtitle Пример интеграции виджета с кнопкой * @example * import { * Widget, * YandexConfig, * buttonUIFactory, * yandexUnreadCounterFactory, * } from 'yandex-messenger-widget'; * import 'yandex-messenger-widget/lib/ui/button.css'; * * const unreadCounterPlugin = yandexUnreadCounterFactory(), * const ui = buttonUIFactory({ * unreadCounterPlugin, * }); * * const widget = createMultiChatsWidget({ * // [Options](/doc/interfaces.md#interface-options) * }); * * widget.events.ready.addListener(() => console.log('Widget ready')); * * widget * .addPlugin(unreadCounterPlugin) * .setUI(ui) * .init() * * ui.mount(document.body); */ export declare class Widget extends AbstractWidget implements IWidget.LCDispatcher { /** * @docsubtitle Конструктор * @doctemplate method_annotation */ constructor(config: Config); }