export declare type PlayerTheme = { text?: string; link?: string; linkHover?: string; trackPlayed?: string; trackUnplayed?: string; trackBackground?: string; backgroundTop?: string; backgroundBottom?: string; backgroundText?: string; linkActive?: string; }; declare type AdsOptions = { adTagUrl: string; }; declare type SdkOptions = { id: string; live?: boolean; autoplay?: boolean; muted?: boolean; metadata?: { [key: string]: string; }; hideControls?: boolean; hidePoster?: boolean; chromeless?: boolean; loop?: boolean; hideTitle?: boolean; iframeUrl?: string; token?: string; privateSession?: string; showSubtitles?: boolean; ads?: AdsOptions; playbackRate?: number; sequence?: { start: number; end: number; }; customDomain?: string; minimalQuality?: number; maximalQuality?: number; hotKeys?: boolean; }; declare type PlayerSdkEvent = { airplayConnected: () => void; airplayDisconnected: () => void; chromecastConnected: () => void; chromecastDisconnected: () => void; controlsdisabled: () => void; controlsenabled: () => void; ended: () => void; error: () => void; firstplay: () => void; fullscreenchange: (isFullScreen: boolean) => void; mouseenter: () => void; mouseleave: () => void; pause: () => void; play: () => void; playerresize: () => void; qualitychange: (value: { resolution: { height: number; width: number; }; }) => void; ratechange: () => void; ready: () => void; resize: () => void; seeking: () => void; timeupdate: (value: { currentTime: number; }) => void; useractive: () => void; userinactive: () => void; volumechange: (value: { volume: number; }) => void; }; export declare type ControlName = "play" | "seekBackward" | "seekForward" | "playbackRate" | "volume" | "fullscreen" | "subtitles" | "chapters" | "pictureInPicture" | "progressBar" | "chromecast" | "download" | "more"; export declare class PlayerSdk { private iframe; private sdkInSync; private currentVideoReady; private onceSdkInSyncCallbacks; private onceVideoReadyCallbacks; private userEventListeners; private sdkPlayerId; private sdkOrigin; private playerOrigin; private postMessageCallbacks; private iframeUrl; private options; static nextSdkPlayerId: number; constructor(targetSelector: string | Element, userOptions?: SdkOptions); private getIframeUrl; loadConfig(options: SdkOptions): void; play(): void; setVideoStyleTransform(value: string): void; setVideoStyleObjectFit(value: "contain" | "cover" | "fill" | "none" | "scale-down"): void; setMinimalQuality(quality: number): void; setMaximalQuality(quality: number): void; hideControls(controls?: ControlName[]): void; showControls(controls?: ControlName[]): void; hideSubtitles(): void; showSubtitles(): void; hideTitle(): void; showTitle(): void; hidePoster(): void; showPoster(): void; pause(): void; mute(): void; unmute(): void; seek(time: number): void; setCurrentTime(time: number): void; setVolume(volume: number): void; setAutoplay(autoplay: boolean): void; setLoop(loop: boolean): void; setChromeless(chromeless: boolean): void; setPlaybackRate(rate: number): void; exitFullscreen(): void; requestFullscreen(): void; exitPictureInPicture(): void; requestPictureInPicture(): void; setTheme(theme: PlayerTheme): void; getPaused(callback?: (paused: boolean) => void): Promise; getMuted(callback?: (muted: boolean) => void): Promise; getPlaying(callback?: (muted: boolean) => void): Promise; getDuration(callback?: (duration: number) => void): Promise; getCurrentTime(callback?: (currentTime: number) => void): Promise; getPlaybackRate(callback?: (rate: number) => void): Promise; getVolume(callback?: (volume: number) => void): Promise; getLoop(callback?: (loop: boolean) => void): Promise; download(filename?: string): void; getVideoSize(callback?: (size: { width: number; height: number; }) => void): Promise<{ width: number; height: number; }>; isLiveStream(callback?: (isLiveStream: boolean) => void): Promise; addEventListener(event: K, callback: PlayerSdkEvent[K]): void; destroy(): void; private createNewPlayer; private buildPlayerUrl; private bindExistingPlayer; private addParametersInIframeHash; private urlParametersFromOptions; private onEvent; private onSdkInSync; private onVideoReady; private postMessage; private appendQueryParamIfMissing; private makeId; private createIframe; private setIframeSrc; } export {};