## `Type` ResponseSuccess

{

&nbsp;&nbsp;&nbsp;&nbsp;status: 'ok'

}

---

## `Interface` InitParams

>Параметры инициализации Мессенджера



`property` **authToken**?: string

>Авторизационный токен Мессенджера
Формат `<Type> <Token>`



---

`property` **themeVariables**?: object

>Переменные темы Мессенджера



---

`property` **authPartition**?: string

>Авторизационная партиция



---

`property` **selectedLogin**?: string

>Ожидаемый логин (при использовании selectedUid).
Пользователю будет предложено перелогиниться под ним.



---

## `Interface` HelloMessage

`property` **text**: string

---

## `Interface` OpenByChatId

`property` **chatId**: string

---

## `Interface` OpenByInviteHash

`property` **inviteHash**: string

---

`property` **autoJoinHash**?: string

---

## `Interface` OpenByGuid

`property` **guid**: string

---

## `Interface` OpenByUsername

`property` **username**: string

---

## `Interface` OpenByLegacyBotId

`property` **botId**: string

---

## `Interface` OpenByLegacyUserId

`property` **userId**: string

---

## `Type` LegacyChatIdentificator

[OpenByLegacyBotId](./interfaces.md#openbylegacybotid) | [OpenByLegacyUserId](./interfaces.md#openbylegacyuserid)

---

## `Type` ChatIdentificator

(

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[OpenByChatId](./interfaces.md#openbychatid) |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[OpenByInviteHash](./interfaces.md#openbyinvitehash) |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[OpenByGuid](./interfaces.md#openbyguid) |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[OpenByUsername](./interfaces.md#openbyusername) |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[OpenByLegacyBotId](./interfaces.md#openbylegacybotid) |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[OpenByLegacyUserId](./interfaces.md#openbylegacyuserid) |

)

---

## `Interface` BaseIframeOpenParams

`property` **guid**?: string

>Идентификатор собеседника



---

`property` **chatId**?: string

>Идентификатор чата



---

`property` **inviteHash**?: string

>Инвайт хеш чата



---

`property` **autoJoinHash**?: string

>Секрет для автоматического присоединения в чат



---

`property` **username**?: string

>Идентификатор собеседника



---

`property` **anchorTimestamp**?: number

>Временная метка сообщения, которое нужно отобразить на экране



---

`property` **chatList**?: boolean

>Открыть нулевой экран/список чатов



---

`property` **pasteText**?: string

>Текст, который будет вставлен в поле ввода сообщения в открываемом чате



---

`property` **pasteForce**?: boolean

>Нужно ли заменить текущий текст в поле ввода



---

`property` **helloMessage**?: [HelloMessage](./interfaces.md#hellomessage)

>Приветственная надпись в чате (на данный момент сообщение выглядит как системное)



---

`property` **deeplink**?: string

>Диплинк на чат



---

`property` **initCall**?: 'audio' | 'video'

>Начать звонок пользователю



---

`property` **context**?: object

>Объект, который будет передан в чат поддержки



---

## `Interface` IframeOpenParams

extends [BaseIframeOpenParams](#baseiframeopenparams)

`property` **visitId**?: string

>Идентификатор инсталляции виджета



---

`property` **clickId**?: string

>Идентификатор клика в виджет



---

`property` **eventTimestamp**?: number

>Временная метка открытия виджета



---

`property` **initial**?: boolean

>Флаг первого открытия виджета



---

`property` **visible**?: true

>Мессенджер виден на экране (аналогично с вызовом setVisible(true))



---

## `Type` PasteMessageParams

[OpenByChatId](./interfaces.md#openbychatid) & {

&nbsp;&nbsp;&nbsp;&nbsp;pasteText: string

&nbsp;&nbsp;&nbsp;&nbsp;pasteForce?: boolean

} | [OpenByGuid](./interfaces.md#openbyguid) & {

&nbsp;&nbsp;&nbsp;&nbsp;pasteText: string

&nbsp;&nbsp;&nbsp;&nbsp;pasteForce?: boolean

}

---

## `Interface` SetVisibilityParams

`property` **visible**: boolean

---

## `Interface` SetThemeVariablesParams

`property` **themeVariables**: {

&nbsp;&nbsp;&nbsp;&nbsp;value: object

}

---

## `Type` ChatMetadataParams

(

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[OpenByChatId](./interfaces.md#openbychatid) & {

&nbsp;&nbsp;&nbsp;&nbsp;chatMetadata?: [ChatMetadata](./interfaces.md#chatmetadata)

} |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[OpenByInviteHash](./interfaces.md#openbyinvitehash) & {

&nbsp;&nbsp;&nbsp;&nbsp;chatMetadata?: [ChatMetadata](./interfaces.md#chatmetadata)

} |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[OpenByGuid](./interfaces.md#openbyguid) & {

&nbsp;&nbsp;&nbsp;&nbsp;chatMetadata?: [ChatMetadata](./interfaces.md#chatmetadata)

} |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[OpenByUsername](./interfaces.md#openbyusername) & {

&nbsp;&nbsp;&nbsp;&nbsp;chatMetadata?: [ChatMetadata](./interfaces.md#chatmetadata)

} |

)

---

## `Interface` AcceptCallAction

`property` **name**: 'call-accept'

---

`property` **payload**: [ServerMessage](./interfaces.md#servermessage)

---

## `Type` ActionsParams

Array\<[AcceptCallAction](./interfaces.md#acceptcallaction)>

---

## `Interface` RequestCallbackParams

`property` **botId**: string

---

`property` **phoneNumber**: string

---

## `Type` BaseSendMessage

[OpenByChatId](./interfaces.md#openbychatid) & {

&nbsp;&nbsp;&nbsp;&nbsp;visual?: boolean

} | [OpenByGuid](./interfaces.md#openbyguid) & {

&nbsp;&nbsp;&nbsp;&nbsp;visual?: boolean

}

---

## `Type` SendTextMessageParams

[OpenByChatId](./interfaces.md#openbychatid) & {

&nbsp;&nbsp;&nbsp;&nbsp;visual?: boolean

} & {

&nbsp;&nbsp;&nbsp;&nbsp;messageText: string

&nbsp;&nbsp;&nbsp;&nbsp;urlPreviewDisabled?: boolean

} | [OpenByGuid](./interfaces.md#openbyguid) & {

&nbsp;&nbsp;&nbsp;&nbsp;visual?: boolean

} & {

&nbsp;&nbsp;&nbsp;&nbsp;messageText: string

&nbsp;&nbsp;&nbsp;&nbsp;urlPreviewDisabled?: boolean

}

---

## `Type` SendImageMessageParams

[OpenByChatId](./interfaces.md#openbychatid) & {

&nbsp;&nbsp;&nbsp;&nbsp;visual?: boolean

} & {

&nbsp;&nbsp;&nbsp;&nbsp;dataUrl: string

&nbsp;&nbsp;&nbsp;&nbsp;title?: string

&nbsp;&nbsp;&nbsp;&nbsp;urlPreviewDisabled?: boolean

} | [OpenByGuid](./interfaces.md#openbyguid) & {

&nbsp;&nbsp;&nbsp;&nbsp;visual?: boolean

} & {

&nbsp;&nbsp;&nbsp;&nbsp;dataUrl: string

&nbsp;&nbsp;&nbsp;&nbsp;title?: string

&nbsp;&nbsp;&nbsp;&nbsp;urlPreviewDisabled?: boolean

}

---

## `Type` SendBotRequestParams

[OpenByChatId](./interfaces.md#openbychatid) & {

&nbsp;&nbsp;&nbsp;&nbsp;customPayload: [CustomPayload](./interfaces.md#custompayload)

} | [OpenByGuid](./interfaces.md#openbyguid) & {

&nbsp;&nbsp;&nbsp;&nbsp;customPayload: [CustomPayload](./interfaces.md#custompayload)

}

---

## `Type` isChatCreatedParams

[OpenByChatId](./interfaces.md#openbychatid) | [OpenByGuid](./interfaces.md#openbyguid)

---

## `Interface` ChatChange

`property` **chatId**: string

---

`property` **guid**?: string

---

## `Interface` ChatLeave

`property` **chatId**?: string

---

`property` **guid**?: string

---

## `Interface` ChatLoadedError

`property` **error**: {

&nbsp;&nbsp;&nbsp;&nbsp;message: string

&nbsp;&nbsp;&nbsp;&nbsp;stack: string

}

---

`property` **additional**: object

---

## `Interface` LegacyError

`property` **code**: string

---

`property` **message**?: string

---

`property` **visitId**?: string

---

`property` **clickId**?: string

---

## `Interface` ChatLoadError

`property` **error**: {

&nbsp;&nbsp;&nbsp;&nbsp;message: string

&nbsp;&nbsp;&nbsp;&nbsp;stack?: string

}

---

`property` **additional**?: object

---

## `Interface` LocationChange

`property` **location**: string

---

## `Interface` MessageSent

`property` **guid**: string

---

## `Interface` CatchUrlClick

`property` **url**: string

---

## `Interface` ChatHistoryLoaded

`property` **chatId**: string

---

## `Interface` UserLoaded

`property` **guid**: string

---

`property` **status**: [RegistrationStatus](./interfaces.md#registrationstatus)

---

## `Interface` CounterDetails

`property` **ns**: [Record](./interfaces.md#record)\<string, number>

>Мэпа: неймспейс - кол-во непрочитанных



---

`property` **bots**: [Record](./interfaces.md#record)\<string, number>

>Мэпа: гуид бота - кол-во непрочитанных



---

## `Interface` Counter

`property` **value**?: number

>количество непрочитанных незамьюченных сообщений, в зависимости от того, какие фильтры заданы
Если не заданы, то возвращается общее количество непрочитанных сообщений
Возможные фильтры:
- по неймспейсу
- по приватному чату между юзером и указанным другим юзером,
  через параметр `unreadCounterOtherGuid`



---

`property` **valueForChat**?: number

>количество непрочитанных незамьюченных  сообщений для конкретного чата, если он задан



---

`property` **seqnoForChat**?: number

>номер последнего сообщения для конкретного чата, если он задан



---

`property` **lastTimestamp**?: number

>Максимльный известный таймштамп для конкретного чата, если он задан



---

`property` **chatCount**?: number

>Количество незамьюченных чатов, в зависимости от того, какие фильтры заданы
Возможные фильтры:
- по неймспейсу
- по приватному чату между юзером и указанным другим юзером,
  через параметр `unreadCounterOtherGuid`
  в таком случае значение будет 0 если чат замючен или не найден и 1 в обратном случае



---

`property` **details**?: [CounterDetails](./interfaces.md#counterdetails)

>списки количества непрочитанных для неймспейсов и ботов, если указан флаг `unreadCountDetailedWorkspace`



---

## `Interface` UnreadCountersByChats

`property` **value**: [Record](./interfaces.md#record)\<string, number>

---

`property` **lastTimestamp**: number

---

## `Interface` ChannelSubscribed

`property` **chatId**: string

---

## `Interface` ChannelUnsubscribed

`property` **chatId**: string

---

## `Interface` AuthRequest

`property` **chatId**?: string

---

`property` **inviteHash**?: string

---

`property` **autoJoinHash**?: string

---

## `Interface` SendMessage

`property` **guid**: string

>Идентификатор собеседника, которому было отправлено сообщение
Приходит только для чатов 1 на 1



---

## `Interface` Members

`property` **count**: number

---

## `Interface` ChatsLastMessageChangedParams

`property` **guids**: Array\<string>

---

`property` **chatIds**: Array\<string>

---

## `Interface` MessageItem

`property` **text**: string

---

`property` **timestamp**: number

---

`property` **from**: {

&nbsp;&nbsp;&nbsp;&nbsp;display_name: string

}

---

`property` **own**: boolean

---

## `Type` BoolFlag

'0' | '1'

---

## `Type` ThemeFlag

(

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'light' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'dark' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'dark_telemost' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'auto' |

)

---

## `Type` VisibilityMode

(

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'visible_and_focused' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'visible' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'always' |

)

---

## `Type` TelemostEnv

'prestable' | 'prestable2'

---

## `Interface` UserFlags

`property` **disableStikers**: [BoolFlag](./interfaces.md#boolflag)

>Отключить стикеры



---

`property` **disableAutoFocus**: [BoolFlag](./interfaces.md#boolflag)

>Отключить автофокус при открытии Мессенджера в виджете



---

`property` **disableNavigation**: [BoolFlag](./interfaces.md#boolflag)

>Отключить навигацию



---

`property` **disableChatHeader**: [BoolFlag](./interfaces.md#boolflag)

>Отключить шапку чата



---

`property` **readOnly**: [BoolFlag](./interfaces.md#boolflag)

>Режим только чтения сообщений



---

`property` **hideClose**: [BoolFlag](./interfaces.md#boolflag)

>Не показывать кнопку закрытия виджета



---

`property` **fullscreenSupported**: [BoolFlag](./interfaces.md#boolflag)

>Поддержка открытия виджета на весь экран (при просмотре картинок)



---

`property` **disableSettingsButton**: [BoolFlag](./interfaces.md#boolflag)

>Отключить кнопку настроек Мессенджера



---

`property` **disableOpenInNewTabButton**: [BoolFlag](./interfaces.md#boolflag)

>Отключить кнопку открытия виджета в новом окне



---

`property` **disableGlobalSearch**: [BoolFlag](./interfaces.md#boolflag)

>Отключить глобальный поиск в Мессенджере



---

`property` **onboarding**: [BoolFlag](./interfaces.md#boolflag)

>Показывать онбординг



---

`property` **recommendedChatsDisabledForAnonymous**: [BoolFlag](./interfaces.md#boolflag)

>Не показывать рекомендованные чаты незалогинившимся пользователям



---

`property` **recommendedContacts**: [BoolFlag](./interfaces.md#boolflag)

>Показывать рекомендованные контакты



---

`property` **recommended_chats**: [BoolFlag](./interfaces.md#boolflag)

>Показывать рекомендованные чаты



---

`property` **alwaysShowMessagesSearch**: [BoolFlag](./interfaces.md#boolflag)

>Всегда показывать поиск по сообщениям в чате



---

`property` **disableDisplayRestriction**: [BoolFlag](./interfaces.md#boolflag)

>Отключает попап **Ваше имя и фото**



---

`property` **unreadCountersByChats**: [BoolFlag](./interfaces.md#boolflag)

>Отправляет событие counters-by-chats, содержащее каунтеры по всем чатам, работает только с воркспейсом



---

`property` **unreadCountDetailedWorkspace**: [BoolFlag](./interfaces.md#boolflag)

>Включает информацию по воркспейсам в запросах непрочитанных сообщений



---

`property` **picturePicker**: [BoolFlag](./interfaces.md#boolflag)

>Включить пикер с поиском картинок



---

`property` **reactions**: [BoolFlag](./interfaces.md#boolflag)

>Включить реакции



---

`property` **importantMessages**: [BoolFlag](./interfaces.md#boolflag)

>Включить функцию важных сообщений



---

`property` **voice**: [BoolFlag](./interfaces.md#boolflag)

>Включить голосовые сообщения



---

`property` **disableChatListHeader**: [BoolFlag](./interfaces.md#boolflag)

>Отключить шапку с логотипом и кнопками настроек и создания чата



---

`property` **visibilityMode**: [VisibilityMode](./interfaces.md#visibilitymode)

>Режим видимости Мессенджера. Если Мессенджер не видим, то отключается
автоматический скролл к новому сообщению и прочтение



---

`property` **theme**: [ThemeFlag](./interfaces.md#themeflag)

>Тема Мессенджера



---

`property` **sticker_packs**: string

>Использовать определенные стикерпаки в пикере



---

`property` **newHeader**: [BoolFlag](./interfaces.md#boolflag)

>Новая шапка чата



---

`property` **waitToken**: [BoolFlag](./interfaces.md#boolflag)

>Не открывать Мессенджер, пока не придет OAuth-токен



---

`property` **compactView**: [BoolFlag](./interfaces.md#boolflag)

>Компактный вид сообщений (без балунов)



---

`property` **tvView**: [BoolFlag](./interfaces.md#boolflag)

>Мессенджер на большом экране



---

`property` **embedButton**: [BoolFlag](./interfaces.md#boolflag)

>Показывать шапку с закрытием виджета и открытием новой вкладки



---

`property` **uiInterceptors**: [LiteralArray2](./interfaces.md#literalarray2)\<'chat_info', 'user_info'>

>Позволяет хосту выполнять свои действия вместо открытия стандартных интерфейсов
chat_info - перехват открытия панели информации о чате
user_info - перехват открытия панели информации о пользователе

>В значении можно указать один из видов перехвата или сразу оба (`'chat_info,user_info'`)



---

`property` **notificationSuggest**: [BoolFlag](./interfaces.md#boolflag)

>Показывать запрос на включение уведомлений



---

`property` **disableDownloadWithOAuth**: [BoolFlag](./interfaces.md#boolflag)

>Использовать при необходимости отключить встроенную обработку скачивания файлов при авторизации через OAuth-токен



---

`property` **translationLangCode**: string

>На какой язык нужно переводить чаты



---

`property` **translationSupportedLangCodes**: string

>Cписок языков с которых пользователю не надо переводить чат
В значении можно указать один или несколько (`'ru,en,es'`) языков в формате ISO639-1



---

`property` **singleChatMode**: [BoolFlag](./interfaces.md#boolflag)

>Оптимизация работы Мессенджера для режима отображения одного чата



---

`property` **memoryHistory**: [BoolFlag](./interfaces.md#boolflag)

>Использовать memoryHistory для роутера



---

`property` **imageCompressionSizeLimit**: 

>Задает максимальный допустимый размер для загружаемых изображений для компрессии перед отправкой.
Задает размер в пикселях, если наибольшая сторона изображения больше чем лимит, изображение будет пропроционально
уменьшено, чтобы соответствовать лимиту.



---

`property` **enableDesktopSpellchecker**: [BoolFlag](./interfaces.md#boolflag)

>Включает фичу проверки орфографии в десктопе



---

`property` **enableTextEditorToolbar**: [BoolFlag](./interfaces.md#boolflag)

>Включает тулбар форматирования в поле ввода.
При включении меняет вид поля ввода, в нем появляется кнопка открытия тулбара с опциями форматирования текста.



---

`property` **enableInlineSuggest**: [BoolFlag](./interfaces.md#boolflag)

>Включает фичу Реалтайм саджест



---

`property` **disableVoiceRecognition**: [BoolFlag](./interfaces.md#boolflag)

>Выключает распознавание голосовых сообщений



---

`property` **enableVoiceMessagesForBots**: string

>Позволяет передать guid список ботов, для которых доступны голосовые сообщения



---

`property` **enableVoiceMessagesInNS**: string

>Позволяет передать список неймспейсов, для которых доступны голосовые сообщения



---

`property` **telemostEnv**: [TelemostEnv](./interfaces.md#telemostenv)

>Выбирает окружение для телемоста (только для альфа бэкенда)



---

## `Type` Constructor

(args: Array\<any>): T

---

## `Interface` LogErrorOptions

`property` **block**?: string

---

`property` **message**?: string

---

`property` **level**?: string

---

`property` **sourceMethod**?: string

---

`property` **type**?: string

---

`property` **source**?: string

---

`property` **additional**?: {

&nbsp;&nbsp;&nbsp;&nbsp;kind?: string

} & [Record](./interfaces.md#record)\<string, any>

---

## `Type` ErrorVisitorCallback

(error: E): void

---

## `Type` ErrorVisitorFactory

(callback: (error: unknown): void): 

---

## `Class` ErrorVisitor

\<E>

`property` **error**: (args: Array\<any>): E

---

`property` **callback**: (error: E): void

---

## `Class` BaseError

extends [Error](#error)

`method` **handle**\<E>(callback: (error: E): void): [ErrorVisitor](./interfaces.md#errorvisitor)\<E>

`callback`: (error: E): void

---

`method` **is**\<E>(error: any): boolean

`error`: any

---

`method` **accept**\<E>(visitor: [ErrorVisitor](./interfaces.md#errorvisitor)\<E>): void

`visitor`: [ErrorVisitor](./interfaces.md#errorvisitor)\<E>

---

## `Class` LoggableError

\<LoggerFields>

extends [BaseError](#baseerror)

`property` **loggerFields**?: LoggerFields

---

`property` **additional**?: object

---

## `Type` SerializedError

{

&nbsp;&nbsp;&nbsp;&nbsp;serializeId?: string

&nbsp;&nbsp;&nbsp;&nbsp;message: string

&nbsp;&nbsp;&nbsp;&nbsp;loggerFields?: [LogErrorOptions](./interfaces.md#logerroroptions)

&nbsp;&nbsp;&nbsp;&nbsp;stack?: string

} & D

---

## `Interface` CacheItemContructor

`property` **ctr**: (message: string, stack?: string): [SerializableError](./interfaces.md#serializableerror)

---

## `Interface` CacheItemFactory

`property` **factory**: (data: {

&nbsp;&nbsp;&nbsp;&nbsp;serializeId?: string

&nbsp;&nbsp;&nbsp;&nbsp;message: string

&nbsp;&nbsp;&nbsp;&nbsp;loggerFields?: [LogErrorOptions](./interfaces.md#logerroroptions)

&nbsp;&nbsp;&nbsp;&nbsp;stack?: string

}): [BaseError](./interfaces.md#baseerror)

---

## `Class` SerializableError

extends [BaseError](#baseerror)

`property` **SERIALIZE_ID**: string

---

`method` **makeSerializable**(errorObject: [CacheItemContructor](./interfaces.md#cacheitemcontructor) | [CacheItemFactory](./interfaces.md#cacheitemfactory)): void

`errorObject`: [CacheItemContructor](./interfaces.md#cacheitemcontructor) | [CacheItemFactory](./interfaces.md#cacheitemfactory)

---

`method` **serialize**(error: [SerializableError](./interfaces.md#serializableerror)): {

&nbsp;&nbsp;&nbsp;&nbsp;serializeId: string

&nbsp;&nbsp;&nbsp;&nbsp;message: string

&nbsp;&nbsp;&nbsp;&nbsp;stack: string

}

`error`: [SerializableError](./interfaces.md#serializableerror)

---

`method` **deserialize**(error: {

&nbsp;&nbsp;&nbsp;&nbsp;serializeId?: string

&nbsp;&nbsp;&nbsp;&nbsp;message: string

&nbsp;&nbsp;&nbsp;&nbsp;loggerFields?: [LogErrorOptions](./interfaces.md#logerroroptions)

&nbsp;&nbsp;&nbsp;&nbsp;stack?: string

}): Error

`error`: {

&nbsp;&nbsp;&nbsp;&nbsp;serializeId?: string

&nbsp;&nbsp;&nbsp;&nbsp;message: string

&nbsp;&nbsp;&nbsp;&nbsp;loggerFields?: [LogErrorOptions](./interfaces.md#logerroroptions)

&nbsp;&nbsp;&nbsp;&nbsp;stack?: string

}

---

`method` **serialize**(): {

&nbsp;&nbsp;&nbsp;&nbsp;serializeId: string

&nbsp;&nbsp;&nbsp;&nbsp;message: string

&nbsp;&nbsp;&nbsp;&nbsp;stack: string

}

---

## `Class` TransportError

extends [BaseError](#baseerror)

---

## `Interface` RequestTimeoutErrorData

`property` **timeout**?: number

---

## `Class` RequestTimeoutError

extends [TransportError](#transporterror)

`property` **data**?: [RequestTimeoutErrorData](./interfaces.md#requesttimeouterrordata)

---

## `Class` RateLimitError

extends [BaseError](#baseerror)

---

## `Interface` WidgetEvents

`property` **ready**: [Event](./interfaces.md#event)\<[WidgetEvent](./interfaces.md#widgetevent)\<void, void>>

>Мессенджер готов для отображения



---

`property` **close**: [Event](./interfaces.md#event)\<[WidgetEvent](./interfaces.md#widgetevent)\<void, void>>

>Клик по кнопке **Свернуть** (крестик в шапке Мессенджера)



---

`property` **error**: [Event](./interfaces.md#event)\<[WidgetEvent](./interfaces.md#widgetevent)\<[LegacyError](./interfaces.md#legacyerror), void>>

>Ошибка



---

`property` **unload**: [Event](./interfaces.md#event)\<[WidgetEvent](./interfaces.md#widgetevent)\<void, void>>

>Закрытие/перезагрузка страницы Мессенджера



---

`property` **chatHistoryLoaded**: [Event](./interfaces.md#event)\<[WidgetEvent](./interfaces.md#widgetevent)\<[ChatHistoryLoaded](./interfaces.md#chathistoryloaded), void>>

>Отобразилась первая страница чата



---

`property` **fullscreenOn**: [Event](./interfaces.md#event)\<[WidgetEvent](./interfaces.md#widgetevent)\<void, void>>

>Открыть просмотр картинок в полноэкранном режиме



---

`property` **fullscreenOff**: [Event](./interfaces.md#event)\<[WidgetEvent](./interfaces.md#widgetevent)\<void, void>>

>Выйти из полноэкранного режима просмотра картинок



---

`property` **counter**: [Event](./interfaces.md#event)\<[WidgetEvent](./interfaces.md#widgetevent)\<[Counter](./interfaces.md#counter), void>>

>Изменилось кол-во непрочитанных сообщений



---

## `Type` KeysWidgetEvents

(

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'ready' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'error' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'close' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'unload' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'chatHistoryLoaded' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'fullscreenOn' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'fullscreenOff' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'counter' |

)

---

## `Type` Lang

(

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'ru' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'uz' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'fr' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'az' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'en' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'tr' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'kk' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'hy' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'sr' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'he' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'ar' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'pt' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'es-la' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'es' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'ka' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'ky' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'ro' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'zh-Hans' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'ur' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'am' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'ne' |

)

---

## `Type` IframeOpenData

[BaseIframeOpenParams](./interfaces.md#baseiframeopenparams)

---

## `Interface` IframeUrlParams

`property` **clipboardApi**:  | 

---

`property` **utm_source**?: 'widget'

---

`property` **utm_medium**?: 'iframe' | 'window'

---

## `Interface` Options

`property` **serviceId**: number

>[Идентификатор сервиса](./cookbook.md#serviceid)



---

`property` **workspaceId**?: string

>Идентификатор воркспейса



---

`property` **tld**?: (

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'ua' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'com.tr' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'com.ge' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'com.am' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'co.il' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'ru' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'kz' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'by' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'com' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'net' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'uz' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'fr' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'az' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'kg' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'lv' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'lt' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'md' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'tj' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'tm' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'ee' |

)

>TLD который будет использован для открытия Мессенджера
Eсли не указать, TLD будет взят из текущего домена



---

`property` **lang**?: [Lang](./interfaces.md#lang)

>Язык Мессенджера/виджета



---

`property` **authToken**?: string

>Авторизационный токен Мессенджера
Формат `<Type> <Token>`



---

`property` **authPartition**?: string

>Авторизационная партиция



---

`property` **flags**?: Partial\<[UserFlags](./interfaces.md#userflags)>

>Флаги, позволяющие настроить интерфейс и поведение Мессенджера



---

`property` **stat**?: object

>Объект, который будет передан в параметры метрики Мессенджера



---

`property` **themeVariables**?: object

>Настройки цветовой схемы Мессенджера [подробнее](./themes.md)



---

`property` **fullscreen**?: boolean

>Включить открытие изображений на весь экран



---

`property` **iframeOpenData**?: [BaseIframeOpenParams](./interfaces.md#baseiframeopenparams)

>Параметры отрытия Мессенджера



---

`property` **allow**?: Array\<string>

>https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-allow



---

`property` **authType**?: 'own'

>Способ авторизации в Мессенджере, по умолчанию Мессенджер будет открывать Яндекс.Паспорт.
`own` - при необходимости авторизовать пользователя, Мессенджер вместо открытия паспорта,
будет вызывать событие `authRequest`.



---

`property` **debug**?: string

>Включение debug-режима Мессенджера
В консоли будут отображены все события и отладочная информация Мессенджера
В качестве значения можно указать фильтр по названию события, поддерживается *



---

`property` **grandParentOrigin**?: string

>Внешний parentOrigin, который будет передан в мессенджер как grandParentOrigin
Если не указан, будет предпринята попытка определить автоматически через window.parent



---

`property` **unreadCounterChatId**?: string

>ChatId чата, у которого будет запрашиваться кол-во непрочитанных сообщений
при изменении значений счетчика непрочитанных будут заполнены следующие поля:
- valueForChat - количество непрочитанных сообщений для указанного чата
- seqnoForChat - номер последнего сообщения в указанном чате



---

`property` **unreadCounterOtherGuid**?: string

>GUID второго пользователя, от приватного чата с которым будет запрашиваться кол-во непрочитанных сообщений
Первый юзер - текущий пользователь
при изменении значений счетчика непрочитанных будут заполнены следующие поля:
- value - количество непрочитанных сообщений для этого чата, если он найден, иначе 0
- chatsCount - количество чатов между ними, если чат существует и в нём есть непрочитанные, значение 1, иначе 0



---

`property` **unreadCounterNsFilter**?: Array\<number>

>Namespaces, у которых будет запрашиваться кол-во непрочитанных сообщений
при изменении значений счетчика непрочитанных будут заполнены следующие поля:
- value - общее количество непрочитанных сообщений в указанных неймспейсах
- chatsCount - общее количество чатов с непрочитанными сообщениями в указанных неймспейсах



---

`property` **unreadWithCountChats**?: boolean

>Включает в счетчике количество непрочитанных чатов



---

`property` **catchUrlClick**?: boolean

>Включение перехвата клика по ссылкам хоста в Мессенджере. Придет событие `catchUrlClick`



---

`property` **orgId**?: number

>Идентификатор организации



---

`property` **unreadCountDetailedWorkspace**?: boolean

>Включает информацию по воркспейсам и ботам в запросах непрочитанных сообщений
при изменении значений счетчика непрочитанных будет заполнено поле details вида:
{ns: Record<string, number>, bots: Record<string, number>}
где каждое значение это количество непрочитанных для конкретной сущности (неймспейс или бот)



---

`property` **selectedLogin**?: string

>Ожидаемый логин (при использовании selectedUid).
Пользователю будет предложено перелогиниться под ним.



---

`property` **selectedUid**?: string

>Паспортный uid желаемого пользователя:
- если пользователь залогинен под выбранным uid, но активен отличный от выбраннного,
автоматически переключимся на нужного
- если пользователь не залогинен под выбранным uid, попросим сменить аккаунт



---

## `Type` TargetPosition

(

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'top-left' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'top-right' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'bottom-left' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'bottom-right' |

)

---

## `Type` TargetBehaviour

'sticky' | 'static'

---

## `Type` ButtonCollapsed

(

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'always' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'never' |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'hover' |

)

---

## `Type` ButtonSize

'normal' | 'large'

---

## `Type` BadgeType

'dot' | 'num'

---

## `Interface` LCEventResponse

`property` **stopPropagation**: boolean

---

`property` **defaultPrevented**: boolean

---

## `Type` LCErrorCriticalParams

{

&nbsp;&nbsp;&nbsp;&nbsp;error: Error

}

---

## `Type` LCBeforeIframeOpenParams

[BaseIframeOpenParams](./interfaces.md#baseiframeopenparams)

---

## `Type` BeforeShowEvent

[WidgetEvent](./interfaces.md#widgetevent)\<[IframeOpenParams](./interfaces.md#iframeopenparams), void>

---

## `Type` BeforeRequestEvent

[WidgetEvent](./interfaces.md#widgetevent)\<(

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{

&nbsp;&nbsp;&nbsp;&nbsp;type: 'iframeOpen'

&nbsp;&nbsp;&nbsp;&nbsp;params: [IframeOpenParams](./interfaces.md#iframeopenparams)

} |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{

&nbsp;&nbsp;&nbsp;&nbsp;type: 'serviceMeta'

&nbsp;&nbsp;&nbsp;&nbsp;params: object

} |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{

&nbsp;&nbsp;&nbsp;&nbsp;type: 'pasteMessage'

&nbsp;&nbsp;&nbsp;&nbsp;params: [PasteMessageParams](./interfaces.md#pastemessageparams)

} |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{

&nbsp;&nbsp;&nbsp;&nbsp;type: 'setVisibility'

&nbsp;&nbsp;&nbsp;&nbsp;params: [SetVisibilityParams](./interfaces.md#setvisibilityparams)

} |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{

&nbsp;&nbsp;&nbsp;&nbsp;type: 'setThemeVariables'

&nbsp;&nbsp;&nbsp;&nbsp;params: [SetThemeVariablesParams](./interfaces.md#setthemevariablesparams)

} |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{

&nbsp;&nbsp;&nbsp;&nbsp;type: 'chatMetadata'

&nbsp;&nbsp;&nbsp;&nbsp;params: [ChatMetadataParams](./interfaces.md#chatmetadataparams)

} |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{

&nbsp;&nbsp;&nbsp;&nbsp;type: 'actions'

&nbsp;&nbsp;&nbsp;&nbsp;params: [ActionsParams](./interfaces.md#actionsparams)

} |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{

&nbsp;&nbsp;&nbsp;&nbsp;type: 'requestCallback'

&nbsp;&nbsp;&nbsp;&nbsp;params: [RequestCallbackParams](./interfaces.md#requestcallbackparams)

} |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{

&nbsp;&nbsp;&nbsp;&nbsp;type: 'sendTextMessage'

&nbsp;&nbsp;&nbsp;&nbsp;params: [SendTextMessageParams](./interfaces.md#sendtextmessageparams)

} |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{

&nbsp;&nbsp;&nbsp;&nbsp;type: 'sendImage'

&nbsp;&nbsp;&nbsp;&nbsp;params: [SendImageMessageParams](./interfaces.md#sendimagemessageparams)

} |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{

&nbsp;&nbsp;&nbsp;&nbsp;type: 'sendBotRequest'

&nbsp;&nbsp;&nbsp;&nbsp;params: [SendBotRequestParams](./interfaces.md#sendbotrequestparams)

} |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{

&nbsp;&nbsp;&nbsp;&nbsp;type: 'isChatCreated'

&nbsp;&nbsp;&nbsp;&nbsp;params: [isChatCreatedParams](./interfaces.md#ischatcreatedparams)

} |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{

&nbsp;&nbsp;&nbsp;&nbsp;type: 'activate'

&nbsp;&nbsp;&nbsp;&nbsp;params: undefined

} |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{

&nbsp;&nbsp;&nbsp;&nbsp;type: 'deactivate'

&nbsp;&nbsp;&nbsp;&nbsp;params: undefined

} |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{

&nbsp;&nbsp;&nbsp;&nbsp;type: 'focus'

&nbsp;&nbsp;&nbsp;&nbsp;params: undefined

} |

), Promise\<any>>

---

## `Interface` Lifecycle

`method` **LCReady**(event: [WidgetEvent](./interfaces.md#widgetevent)\<void, void>): void

>Мессенджер готов к отображению



`event`: [WidgetEvent](./interfaces.md#widgetevent)\<void, void>

---

`method` **LCClose**(event: [WidgetEvent](./interfaces.md#widgetevent)\<void, void>): void

>Вызван метод `widget.destroy`



`event`: [WidgetEvent](./interfaces.md#widgetevent)\<void, void>

---

`method` **LCBeforeHide**(event: [WidgetEvent](./interfaces.md#widgetevent)\<void, void>): void

>Вызывается в начале вызова `widget.hide`



`event`: [WidgetEvent](./interfaces.md#widgetevent)\<void, void>

---

`method` **LCHidden**(event: [WidgetEvent](./interfaces.md#widgetevent)\<void, void>): void

>Вызывается в конце вызова `widget.hide`



`event`: [WidgetEvent](./interfaces.md#widgetevent)\<void, void>

---

`method` **LCShown**(event: [WidgetEvent](./interfaces.md#widgetevent)\<void, void>): void

>Вызывается в конце вызова `widget.show`



`event`: [WidgetEvent](./interfaces.md#widgetevent)\<void, void>

---

`method` **LCBeforeShow**(event: [BeforeShowEvent](./interfaces.md#beforeshowevent)): void

`event`: [BeforeShowEvent](./interfaces.md#beforeshowevent)

---

`method` **LCErrorCritical**(event: [WidgetEvent](./interfaces.md#widgetevent)\<{

&nbsp;&nbsp;&nbsp;&nbsp;error: Error

}, void>): void

>Мессенджер не может открыться (не загрузился iframe или не пришло событие `ready`)



`event`: [WidgetEvent](./interfaces.md#widgetevent)\<{

&nbsp;&nbsp;&nbsp;&nbsp;error: Error

}, void>

---

`method` **LCBeforeRequest**(event: [BeforeRequestEvent](./interfaces.md#beforerequestevent)): void

>Вызывается перед тем, как отправить API-запрос в Мессенджер
Вызов `event.preventDefault` предотвращает отправку запроса



`event`: [BeforeRequestEvent](./interfaces.md#beforerequestevent)

---

## `Interface` LCDispatcher

`method` **dispatchLC**\<N>(name: N, event: (

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[WidgetEvent](./interfaces.md#widgetevent)\<void, void> |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[BeforeShowEvent](./interfaces.md#beforeshowevent) |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[BeforeRequestEvent](./interfaces.md#beforerequestevent) |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[WidgetEvent](./interfaces.md#widgetevent)\<{

&nbsp;&nbsp;&nbsp;&nbsp;error: Error

}, void> |

)): (

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[WidgetEvent](./interfaces.md#widgetevent)\<void, void> |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[BeforeShowEvent](./interfaces.md#beforeshowevent) |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[BeforeRequestEvent](./interfaces.md#beforerequestevent) |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[WidgetEvent](./interfaces.md#widgetevent)\<{

&nbsp;&nbsp;&nbsp;&nbsp;error: Error

}, void> |

)

`name`: N

`event`: (

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[WidgetEvent](./interfaces.md#widgetevent)\<void, void> |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[BeforeShowEvent](./interfaces.md#beforeshowevent) |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[BeforeRequestEvent](./interfaces.md#beforerequestevent) |

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[WidgetEvent](./interfaces.md#widgetevent)\<{

&nbsp;&nbsp;&nbsp;&nbsp;error: Error

}, void> |

)

---

## `Type` LifecycleRequire

[Required](./interfaces.md#required)\<[Lifecycle](./interfaces.md#lifecycle)>

---

## `Type` ExtractWidgetEventType

---

## `Interface` Plugin

extends [Lifecycle](#lifecycle)

---

## `Interface` UTMQueryParams

`property` **utm_medium**: 'iframe' | 'new_tab'

---

## `Interface` GetChildWindowTransportParams

`property` **urlProvider**: (params: [UTMQueryParams](./interfaces.md#utmqueryparams)): string

---

`property` **allow**: Array\<string>

---

## `Interface` UIPlugin

extends [Plugin](#plugin)

`method` **getChildWindowTransport**(params: [GetChildWindowTransportParams](./interfaces.md#getchildwindowtransportparams), callback: (args:  | ): void): void

`params`: [GetChildWindowTransportParams](./interfaces.md#getchildwindowtransportparams)

`callback`: (args:  | ): void

---

## `Interface` ErrorPayload

`property` **code**: string

---

`property` **message**?: string

---

`property` **clickId**?: string

---

`property` **visitId**?: string

---

## `Interface` FeatureInfo

`property` **isAvailable**: boolean

---

`property` **params**?: [Record](./interfaces.md#record)\<string, string>

---

## `Interface` FeatureAvailability

`method` **getFeatureInfo**(name: string): string | [FeatureInfo](./interfaces.md#featureinfo)

`name`: string

---

## `Interface` Window

>A window containing a DOM document; the document property points to the DOM document loaded in that window.



`property` **YandexApplicationsFeatureAvailability**?: [FeatureAvailability](./interfaces.md#featureavailability)

---

## `Interface` PresetOptions

>Опции пресета, используются для построения конечного
URL для виджета Мессенджера



`property` **config**: string

>Конфиг бекенда



---

`property` **origin**: string

>Хост фронтенда



---

`property` **build**: string

>Билд фронтенда



---

`property` **originsProvider**?: (env: string): (): Promise\<[Origins](./interfaces.md#origins)>

>Провайдер ориджинов



---

## `Type` Preset

Partial\<[PresetOptions](./interfaces.md#presetoptions) & [Options](./interfaces.md#options)>

---

## `Interface` TypeParams

`property` **inline**?: boolean

---

## `Interface` GetMessengerUrlParams

extends [IframeUrlParams](#iframeurlparams)

`property` **widgetId**: string

---

`property` **protocolVersion**: number

---

`property` **origin**?: string

---

`property` **uid**?: string

---

## `Class` Config

`property` **DEFAULTS**: Array\<Partial\<[PresetOptions](./interfaces.md#presetoptions) & [Options](./interfaces.md#options)>>

---

`property` **values**: Partial\<[PresetOptions](./interfaces.md#presetoptions) & [Options](./interfaces.md#options)>

---

`method` **extend**(presets: Array\<Partial\<[PresetOptions](./interfaces.md#presetoptions) & [Options](./interfaces.md#options)>>): (presets: Array\<Partial\<[PresetOptions](./interfaces.md#presetoptions) & [Options](./interfaces.md#options)>>): [ExtendedConfig](./interfaces.md#extendedconfig)

`presets`: Array\<Partial\<[PresetOptions](./interfaces.md#presetoptions) & [Options](./interfaces.md#options)>>

---

`method` **extend**(presets: Array\<Partial\<[PresetOptions](./interfaces.md#presetoptions) & [Options](./interfaces.md#options)>>): void

>Добавляет переданные пресеты в конфиг, во время создания конфига
все пресеты объединяются в 1 конфиг в порядке добавления



`presets`: Array\<Partial\<[PresetOptions](./interfaces.md#presetoptions) & [Options](./interfaces.md#options)>>

---

`method` **getFlags**(): string

---

`method` **getMessengerUrl**(params: [GetMessengerUrlParams](./interfaces.md#getmessengerurlparams)): string

`params`: [GetMessengerUrlParams](./interfaces.md#getmessengerurlparams)

---

## `Type` HandlersMap

[ChannelEventRequestMap](./interfaces.md#channeleventrequestmap)\<[ToSchema](./interfaces.md#toschema)\<[WidgetHandlers](./interfaces.md#widgethandlers)>>

---

## `Class` WidgetHandlers

`property` **getLog**: [Event](./interfaces.md#event)\<{

&nbsp;&nbsp;&nbsp;&nbsp;type: 'getLog'

&nbsp;&nbsp;&nbsp;&nbsp;payload: unknown

&nbsp;&nbsp;&nbsp;&nbsp;response: (data: [MaybePromise](./interfaces.md#maybepromise)\<[GetLogResponse](./interfaces.md#getlogresponse) | Array\<Blob>>): void

&nbsp;&nbsp;&nbsp;&nbsp;reject: (error: Error): void

}>

>Получить логи с хоста



---

`property` **getEnv**: [Event](./interfaces.md#event)\<{

&nbsp;&nbsp;&nbsp;&nbsp;type: 'getEnv'

&nbsp;&nbsp;&nbsp;&nbsp;payload: unknown

&nbsp;&nbsp;&nbsp;&nbsp;response: (data: [MaybePromise](./interfaces.md#maybepromise)\<object>): void

&nbsp;&nbsp;&nbsp;&nbsp;reject: (error: Error): void

}>

>Получить данные о хосте



---

`property` **uiInterceptor**: [Event](./interfaces.md#event)\<{

&nbsp;&nbsp;&nbsp;&nbsp;type: 'uiInterceptor'

&nbsp;&nbsp;&nbsp;&nbsp;payload: [UiInterceptorParams](./interfaces.md#uiinterceptorparams)

&nbsp;&nbsp;&nbsp;&nbsp;response: (data: [MaybePromise](./interfaces.md#maybepromise)\<[UiInterceptorResponse](./interfaces.md#uiinterceptorresponse)>): void

&nbsp;&nbsp;&nbsp;&nbsp;reject: (error: Error): void

}>

>Позволяет хосту выполнять свои действия вместо открытия стандартных интерфейсов
Для включения необходимо передать в Мессенджер флаг `uiInterceptor`

>`chat_info` - перехват открытия панели информации о чате
`user_info` - перехват открытия панели информации о пользователе



---

## `Class` PublicWidgetAPI

`method` **serviceMeta**(params: object): Promise\<void>

>Отправить данные сервиса в BotRequest



`params`: object

---

`method` **setVisibility**(params: [SetVisibilityParams](./interfaces.md#setvisibilityparams)): Promise\<void>

>Установить видимость Мессенджера
Если передан параметр `visible: false`, Мессенджер выключит автоматический подскролл
к новому сообщению и отправку прочитанности.
Применимо в случае, когда у хоста есть своя логика отображения/скрытия Мессенджера.



`params`: [SetVisibilityParams](./interfaces.md#setvisibilityparams)

---

`method` **setThemeVariables**(params: [SetThemeVariablesParams](./interfaces.md#setthemevariablesparams)): Promise\<void>

>Изменить параметры темы Мессенджера



`params`: [SetThemeVariablesParams](./interfaces.md#setthemevariablesparams)

---

`method` **chatMetadata**(params: [ChatMetadataParams](./interfaces.md#chatmetadataparams)): Promise\<void>

>Установить метаданные чата



`params`: [ChatMetadataParams](./interfaces.md#chatmetadataparams)

---

`method` **focus**(): Promise\<void>

>Фокусирует в поле ввода сообщения



---

## `Type` PluginWidgetEvent

[WidgetEvent](./interfaces.md#widgetevent)\<void, void> & [BeforeShowEvent](./interfaces.md#beforeshowevent) & [WidgetEvent](./interfaces.md#widgetevent)\<{

&nbsp;&nbsp;&nbsp;&nbsp;error: Error

}, void> & [BeforeRequestEvent](./interfaces.md#beforerequestevent)

---

## `Class` Widget

extends [LCDispatcher](#lcdispatcher)

`property` **version**: string

>Версия виджета



---

`property` **widgetId**: string

>Идентификатор виджета



---

`property` **api**: A

>API Мессенджера



---

`property` **handlers**: H

>Обработчики событий



---

`property` **events**: E

>События Мессенджера



---

`method` **init**(): [Widget](./interfaces.md#widget)

---

`method` **show**(params?: [BaseIframeOpenParams](./interfaces.md#baseiframeopenparams), callback: (error?: void | Error): void): void

`params`?: [BaseIframeOpenParams](./interfaces.md#baseiframeopenparams)

>Параметры открытия Мессенджера

`callback`: (error?: void | Error): void

>Колбэк открытия чата/нулвого экрана

---

`method` **hide**(): void

---

`method` **setUI**(plugin: [UIPlugin](./interfaces.md#uiplugin)): [Widget](./interfaces.md#widget)

`plugin`: [UIPlugin](./interfaces.md#uiplugin)

---

`method` **addPlugin**(plugin: [Plugin](./interfaces.md#plugin)): [Widget](./interfaces.md#widget)

`plugin`: [Plugin](./interfaces.md#plugin)

---

`method` **destroy**(): void

---

## `Interface` Props

`property` **lang**: [Lang](./interfaces.md#lang)

---

`property` **page**?: string

---

`property` **fullscreen**?: boolean

---

`property` **iframe**?: [HTMLIFrameElement](./interfaces.md#htmliframeelement)

---

`method` **onRetry**(): void

---

## `Class` BaseUI

\<TP>

extends [UIPlugin](#uiplugin)

`property` **ready**: boolean

---

`property` **destroyed**: boolean

---

`property` **_context**?: [Context](./interfaces.md#context)\<TP>

---

`property` **contextProvider**?: (widget: [WidgetProxy](./interfaces.md#widgetproxy)): Partial\<TP>

---

`property` **initialized**: boolean

---

`method` **render**(node: HTMLElement): void

`node`: HTMLElement

---

`method` **iframeOpen**(props?: Partial\<TP>): void

`props`?: Partial\<TP>

---

`method` **toggleFullscreen**(enabled: boolean): void

`enabled`: boolean

---

`method` **showMount**(props?: Partial\<TP>): void

`props`?: Partial\<TP>

---

`method` **showError**(props?: Partial\<TP>): void

`props`?: Partial\<TP>

---

`method` **showLoader**(props?: Partial\<TP>): void

`props`?: Partial\<TP>

---

`method` **destroy**(): void

---

## `Class` Block

extends [BaseUI](#baseui)

`method` **mount**(node: HTMLElement): void

`node`: HTMLElement

>Узел в который будет смонитрован UI

---

`method` **getChildWindowTransport**(params: [GetChildWindowTransportParams](./interfaces.md#getchildwindowtransportparams), callback: (args:  | ): void): void

`params`: [GetChildWindowTransportParams](./interfaces.md#getchildwindowtransportparams)

`callback`: (args:  | ): void

---

## `Class` NewWindowBlockedError

extends [BaseError](#baseerror)

---

## `Interface` IframeStrategyAdapter

`method` **show**(): void

---

`method` **hide**(): void

---

`method` **remove**(): void

---

`method` **create**(url: string, allow?: Array\<string>): [HTMLIFrameElement](./interfaces.md#htmliframeelement)

`url`: string

`allow`?: Array\<string>

---

## `Class` IframeStrategy

`method` **show**(): void

---

`method` **hide**(): void

---

`method` **remove**(): void

---

`method` **ready**(): void

---

`method` **getChildWindowTransport**(params: [GetChildWindowTransportParams](./interfaces.md#getchildwindowtransportparams), callback: (args:  | ): void): void

`params`: [GetChildWindowTransportParams](./interfaces.md#getchildwindowtransportparams)

`callback`: (args:  | ): void

---

## `Interface` WindowStrategyAdapter

`method` **ready**(): void

---

## `Class` WindowStrategy

`property` **childWindow**: [Window](./interfaces.md#window)

---

`method` **show**(): void

---

`method` **ready**(): void

---

`method` **hide**(): void

---

`method` **remove**(): void

---

`method` **getChildWindowTransport**(params: [GetChildWindowTransportParams](./interfaces.md#getchildwindowtransportparams), callback: (args:  | ): void): void

`params`: [GetChildWindowTransportParams](./interfaces.md#getchildwindowtransportparams)

`callback`: (args:  | ): void

---

## `Type` BehaviorStrategies

{

&nbsp;&nbsp;&nbsp;&nbsp;name: 'iframe'

&nbsp;&nbsp;&nbsp;&nbsp;behavior: (adapter: [IframeStrategyAdapter](./interfaces.md#iframestrategyadapter)): [IframeStrategy](./interfaces.md#iframestrategy)

} | {

&nbsp;&nbsp;&nbsp;&nbsp;name: 'detached'

&nbsp;&nbsp;&nbsp;&nbsp;behavior: (adapter?: [WindowStrategyAdapter](./interfaces.md#windowstrategyadapter)): [WindowStrategy](./interfaces.md#windowstrategy)

}

---

## `Interface` PopupProps

`property` **isMobile**?: boolean

>Мобильный вид виджета. Если не задан, вычисляется автоматически



---

`property` **popupTargetNode**?: HTMLElement

>Элемент от которого позиционируется попап



---

`property` **popupTargetPosition**?: [TargetPosition](./interfaces.md#targetposition)

>Используется вместе с popupTargetNode для позиции появления попапа от элемента.
Default bottom-left



---

`property` **paranjaVisible**?: boolean

>Если `true`, полупрозрачный слой для затемнения фона будет виден
Слой не отключает скролл страницы, включать/отключать скролл можно в событии `onToggled`



---

`property` **calculatePosition**?: (el: HTMLElement, anchor: HTMLElement, targetPosition: [TargetPosition](./interfaces.md#targetposition), prevPosition: [Place](./interfaces.md#place)): [Place](./interfaces.md#place)

>Пользовательская функция расчета позиции попапа



---

`property` **autocloseable**?: boolean

>Если `true`, то при клике вне области попапа, попап будет закрываться



---

`property` **strategies**?: Array\<[BehaviorStrategies](./interfaces.md#behaviorstrategies)>

>Стратегии открытия



---

`property` **pageScrollController**?: [PageScrollController](./interfaces.md#pagescrollcontroller)

>Установить кастомный контроллер скролла страницы
Нужен для управления поведением скролла страницы при открытии попапа
Контроллер по умолчанию отключает скролл страницы в мобильном режиме



---

## `Interface` OnToggledEvent

`property` **hidden**: boolean

>Попап скрыт



---

## `Interface` PopupContextProvider

\<P, TP>

---

## `Class` PopupBase

\<P, TP>

extends [BaseUI](#baseui)

`property` **hidden**: boolean

---

`property` **onToggled**: [Event](./interfaces.md#event)\<[OnToggledEvent](./interfaces.md#ontoggledevent)>

---

`method` **getChildWindowTransport**(params: [GetChildWindowTransportParams](./interfaces.md#getchildwindowtransportparams), callback: (args:  | ): void): void

`params`: [GetChildWindowTransportParams](./interfaces.md#getchildwindowtransportparams)

`callback`: (args:  | ): void

---

`method` **LCReady**(): void

---

`method` **LCErrorCritical**(event: [WidgetEvent](./interfaces.md#widgetevent)\<{

&nbsp;&nbsp;&nbsp;&nbsp;error: Error

}, void>): void

`event`: [WidgetEvent](./interfaces.md#widgetevent)\<{

&nbsp;&nbsp;&nbsp;&nbsp;error: Error

}, void>

---

`method` **LCHidden**(): void

---

`method` **LCShown**(): void

---

`method` **hidePopup**(): void

---

`method` **showPopup**(): void

>Раскрывает попап.
Не должен быть публичным, так как открывать попап надо исключительно виджетом (shotChatList | showChat)



---

`method` **showNewWindowRequest**(): void

---

`method` **handleNewWindowClick**(): void

---

## `Class` Popup

\<P, TP>

extends [PopupBase](#popupbase)

`method` **mount**(): void

---

`method` **setPopupTarget**(target: HTMLElement, position?: [TargetPosition](./interfaces.md#targetposition)): void

`target`: HTMLElement

>Элемент, относительно которого будет открыт попап.
Если `undefined`, то попап начнет открываться сбоку.

`position`?: [TargetPosition](./interfaces.md#targetposition)

>Позиция попапа

---

## `Interface` NativeOptions

`property` **guid**?: string

---

`property` **chatId**?: string

---

`property` **inviteHash**?: string

---

`property` **context**?: string

---

## `Interface` UrlParams

`property` **serviceId**?: number

---

`property` **clickId**?: string

---

## `Interface` OpenNativeOptions

`property` **params**: [IframeOpenParams](./interfaces.md#iframeopenparams)

---

`property` **serviceId**: number

---

`property` **clickId**?: string

---

## `Class` NativeInterceptor

extends [Plugin](#plugin)

---

## `Class` Deeplinker

extends [Plugin](#plugin)

---

## `Class` HandleCriticalErrorPlugin

extends [Plugin](#plugin)

`property` **onInvalidAuthTokenError**: [Event](./interfaces.md#event)\<[InvalidAuthTokenError](./interfaces.md#invalidauthtokenerror)>

---

`method` **init**(): void

---

`method` **LCErrorCritical**(event: [WidgetEvent](./interfaces.md#widgetevent)\<{

&nbsp;&nbsp;&nbsp;&nbsp;error: Error

}, void>): void

>Мессенджер не может открыться (не загрузился iframe или не пришло событие `ready`)



`event`: [WidgetEvent](./interfaces.md#widgetevent)\<{

&nbsp;&nbsp;&nbsp;&nbsp;error: Error

}, void>

---

## `Class` YandexConfig

extends [Config](#config)

`property` **DEFAULTS**: Array\<Partial\<[PresetOptions](./interfaces.md#presetoptions) & [Options](./interfaces.md#options)>>

---

## `Class` YandexBlockConfig

extends [Config](#config)

`property` **DEFAULTS**: Array\<Partial\<[PresetOptions](./interfaces.md#presetoptions) & [Options](./interfaces.md#options)>>

---

## `Class` YandexSingleChatConfig

extends [Config](#config)

`property` **DEFAULTS**: Array\<Partial\<[PresetOptions](./interfaces.md#presetoptions) & [Options](./interfaces.md#options)>>

---

## `Class` YandexSingleBlockChatConfig

extends [Config](#config)

`property` **DEFAULTS**: Array\<Partial\<[PresetOptions](./interfaces.md#presetoptions) & [Options](./interfaces.md#options)>>

---

## `Class` YandexTeamConfig

extends [Config](#config)

`property` **DEFAULTS**: Array\<Partial\<[PresetOptions](./interfaces.md#presetoptions) & [Options](./interfaces.md#options)> | {

&nbsp;&nbsp;&nbsp;&nbsp;originsProvider: (backendConfig: string): (): Promise\<[Origins](./interfaces.md#origins)>

}>

---

## `Class` YandexTeamBlockConfig

extends [Config](#config)

`property` **DEFAULTS**: Array\<Partial\<[PresetOptions](./interfaces.md#presetoptions) & [Options](./interfaces.md#options)> | {

&nbsp;&nbsp;&nbsp;&nbsp;originsProvider: (backendConfig: string): (): Promise\<[Origins](./interfaces.md#origins)>

}>

---

## `Class` YandexTeamSingleChatConfig

extends [Config](#config)

`property` **DEFAULTS**: Array\<Partial\<[PresetOptions](./interfaces.md#presetoptions) & [Options](./interfaces.md#options)> | {

&nbsp;&nbsp;&nbsp;&nbsp;originsProvider: (backendConfig: string): (): Promise\<[Origins](./interfaces.md#origins)>

}>

---

## `Class` YandexTeamSingleBlockChatConfig

extends [Config](#config)

`property` **DEFAULTS**: Array\<Partial\<[PresetOptions](./interfaces.md#presetoptions) & [Options](./interfaces.md#options)> | {

&nbsp;&nbsp;&nbsp;&nbsp;originsProvider: (backendConfig: string): (): Promise\<[Origins](./interfaces.md#origins)>

}>

---

## `Class` UnreadCounterPlugin

extends [Plugin](#plugin)

`property` **lastValue**: [UnreadCounterData](./interfaces.md#unreadcounterdata)

---

`property` **onChanged**: [Event](./interfaces.md#event)\<[UnreadCounterData](./interfaces.md#unreadcounterdata)>

---

## `Interface` ButtonProps

`property` **isMobile**?: boolean

>Мобильный вид виджета. Если не задан, вычисляется автоматически



---

`property` **autocloseable**?: boolean

>Если `true`, то при клике вне области попапа, попап будет закрываться



---

`property` **strategies**?: Array\<[BehaviorStrategies](./interfaces.md#behaviorstrategies)>

>Стратегии открытия



---

`property` **badgeMaxCount**?: number

>При превышении указанного ограничения отобразится сокращенная форма записи значения счетчика (maxCount+)



---

`property` **badgeType**?: [BadgeType](./interfaces.md#badgetype)

>Вид бейджика с количеством непрочитанных сообщений.



---

`property` **collapsedDesktop**?: [ButtonCollapsed](./interfaces.md#buttoncollapsed)

>Свернута ли кнопка виджета в десктопном отображении.



---

`property` **collapsedTouch**?: [ButtonCollapsed](./interfaces.md#buttoncollapsed)

>Свернута ли кнопка виджета в мобильном отображении.



---

`property` **buttonText**?: string

>Текст кнопки виджета



---

`property` **unreadCounterPlugin**?: [UnreadCounterPlugin](./interfaces.md#unreadcounterplugin)

>Плагин кол-ва непрочитанных сообщений



---

`property` **paranjaVisible**?: boolean

>Если `true`, полупрозрачный слой для затемнения фона будет виден
Для правильной работы необходимо монтировать кнопку в `body`
Слой не отключает скролл страницы, включать/отключать скролл можно в событие `onToggled`



---

`property` **pageScrollController**?: [PageScrollController](./interfaces.md#pagescrollcontroller)

>Установить кастомный контроллер скролла страницы
Нужен для управления поведением скролла страницы при открытии попапа
Контроллер по умолчанию отключает скролл страницы в мобильном режиме



---

## `Class` ButtonUI

extends [PopupBase](#popupbase)

`method` **mount**(node: HTMLElement): void

`node`: HTMLElement

>Узел в который будет смонитрован UI