import type { HlsInterstitial } from './HlsInterstitialsConfigAPI'; /** * Key for ad creative signaling in custom attributes. * * @hidden */ export declare const AD_CREATIVE_SIGNALING_KEY = "X-AD-CREATIVE-SIGNALING"; /** * Known client attributes for HLS interstitials. * * @hidden */ export declare const KNOWN_CLIENT_ATTRIBUTES: string[]; /** * Internal representation of an HLS interstitial, extending the public HlsInterstitial interface. * * @hidden */ export interface InternalHlsInterstitial extends HlsInterstitial { /** * Internal flag tracking whether this interstitial has already been played. */ hasBeenPlayed?: boolean; /** * Whether the interstitial is allowed to be loaded based on user feedback. * Undefined means the callback was not evaluated yet. */ isLoadAllowed?: boolean; } export interface HlsInterstitialAssetList { /** * Array of interstitial assets in the asset list. */ assets: HlsInterstitialAsset[]; /** * Any attributes that is not known in the HLS interstitial asset list spec. * The tracking information could be present here, X-AD-CREATIVE-SIGNALING in case of SVTA. */ customAttributes?: { [key: string]: any; }; } export interface HlsInterstitialAsset { /** * The URI of the interstitial asset. */ uri: string; /** * The duration of the interstitial asset in seconds. */ duration: number; /** * Any attributes that is not known in the HLS interstitial asset spec. * The tracking information could be present here, X-AD-CREATIVE-SIGNALING in case of SVTA. */ customAttributes?: { [key: string]: any; }; } /** * Enum for X-RESTRICT header values that control playback behavior during ads. * SGAI (Server-Guided Ad Insertion) specification support. */ export declare enum RestrictValue { /** * SKIP: Seeking or playing at higher rate while playing ads should not be allowed. * Corresponds to SeekingRestriction.NO_SEEKING. */ SKIP = "SKIP", /** * JUMP: When jumping over multiple ads, at least one ad must play. * Used with JumpPolicy.RESTRICT. */ JUMP = "JUMP" } /** * Seeking restriction policy for HLS interstitial playback. * Derived from X-RESTRICT header in HLS manifests. * When undefined, no seeking restrictions are applied. */ export declare enum SeekingRestriction { /** * NO_SEEKING: Seeking or playing at higher rate while playing ads should not be allowed. * Corresponds to X-RESTRICT=SKIP header. */ NO_SEEKING = "NO_SEEKING" } /** * Jump over ads policy for HLS interstitial playback. * Derived from X-RESTRICT header in HLS manifests. */ export declare enum JumpPolicy { /** * ALLOW: Ad break can be jumped over without restriction. * Corresponds to no X-RESTRICT or X-RESTRICT without "JUMP". */ ALLOW = "ALLOW", /** * RESTRICT: Ad break cannot be jumped over, at least one ad must play. * Corresponds to X-RESTRICT="JUMP" header. */ RESTRICT = "RESTRICT" } /** * Trigger policy for HLS interstitial playback. * Derived from CUE attribute in HLS manifests. */ export declare enum TriggerPolicy { /** * PRE: Trigger the interstitial before the main content starts. */ PRE = "PRE", /** * POST: Trigger the interstitial after the main content ends. */ POST = "POST", /** * ONCE: Trigger the interstitial only once during the main content. */ ONCE = "ONCE" }