import type VideoPlayerButtonConfiguration from './VideoPlayerButtonConfiguration'; import type { VideoPlayerCTADelay } from './VideoPlayerCTADelay'; import type { VideoPlayerCTAStyle } from './VideoPlayerCTAStyle'; import type { VideoPlayerCTAWidth } from './VideoPlayerCTAWidth'; import type { FeedCompleteAction } from './FeedCompleteAction'; import type { VideoPlayerCompleteAction } from './VideoPlayerCompleteAction'; import type { VideoPlayerStyle } from './VideoPlayerStyle'; import type { VideoPlayerLogoConfiguration } from './VideoPlayerLogoConfiguration'; import type { ReplayBadgeConfiguration } from './ReplayBadgeConfiguration'; import type CountdownTimerConfiguration from './CountdownTimerConfiguration'; import type { StatusBarStyle } from './StatusBarStyle'; import type { PipPlacement } from './PipPlacement'; import type { ScrollDirection } from './ScrollDirection'; import type { ShareButtonPosition } from './ShareButtonPosition'; export default interface VideoPlayerConfiguration { /** * Sets the proportion of the video player to its container. * Defaults to full. */ playerStyle?: VideoPlayerStyle; /** * Behavior occurring after video is complete. * Defaults to advanceToNext. */ videoCompleteAction?: VideoPlayerCompleteAction; /** * Indicates if the video player shows share button. * Defaults to true. */ showShareButton?: boolean; /** * The style of CTA button. * Note: iOSFontInfo property is only supported on iOS. */ ctaButtonStyle?: VideoPlayerCTAStyle; /** * Indicates if the video player shows playback button. * Defaults to true. */ showPlaybackButton?: boolean; /** * Indicates if the video player shows mute button. * Defaults to true. */ showMuteButton?: boolean; /** * Indicates if Firework branding should be showed or not. * Defaults to true. */ showBranding?: boolean; /** * Specifies the delay before showing the CTA. * Defaults to { type: constant, value: 3 }. */ ctaDelay?: VideoPlayerCTADelay; /** * Specifies the delay before the highlight animation occurs. * Defaults to { type: constant, value: 2 }. */ ctaHighlightDelay?: VideoPlayerCTADelay; /** * The share base URL of the video. */ shareBaseURL?: string; /** * Specifies the desired width for the Video Player CTA button. * Defaults to fullWidth. */ ctaWidth?: VideoPlayerCTAWidth; /** * The host app could use this property to customize the button images of the video player. */ buttonConfiguration?: VideoPlayerButtonConfiguration; /** * Indicates if the video player shows title. */ showVideoDetailTitle?: boolean; /** * Specifies the logo configuration * Defaults to { option: 'disabled' } */ videoPlayerLogoConfiguration?: VideoPlayerLogoConfiguration; /** * The configuration of replay badge. * Only supported on iOS. */ replayBadgeConfiguration?: ReplayBadgeConfiguration; /** * Specifies countdown timer configuration. */ countdownTimerConfiguration?: CountdownTimerConfiguration; /** * Specifies if the media should be extended outside the safe area. */ shouldExtendMediaOutsideSafeArea?: boolean; /** * Specifies if the status bar should be hidden during video playback. */ statusBarHidden?: boolean; /** * Specifies the status bar style during video playback. */ statusBarStyle?: StatusBarStyle; /** * Specifies the placement for in-app PiP. * Defaults to bottomRight. * Only supported on iOS. */ pipPlacement?: PipPlacement; /** * Specifies the scroll direction. */ scrollDirection?: ScrollDirection; /** * Indicates if the navigation arrow buttons for switching between * previous and next videos are enabled. * Defaults to true. */ isArrowButtonVisible?: boolean; /** * Behavior occurring after feed plays the last video. * Defaults to dismiss. */ feedCompleteAction?: FeedCompleteAction; /** * Indicates if the video player shows the more button. * Defaults to true. */ showMoreButton?: boolean; /** * Specifies where the share button should be displayed. * Defaults to 'videoDetailPage'. */ shareButtonPosition?: ShareButtonPosition; }