import View from './volume.view';
import { IEventEmitter } from '../../../event-emitter/types';
import { ITooltipService } from '../../core/tooltip/types';
import { IVolumeControl } from './types';
import { ITextMap } from '../../../text-map/types';
import { IPlaybackEngine } from '../../../playback-engine/types';
import { IThemeService } from '../../core/theme';
export default class VolumeControl implements IVolumeControl {
    static moduleName: string;
    static View: typeof View;
    static dependencies: string[];
    private _engine;
    private _eventEmitter;
    private _textMap;
    private _tooltipService;
    private _theme;
    private _buttonInterceptor;
    private _inputInterceptor;
    private _unbindEvents;
    view: View;
    isHidden: boolean;
    constructor({ engine, eventEmitter, textMap, tooltipService, theme, }: {
        eventEmitter: IEventEmitter;
        engine: IPlaybackEngine;
        textMap: ITextMap;
        tooltipService: ITooltipService;
        theme: IThemeService;
    });
    getElement(): HTMLElement;
    private _initUI;
    private _initInterceptor;
    private _destroyInterceptor;
    private _bindEvents;
    private _bindCallbacks;
    private _broadcastDragStart;
    private _broadcastDragEnd;
    private _changeVolumeLevel;
    private _toggleMuteState;
    private _getVolumeLevelFromWheel;
    private _getVolumeLevelFromInput;
    private _updateSoundState;
    private _setVolumeLevel;
    private _setMuteState;
    hide(): void;
    show(): void;
    destroy(): void;
}
