/** * @autogenerated by scripts/codegen/codegen-widget-handlers.js */ import { WidgetApi } from '@yandex-int/messenger.sdk'; import { ChannelEventRequestMap, ToSchema } from '@yandex-int/messenger.channels'; import { Event } from '@yandex-int/messenger.utils'; declare type HandlersMap = ChannelEventRequestMap>; /** * @doctitle Обработчики запросов из Мессенджера * * @doc * Все возможные запросы из Мессенджера собраны в `Widget::handlers`. Со стороны виджета * каждый запрос это событие, на которое можно подписаться с помощью `Event::addListener`. * * Само событие это объект со следующими полями: * * * `response` - ответить на запрос, в качестве ответа можно передать промис; * * * `reject` - отклонить запрос; * * * `payload` - параметры запроса. * * @docsubtitle Пример обработки запроса * @example * widgetInstance.handlers.getLog.addListener(async (request) => { * try { * const logs = await fetchLogs(); * * request.response(logs.map(log => new Blob([log]))); * } catch (error) { * request.reject(error); * } * }); * * @docsubtitle Доступные обработчики * * @doctemplate members_annotation */ export declare class WidgetHandlers { /** * Получить логи с хоста * @returns массив Blob или GetLogResponse */ readonly getLog: Event; /** * Получить данные о хосте * @returns произвольный объект */ readonly getEnv: Event; /** * Позволяет хосту выполнять свои действия вместо открытия стандартных интерфейсов * Для включения необходимо передать в Мессенджер флаг `uiInterceptor` * * `chat_info` - перехват открытия панели информации о чате * `user_info` - перехват открытия панели информации о пользователе * @returns */ readonly uiInterceptor: Event; } export {};