import Component from "video.js/dist/types/component"; import Player from "video.js/dist/types/player"; import Plugin from "video.js/dist/types/plugin"; import "./settings.css"; interface SettingsButtonOptions { } interface PlayerWithControlBar extends Player { hlsInstance?: unknown; controlBar: Component; } declare const BasePlugin: typeof Plugin; declare class SettingsButton extends BasePlugin { private options; private mainMenu; private settingsButton; private buttonInstance; private backButton; private playbackRateButton; private qualityRateButton; private audioTracksButton; private textTracksButton; constructor(player: PlayerWithControlBar, options: SettingsButtonOptions); /** * Инициализация плагина: создание кнопки настроек и привязка событий */ private initialize; /** * Привязка событий плеера (например, для обновления меню) */ private bindPlayerEvents; /** * Создание кнопки настроек и определение пунктов меню. * Здесь создаются фабрики для формирования кнопок и устанавливается начальное меню. */ private createSettingsButton; /** * Обёртка для создания экземпляра пункта меню. * * @param item - объект настроек пункта меню * @returns экземпляр TachVideoMenuItem */ private getMenuItem; /** * Устанавливает (обновляет) пункты меню плагина. * * @param items - массив пунктов меню (если не передан, используются кнопки по умолчанию) * @param skipBackButton - если true, не добавлять кнопку "Назад" * @param forceShow - если true, принудительно показать меню после обновления */ private setMenu; } export default SettingsButton; //# sourceMappingURL=index.d.ts.map