export type CustomStatistics = { ident: string; ev: string; aux: Record; }; export type Project = { id?: string; title?: string; deeplink?: string; status?: string; createddate?: string; thumbnails?: Thumbnail[]; name?: string; createdBy?: string; updateddate?: string; updatedBy?: string; subtype?: string; cat?: string[]; clipCount?: number; publisheddate?: string; useGaplessPlayback?: boolean; distribution?: string; goal?: string; useGaplessMetadata?: boolean; useThumbsFromMetadata?: string; noIntroClip?: boolean; analysis?: string; description?: string; author?: string; copyright?: string; transcript?: string; label?: string; chapters?: Chapter[]; timelineId?: string; timelines?: Timeline[]; mainMediaClipId?: string; mainMediaClipData?: MediaClip; }; export type Thumbnail = { src?: string; width?: string; height?: string; main?: boolean; }; export type MediaClipList = { id?: string; title?: string; deeplink?: string; numfound?: number; offset?: number; parentid?: string; status?: string; publication?: string[]; parentpublicationid?: string; mediatype?: string; usetype?: string; modifieddate?: string; createddate?: string; publishedDate?: string; listtypeString?: string; isEmptyBoolean?: boolean; filtersString?: string; createdbyString?: string; updatedbyString?: string; allowDatasource?: string; allowDatasource_boolean?: boolean; score?: number; count?: number; items?: (MediaClip | MediaClipList | Project)[]; }; export type MediaClip = { id?: string; title?: string; deeplink?: string; gendeeplink?: string; sourcetype?: string; length?: string; mediatype?: string; mediatype_override?: string; fitmode?: string; usetype?: string; useThumbsFromMetadata?: string; location?: string; originalfilename?: string; sourceid?: string; description?: string; copyright?: string; author?: string; status?: string; createddate?: string; updateddate?: string; publisheddate?: string; width?: number; height?: number; dar?: string; originalWidth?: number; originalHeight?: number; date?: Dates; src?: string; cat?: string[]; thumbnails?: Thumbnail[]; movingThumbnails?: Thumbnail[]; assets?: MediaAsset[]; hasJobs?: string; hasFailedJobs?: boolean; hasRunningJobs?: boolean; hasNewJobs?: boolean; transcodingFinished?: boolean; isYoutubeImport?: boolean; subtitles?: Subtitle[]; subtitletracks?: Subtitle[]; transcript?: string; timelineId?: string; timelines?: Timeline[]; audiotracks?: Audiotrack[]; youtubeImportID?: string; importSource?: string; importURL?: string; disablecommercials?: string; isDynamic?: string; checkbox?: string; comment?: string; chapters?: Chapter[]; highlights?: Highlight[]; softEmbargo?: string; isOutro?: string; projectId?: string; }; export type Subtitle = { languageid?: string; languagename?: string; id?: string; name?: string; default?: string; isocode?: string; roleFlags?: number; status?: string; isSelected?: boolean; }; export type MediaAsset = { mediatype?: string; id?: string; status?: string; src?: string; length?: string; exactlength?: string; width?: string; height?: string; bandwidth?: string; jobdefid?: string; languageId?: string; languageName?: string; languageIsocode?: string; isDefaultLanguage?: boolean; title?: string; }; export type Audiotrack = { id?: string; type?: string; status?: string; createddate?: string; name?: string; createdBy?: string; updateddate?: string; updatedBy?: string; audioId?: number; isocode?: string; roleFlags?: number; mediaclipid?: string; originalfilename?: string; languageid?: number; src?: string; remotesrc?: string; exactlength?: string; publisheddate?: string; label?: string; uri?: string; isDefaultLanguage?: boolean; isSelected?: boolean; origId?: string; }; export type Highlight = { id?: string; title?: string; timeOffset?: number; }; export type Timeline = { id?: string; }; export type Chapter = { id?: string; title?: string; timeOffset?: number; steps?: Step[]; }; export type Step = { id?: string; mediaClipId?: string; isStart?: boolean; entityType?: string; entityId?: string; }; export type Dates = { created?: string; updated?: string; published?: string; }; export type Playout = { id?: string; main?: string; type?: string; name?: string; status?: string; createddate?: string; updateddate?: string; label?: string; publication?: string; player?: Player; playerid?: string; centerButtonType?: string; cornerRadius?: string; responsiveSizing?: string; aspectRatio?: string; width?: string; height?: string; autoHeight?: string; alphaControlBar?: string; skin_backgroundColor?: string; skin_foregroundColor?: string; skin_widgetColor?: string; bgColor?: string; logoId?: string; logoAlign?: string; controlBar?: string; controlBarPlacement?: string; timeDisplay?: string; timeLine?: string; muteButton?: string; volume?: string; volumeOrientation?: string; languageSelect?: string; qualitySelector?: string; playbackRateSelector?: string; fullScreen?: string; showStartControlBar?: string; shareButton?: string; shareButtonPause?: string; shareButtonEnd?: string; shareButtonEmbedCode?: string; shareButtonEmail?: string; shareButtonFacebook?: string; shareButtonLinkedIn?: string; shareButtonPinterest?: string; shareButtonTwitter?: string; shareButtonWhatsApp?: string; castButton?: string; showBigPlayButton?: string; showBigReplayButton?: string; title?: string; date?: string; authorCopyright?: string; authorCopyrightAlign?: string; authorCopyrightPrefixText?: string; autoPlayNext?: string; relatedItems?: string; relatedItemsPause?: string; useDeeplinkForRelatedItems?: string; useDeeplinkForRelatedItemsPause?: string; exitscreenItemsListId?: string; randomizeRelatedItems?: string; useDeeplinkForFacebook?: string; shareTwitterText?: string; sharePlayout?: string; skinBehaviour?: string; skinOnTimeline?: string; nativeControls?: string; youTubeHosting?: string; youTubeSkinInMainPhase?: string; forceNativeFullscreen?: string; preferHD?: string; nedStatLoggerUrl?: string; googleAnalyticsId?: string; piwikUrl?: string; piwikSiteId?: string; disableCookies?: string; disableContextMenuNavigate?: string; playerSignature?: string; playerSignatureLink?: string; autoPlay?: string; autoMute?: string; autoMuteIfNeededForAutoPlay?: string; autoLoop?: string; floatPlayer?: string; interactivityInView?: string; interactivityOutView?: string; inviewMargin?: string; textAbovePlayer?: string; textCommercialSkip?: string; startCollapsed?: string; playInOverlay?: string; hidePlayerOnEnd?: string; waitForApproval?: string; interactivityMouseIn?: string; interactivityMouseOut?: string; interactivityOnClick?: string; clickURL?: string; nsiNoAutoPlay?: string; nsiNoPlayer?: string; placementOption?: string; placementDOMSelector?: string; iframeBreakout?: string; clearBothOption?: string; forceInview?: string; customCode?: string; preferFlashPlayback?: string; preloadMainroll?: string; disableHtml5VPAID?: string; enableHtml5VPAID?: string; commercialPauseButton?: string; commercialMuteButton?: string; commercialAdIcon?: string; commercialProgressBar?: string; commercialProgressBarColor?: string; commercials?: string; textCommercialTimeRemaining?: string; commercialBehaviour?: string; minClipDurationPreroll?: string; minClipDurationPostroll?: string; allowBBIma?: string; fitmode?: string; mobileRotateOnFullScreenMismatch?: string; noStats?: string; forceAndroidNativeVideo?: string; forceIOSNativeVideo?: string; use2018Skin?: string; useThumbsFromMetadata?: string; audioTrackSelect?: string; shareText?: string; shareButtonDirectLink?: string; googleAnalyticsCustomVars?: string; supportIABConsent?: string; restrictionNpaOnly?: string; restrictionNpcOnly?: string; defaultSubtitle?: string; defaultSubtitleOnlyIfMuted?: string; defaultAudioTrack?: string; forceCanAutoPlay?: string; avoidMutedAutoplay?: string; stickyMode?: string; disableKeyboardControls?: string; taggingDisabled?: string; skipOffset?: string; skipCounterText?: string; skipButtonText?: string; blockInsecureVPAID?: string; shareButtonGooglePlus?: string; timelineId?: string; templateId?: string; hasAdunits?: boolean; ignoreSingleMediaResource?: string; ignoreProjectMetadata?: string; noPosterInExitPhase?: string; logProgressAsQuartiles?: string; autoPauseAfterPrePhase?: string; autoPlayOnlyWithPrerollAd?: string; showOnlyWhenPrerollAvailable?: string; showBigPauseButtons?: string; titlePause?: string; authorCopyrightPause?: string; authorCopyrightAlignPause?: string; authorCopyrightPrefixTextPause?: string; showStartDuration?: string; disableMovingThumbnail?: string; shareButtonHover?: string; showBigHoverButtons?: string; titleHover?: string; authorCopyrightHover?: string; titleEnd?: string; authorCopyrightEnd?: string; softEmbargoCustomPosterClipId?: string; softEmbargoFontColor?: string; softEmbargoHasCustomPoster?: string; softEmbargoText?: string; softEmbargoTimerHidden?: string; adsystem_buid?: string; adsystem_rdid?: string; adsystem_idtype?: string; adsystem_is_lat?: string; swipeDirection?: string; hideSwipeControls?: string; descriptionShowHide?: string; showPlayButton?: string; autoLoopClip?: string; shortsId?: string; adunitId?: string; clipAdInterval?: string; assetPreloadWindow?: string; ctaUrlField?: string; ctaButtonText?: string; ctaButtonUseAccentColor?: string; ctaButtonPosition?: string; }; export type Player = { id?: string; name?: string; type?: string; src?: string; updateddate?: string; }; export type AdUnit = { id?: string; type?: string; status?: string; createddate?: string; createdBy?: string; updateddate?: string; updatedBy?: string; positionType?: string; positionDisplayType?: string; playoutCode?: string; title?: string; code?: string; assignedLineitems?: string[]; label?: string; lineitems?: LineItem[]; }; export type LineItem = { id?: string; type?: string; status?: string; createddate?: string; createdBy?: string; updateddate?: string; updatedBy?: string; creativeType?: string; creativeId?: string; timeout?: number; preferredPlayMode?: string; playout?: Record; title?: string; code?: string; vastUrl?: string; vastSubtype?: string; label?: string; }; export type State = "IDLE" | "LOADING" | "PLAYING" | "PAUSED" | "ERROR"; export type Phase = "INIT" | "PRE" | "MAIN" | "POST" | "EXIT"; export type Override = Omit & NewType;