import { BoclipsError } from './../ErrorHandler/BoclipsPlayerError'; import { BoclipsApiClient } from '../BoclipsApiClient/BoclipsApiClient'; import { Logger } from '../Logger'; import { ErrorHandler } from '../ErrorHandler/ErrorHandler'; import { Analytics } from '../Events/Analytics'; import { MediaPlayer, PlaybackSegment } from '../MediaPlayer/MediaPlayer'; import { DeepPartial } from '../types/Utils'; import { Video } from '../types/Video'; import './BoclipsPlayer.scss'; import { PlayerOptions } from './PlayerOptions'; import { OnReadyResult } from '../types/OnReadyResult'; export interface Player { play: () => Promise; pause: () => void; loadVideo: (videoUri: string, segment?: PlaybackSegment) => Promise; destroy: () => void; onEnd: (callback: (endOverlay: HTMLDivElement) => void) => void; onError: (callback: (error: BoclipsError) => void) => void; onReady: (callback: (result: OnReadyResult) => void) => void; } export interface PrivatePlayer extends Player { getContainer: () => HTMLElement; getClient: () => BoclipsApiClient; getAnalytics: () => Analytics; getErrorHandler: () => ErrorHandler; getPlayerId: () => string; getOptions: () => PlayerOptions; getVideo: () => Video | undefined; getMediaPlayer: () => MediaPlayer; } export declare class BoclipsPlayer implements PrivatePlayer { private readonly container; private readonly logger; private readonly options; private readonly mediaPlayer; private readonly analytics; private readonly errorHandler; private readonly boclipsClient; private video; private playerId; constructor(container: HTMLElement, options?: DeepPartial, logger?: Logger); private handleResizeEvent; loadVideo: (videoUri: string, segment?: PlaybackSegment) => Promise; getPlayerId: () => string; destroy: () => void; onEnd: (callback: (endOverlay: HTMLDivElement) => void) => void; onError: (callback: (error: BoclipsError) => void) => void; onReady: (callback: (result: OnReadyResult) => void) => void; getContainer: () => HTMLElement; getMediaPlayer: () => MediaPlayer; getAnalytics: () => Analytics; getErrorHandler: () => ErrorHandler; getClient: () => BoclipsApiClient; getVideo: () => Video; play: () => Promise; pause: () => void; getOptions: () => PlayerOptions; getVideoTitle: () => string; }