import { MediaController } from 'media-chrome';
import { MediaThemeElement } from 'media-chrome/dist/media-theme-element';
import { Observable } from 'rxjs';
import { VideoControllerApi } from '../video';
import { MarkerTrackConfig } from '../video/model';
import { MarkerTrackApi } from '../api';
import { TimeRangeMarkerTrackApi } from '../api/time-range-marker-track-api';
import { PlayerChroming } from './model';
export interface PlayerChromingDomControllerApi {
    get mediaControllerElement(): MediaController;
    get themeElement(): MediaThemeElement;
    get playerChroming(): PlayerChroming;
    set playerChroming(playerChroming: PlayerChroming);
    createTemplateDom(): string;
    createSlotsDom(): string;
    initializeDomProperties(): void;
    updateControlBar(): void;
    updateBitc(): void;
    loadThumbnailVtt(vttUrl: string): Observable<void>;
    attachVideoController(videoController: VideoControllerApi): void;
    createMarkerTrack(config: MarkerTrackConfig): MarkerTrackApi;
    getProgressMarkerTrack(): TimeRangeMarkerTrackApi | undefined;
    hideStampOverlay(): void;
    destroy(): void;
}
