import { UiWaitingVideoInfoConfig } from "../generated/UiWaitingVideoInfoConfig";
import { TeamAppsEvent } from "./util/TeamAppsEvent";
import { UiComponent } from "./UiComponent";
import { TeamAppsUiContext } from "./TeamAppsUiContext";
import { UiLiveStreamComponent_ResultOfRequestInputDeviceAccessEvent, UiLiveStreamComponent_ResultOfRequestInputDeviceInfoEvent, UiLiveStreamComponentCommandHandler, UiLiveStreamComponentConfig, UiLiveStreamComponentEventSource } from "../generated/UiLiveStreamComponentConfig";
import { UiPageDisplayMode } from "../generated/UiPageDisplayMode";
export declare class UiLiveStreamComponent extends UiComponent<UiLiveStreamComponentConfig> implements UiLiveStreamComponentCommandHandler, UiLiveStreamComponentEventSource {
    readonly onResultOfRequestInputDeviceAccess: TeamAppsEvent<UiLiveStreamComponent_ResultOfRequestInputDeviceAccessEvent>;
    readonly onResultOfRequestInputDeviceInfo: TeamAppsEvent<UiLiveStreamComponent_ResultOfRequestInputDeviceInfoEvent>;
    private $componentWrapper;
    private $backgroundImageContainer;
    private $backgroundImage;
    private $waitingVideoContainer;
    private waitingVideoPlayer;
    private waitingVideoInfos;
    private currentWaitingVideoIndex;
    private $liveStreamPlayerContainer;
    private hlsPlayer;
    private liveStreamComPlayer;
    private youtubePlayer;
    private $imageOverlayContainer;
    private $imageOverlay;
    private imageOverlayDisplayMode;
    private $infoTextContainer;
    private volume;
    constructor(config: UiLiveStreamComponentConfig, context: TeamAppsUiContext);
    getMainDomElement(): JQuery;
    protected onAttachedToDom(): void;
    onResize(): void;
    showWaitingVideos(waitingVideoInfoConfig: UiWaitingVideoInfoConfig[], offsetSeconds: number, stopLiveStream: Boolean): void;
    private playWaitingVideo;
    stopWaitingVideos(): void;
    startHttpLiveStream(url: string): void;
    startLiveStreamComLiveStream(url: string): void;
    startYouTubeLiveStream(url: string): void;
    stopLiveStream(): void;
    displayImageOverlay(imageUrl: string, displayMode: UiPageDisplayMode, useVideoAreaAsFrame: Boolean): void;
    removeImageOverlay(): void;
    displayInfoTextOverlay(text: string): void;
    removeInfoTextOverlay(): void;
    startCustomEmbeddedLiveStreamPlayer(playerEmbedHtml: string, embedContainerId: string): void;
    requestInputDeviceInfo(): void;
    setVolume(volume: number): void;
    private doWithAllPlayers;
    private updatePlayerSizesAndPositions;
    destroy(): void;
}
