import SubtitlesView from './subtitles.view';
import { ISubtitlesAPI, ISubtitles, ISubtitleConfig } from './types';
import { IEventEmitter } from '../../event-emitter/types';
import { IRootContainer } from '../../root-container/types';
import { IPlaybackEngine } from '../../playback-engine/types';
declare class Subtitles implements ISubtitles {
    static moduleName: string;
    static dependencies: string[];
    static View: typeof SubtitlesView;
    isHidden: boolean;
    view: SubtitlesView;
    private _eventEmitter;
    private _video;
    private _activeSubtitleIndex;
    private _trackList;
    private _unbindEvents;
    constructor({ rootContainer, engine, eventEmitter, }: {
        rootContainer: IRootContainer;
        engine: IPlaybackEngine;
        eventEmitter: IEventEmitter;
    });
    setSubtitles(subtitles: string | ISubtitleConfig | Array<ISubtitleConfig>): void;
    setActiveSubtitle(index: number): void;
    showSubtitles(): void;
    hideSubtitles(): void;
    private _addSubtitle;
    removeSubtitles(): void;
    private _clearActiveSubtitle;
    private _setActiveSubtitle;
    getElement(): HTMLElement;
    private _initUI;
    private _bindCallbacks;
    private _bindEvents;
    private _showSubtitles;
    destroy(): void;
}
export { ISubtitlesAPI };
export default Subtitles;
