/// <reference path="../../../ts/custom-declarations/mediaelement.d.ts" />
import "mediaelement/full";
import { AbstractUiComponent } from "./AbstractUiComponent";
import { TeamAppsEvent } from "./util/TeamAppsEvent";
import { TeamAppsUiContext } from "./TeamAppsUiContext";
import { UiVideoPlayer_EndedEvent, UiVideoPlayer_ErrorLoadingEvent, UiVideoPlayer_PlayerProgressEvent, UiVideoPlayerCommandHandler, UiVideoPlayerConfig, UiVideoPlayerEventSource } from "../generated/UiVideoPlayerConfig";
import { UiMediaPreloadMode } from "../generated/UiMediaPreloadMode";
export declare class UiVideoPlayer extends AbstractUiComponent<UiVideoPlayerConfig> implements UiVideoPlayerCommandHandler, UiVideoPlayerEventSource {
    readonly onPlayerProgress: TeamAppsEvent<UiVideoPlayer_PlayerProgressEvent>;
    readonly onEnded: TeamAppsEvent<UiVideoPlayer_EndedEvent>;
    readonly onErrorLoading: TeamAppsEvent<UiVideoPlayer_ErrorLoadingEvent>;
    private $componentWrapper;
    private $video;
    private mediaPlayer;
    private contentReady;
    private jumpToPositionWhenReady;
    private destroyed;
    private autoplay;
    private playState;
    constructor(config: UiVideoPlayerConfig, context: TeamAppsUiContext);
    doGetMainElement(): HTMLElement;
    private onContentReady;
    play(): void;
    pause(): void;
    jumpTo(seconds: number): void;
    onResize(): void;
    destroy(): void;
    setAutoplay(autoplay: boolean): void;
    setPreloadMode(preloadMode: UiMediaPreloadMode): void;
    setUrl(url: string): void;
}
