export declare enum PlayerChromingTheme { Default = "DEFAULT", Stamp = "STAMP", Chromeless = "CHROMELESS", Custom = "CUSTOM", Audio = "AUDIO", Omakase = "OMAKASE" } export declare enum ControlBarVisibility { Enabled = "ENABLED", Disabled = "DISABLED", FullscreenOnly = "FULLSCREEN_ONLY" } export declare enum OmakaseControlBarVisibility { Enabled = "ENABLED", Disabled = "DISABLED", AlwaysOn = "ALWAYS_ON" } export declare enum DefaultThemeControl { Play = "PLAY", FrameForward = "FRAME_FORWARD", TenFramesForward = "TEN_FRAMES_FORWARD", FrameBackward = "FRAME_BACKWARD", TenFramesBackward = "TEN_FRAMES_BACKWARD", Bitc = "BITC", Fullscreen = "FULLSCREEN", Captions = "CAPTIONS", Volume = "VOLUME", Scrubber = "SCRUBBER", Trackselector = "TRACKSELECTOR", PlaybackRate = "PLAYBACK_RATE", Detach = "DETACH" } export declare enum AudioThemeControl { Play = "PLAY", Volume = "VOLUME", PlaybackRate = "PLAYBACK_RATE", Trackselector = "TRACKSELECTOR", Scrubber = "SCRUBBER", Time = "TIME" } export declare enum DefaultThemeFloatingControl { Trackselector = "TRACKSELECTOR", HelpMenu = "HELP_MENU", PlaybackControls = "PLAYBACK_CONTROLS", Time = "TIME" } export declare enum StampThemeFloatingControl { ProgressBar = "PROGRESS_BAR", Time = "TIME", PlaybackControls = "PLAYBACK_CONTROLS", ActionIcons = "ACTION_ICONS" } export declare enum StampThemeActionIcon { AudioToggle = "AUDIO_TOGGLE", Fullscreen = "FULLSCREEN" } export declare enum AudioThemeFloatingControl { PlaybackControls = "PLAYBACK_CONTROLS", HelpMenu = "HELP_MENU" } export declare enum ChromelessThemeFloatingControl { Time = "TIME" } export declare enum OmakaseThemeControl { Play = "PLAY", FrameForward = "FRAME_FORWARD", TenFramesForward = "TEN_FRAMES_FORWARD", FrameBackward = "FRAME_BACKWARD", TenFramesBackward = "TEN_FRAMES_BACKWARD", Fullscreen = "FULLSCREEN", Volume = "VOLUME", Trackselector = "TRACKSELECTOR", PlaybackRate = "PLAYBACK_RATE", Detach = "DETACH", Time = "TIME", Close = "CLOSE" } export declare enum OmakaseThemeFloatingControl { ProgressBar = "PROGRESS_BAR", Time = "TIME", PlaybackControls = "PLAYBACK_CONTROLS", ActionIcons = "ACTION_ICONS" } export declare enum OmakaseThemeActionIcon { HelpMenu = "HELP_MENU", Fullscreen = "FULLSCREEN", AudioToggle = "AUDIO_TOGGLE", Volume = "VOLUME", ControlBarToggle = "CONTROL_BAR_TOGGLE" } export declare enum StampThemeScale { Fill = "FILL", Fit = "FIT" } export declare enum TimeFormat { Timecode = "TIMECODE", CountdownTimer = "COUNTDOWN_TIMER", MediaTime = "MEDIA_TIME" } export declare enum WatermarkVisibility { AlwaysOn = "ALWAYS_ON", AutoHide = "AUTO_HIDE" } export declare enum AudioPlayerSize { Full = "FULL", Compact = "COMPACT" } export declare enum FullscreenChroming { Enabled = "ENABLED", Disabled = "DISABLED" } export declare enum OmakaseProgressBarPosition { OverVideo = "OVER_VIDEO", UnderVideo = "UNDER_VIDEO" } export declare enum AudioVisualization { Disabled = "DISABLED", Enabled = "ENABLED" } interface BasePlayerChroming { /** * Chroming theme determines how the player will be chromed. */ readonly theme: T; /** * URL for the thumbnails (used for preview in media chrome time range) */ thumbnailUrl?: string; /** * Function that allows custom handler for getting a thumbnail for given time * @param time time in seconds * @returns thumbnail url */ thumbnailSelectionFn?: (time: number) => string; /** * Watermark text or svg */ watermark?: string; /** * Specifies if watermark is shown when the video is playing */ watermarkVisibility?: WatermarkVisibility; /** * Specifies if chroming is enabled in fullscreen */ fullscreenChroming?: FullscreenChroming; /** * CSS file url(s) for player chroming styling */ styleUrl?: string | string[]; } export interface DefaultThemeConfig { /** * Specifies controls visibility */ controlBarVisibility: ControlBarVisibility; /** * Specifies list of enabled controls in control bar */ controlBar: DefaultThemeControl[]; /** * Specifies list of enabled floating controls */ floatingControls: DefaultThemeFloatingControl[]; /** * Specifies list of enabled floating controls */ alwaysOnFloatingControls: DefaultThemeFloatingControl[]; /** * Sets the available playback rates in menu */ playbackRates: number[]; /** * If false, track selection menu will keep open until explicitly closed. * If true it will close on track selection or when clicking outside of the menu */ trackSelectorAutoClose: boolean; /** * Specifies which time format will be used in the timer control */ timeFormat: TimeFormat; /** * Id of the custom web component used for Player chroming */ htmlTemplateId?: string; } export interface CustomThemeConfig { /** * Id of the custom web component used for Player chroming */ htmlTemplateId: string; } export interface DefaultChroming extends BasePlayerChroming { themeConfig?: Partial; } export interface CustomChroming extends BasePlayerChroming { themeConfig?: Partial; } export interface StampThemeConfig { /** * Specifies list of enabled floating controls */ floatingControls: StampThemeFloatingControl[]; /** * Specifies list of floating controls that are shown when the video is playing */ alwaysOnFloatingControls: StampThemeFloatingControl[]; /** * Specifies list of enabled action icons */ actionIcons: StampThemeActionIcon[]; /** * Specifies how the video will fill the container */ stampScale: StampThemeScale; /** * Specifies which time format will be used in the timer control */ timeFormat: TimeFormat; /** * Id of the custom web component used for Player chroming */ htmlTemplateId?: string; } export interface AudioVisualizationConfig { /** * Hex value for the stroke color */ strokeColor: string; /** * Hex values for the fill gradient colors */ fillColors: string[]; } export interface AudioThemeConfig { /** * Specifies controls visibility */ controlBarVisibility: Omit; /** * Specifies list of enabled controls in control bar */ controlBar: AudioThemeControl[]; /** * Specifies list of enabled floating controls */ floatingControls: AudioThemeFloatingControl[]; /** * Sets the available playback rates in menu */ playbackRates: number[]; /** * Specifies the audio player size */ playerSize: AudioPlayerSize; /** * Enables/disables the audio visualization */ visualization: AudioVisualization; /** * Configures the audio visualization */ visualizationConfig: AudioVisualizationConfig; /** * Specifies which time format will be used in the timer control */ timeFormat: TimeFormat; /** * Id of the custom web component used for Player chroming */ htmlTemplateId?: string; } export interface OmakaseThemeConfig { /** * Specifies the list of enabled floating controls */ floatingControls: OmakaseThemeFloatingControl[]; /** * Specifies the list of floating controls that are shown when the video is playing */ alwaysOnFloatingControls: OmakaseThemeFloatingControl[]; /** * Specifies the list of enabled action icons */ actionIcons: OmakaseThemeActionIcon[]; /** * Specifies which time format will be used in the timer control */ timeFormat: TimeFormat; /** * Specifies controls visibility */ controlBarVisibility: OmakaseControlBarVisibility; /** * Specifies list of enabled controls in control bar */ controlBar: OmakaseThemeControl[]; /** * Specifies control bar position */ progressBarPosition: OmakaseProgressBarPosition; /** * Sets the available playback rates in menu */ playbackRates: number[]; /** * Id of the custom web component used for Player chroming */ htmlTemplateId?: string; } export interface ChromelessThemeConfig { /** * Specifies which time format will be used in the timer control */ timeFormat: TimeFormat; /** * Specifies the list of enabled floating controls */ floatingControls: ChromelessThemeFloatingControl[]; /** * Specifies the list of floating controls that are shown when the video is playing */ alwaysOnFloatingControls: ChromelessThemeFloatingControl[]; } export interface StampChroming extends BasePlayerChroming { themeConfig?: Partial; } export interface AudioChroming extends BasePlayerChroming { themeConfig?: Partial; } export interface OmakaseChroming extends BasePlayerChroming { themeConfig?: Partial; } export interface ChromelessChroming extends BasePlayerChroming { themeConfig?: Partial; } export type PlayerChroming = DefaultChroming | StampChroming | CustomChroming | ChromelessChroming | AudioChroming | OmakaseChroming; export declare const DEFAULT_PLAYER_CHROMING_CONFIG: DefaultThemeConfig; export declare const DEFAULT_STAMP_PLAYER_CHROMING_CONFIG: StampThemeConfig; export declare const DEFAULT_AUDIO_PLAYER_CHROMING_CONFIG: AudioThemeConfig; export declare const DEFAULT_OMAKASE_PLAYER_CHROMING_CONFIG: OmakaseThemeConfig; export declare const DEFAULT_CHROMELESS_PLAYER_CHROMING_CONFIG: ChromelessThemeConfig; export declare const DEFAULT_PLAYER_CHROMING: DefaultChroming; export {};