/**
 * THIS IS GENERATED CODE!
 * PLEASE DO NOT MODIFY - ALL YOUR WORK WOULD BE LOST!
 */
export declare const typescriptDeclarationFixConstant = 1;
import { UiEvent } from "./UiEvent";
import { TeamAppsEvent } from "../modules/util/TeamAppsEvent";
import { UiComponentConfig } from "./UiComponentConfig";
import { UiColorConfig } from "./UiColorConfig";
import { UiMediaPreloadMode } from "./UiMediaPreloadMode";
import { UiComponentCommandHandler } from "./UiComponentConfig";
export declare enum UiVideoPlayer_PosterImageSize {
    CONTAIN = 0,
    COVER = 1,
    ORIGINAL = 2
}
export interface UiVideoPlayerConfig extends UiComponentConfig {
    _type?: string;
    url: string;
    autoplay?: boolean;
    showControls?: boolean;
    posterImageUrl?: string;
    posterImageSize?: UiVideoPlayer_PosterImageSize;
    sendPlayerProgressEventsEachXSeconds?: number;
    backgroundColor?: UiColorConfig;
    preloadMode?: UiMediaPreloadMode;
}
export interface UiVideoPlayerCommandHandler extends UiComponentCommandHandler {
    setUrl(url: string): void;
    setPreloadMode(preloadMode: UiMediaPreloadMode): void;
    setAutoplay(autoplay: boolean): void;
    play(): void;
    pause(): void;
    jumpTo(timeInSeconds: number): void;
}
export interface UiVideoPlayerEventSource {
    onErrorLoading: TeamAppsEvent<UiVideoPlayer_ErrorLoadingEvent>;
    onPlayerProgress: TeamAppsEvent<UiVideoPlayer_PlayerProgressEvent>;
    onEnded: TeamAppsEvent<UiVideoPlayer_EndedEvent>;
}
export interface UiVideoPlayer_ErrorLoadingEvent extends UiEvent {
}
export interface UiVideoPlayer_PlayerProgressEvent extends UiEvent {
    positionInSeconds: number;
}
export interface UiVideoPlayer_EndedEvent extends UiEvent {
}
