import { IframeUrlParams } from '../types'; import { Preset } from './presets/types'; /** * @doctitle Конфигуратор виджета * @doc * Используется для конфигурации виджета. Пакет поставляет набор часто используемых настроек виджета * а так же пресеты для переопределения стандартных настроек (таких как ориджин мессенджера, env бэкэнда, * вид мессенджера и т.п.). Существующие прессеты описаны ниже. * * В конфиг необходимо передать [serviceId](/doc/cookbook.md#serviceid)! * * @example * const config = new Config( * presets.origin.external.prod, * presets.backend.prod, * presets.type.multiChats, * { * serviceId: 1337, // 1337 - это пример * } * ) * * const widget = new Widget(config); */ interface GetMessengerUrlParams extends IframeUrlParams { widgetId: string; protocolVersion: number; origin?: string; uid?: string; } export declare class Config { static DEFAULTS: Preset[]; static extend(...presets: Preset[]): { new (...presets: Partial[]): { values: Partial; /** * Добавляет переданные пресеты в конфиг, во время создания конфига * все пресеты объединяются в 1 конфиг в порядке добавления * @param presets Пресеты для расширения */ extend(...presets: Partial[]): void; getFlags(): string; getMessengerUrl(params: GetMessengerUrlParams): string; }; DEFAULTS: Partial[]; extend(...presets: Preset[]): any; }; values: Preset; /** * В конструктор можно передать набор прессетов и опции (ознакомиться с ними можно ниже) * @doctemplate method_annotation */ constructor(...presets: Preset[]); /** * Добавляет переданные пресеты в конфиг, во время создания конфига * все пресеты объединяются в 1 конфиг в порядке добавления * @param presets Пресеты для расширения */ extend(...presets: Preset[]): void; getFlags(): string; getMessengerUrl(params: GetMessengerUrlParams): string; } export {};