import type { AnalyticsConfig } from './ConfigAPI'; export interface CustomDataValues { customData1?: string; customData2?: string; customData3?: string; customData4?: string; customData5?: string; customData6?: string; customData7?: string; customData8?: string; customData9?: string; customData10?: string; customData11?: string; customData12?: string; customData13?: string; customData14?: string; customData15?: string; customData16?: string; customData17?: string; customData18?: string; customData19?: string; customData20?: string; customData21?: string; customData22?: string; customData23?: string; customData24?: string; customData25?: string; customData26?: string; customData27?: string; customData28?: string; customData29?: string; customData30?: string; customData31?: string; customData32?: string; customData33?: string; customData34?: string; customData35?: string; customData36?: string; customData37?: string; customData38?: string; customData39?: string; customData40?: string; customData41?: string; customData42?: string; customData43?: string; customData44?: string; customData45?: string; customData46?: string; customData47?: string; customData48?: string; customData49?: string; customData50?: string; customData51?: string; customData52?: string; customData53?: string; customData54?: string; customData55?: string; customData56?: string; customData57?: string; customData58?: string; customData59?: string; customData60?: string; customData61?: string; customData62?: string; customData63?: string; customData64?: string; customData65?: string; customData66?: string; customData67?: string; customData68?: string; customData69?: string; customData70?: string; customData71?: string; customData72?: string; customData73?: string; customData74?: string; customData75?: string; customData76?: string; customData77?: string; customData78?: string; customData79?: string; customData80?: string; customData81?: string; customData82?: string; customData83?: string; customData84?: string; customData85?: string; customData86?: string; customData87?: string; customData88?: string; customData89?: string; customData90?: string; customData91?: string; customData92?: string; customData93?: string; customData94?: string; customData95?: string; customData96?: string; customData97?: string; customData98?: string; customData99?: string; customData100?: string; experimentName?: string; } export type SsaiAdMetadata = { adId?: string; adSystem?: string; customData?: CustomDataValues; durationInMs?: number; isSlate?: boolean; }; export type AdPosition = 'preroll' | 'midroll' | 'postroll'; export type SsaiAdBreakMetadata = { adPosition?: AdPosition; expectedPaidAds?: number; expectedSlates?: number; }; export type SsaiAdQuartile = 'first' | 'midpoint' | 'third' | 'completed'; export type SsaiAdQuartileMetadata = { failedBeaconUrl?: string; }; export interface SsaiApi { adBreakStart(adBreakMetadata?: SsaiAdBreakMetadata): void; adStart(adMetadata?: SsaiAdMetadata): void; adQuartileFinished(adQuartile: SsaiAdQuartile, adQuartileMetadata?: SsaiAdQuartileMetadata): void; adBreakEnd(): void; } export interface Bitmovin8Adapter { get version(): string; getCurrentImpressionId(): string | undefined; getUserId(): string | undefined; setCustomData(values: CustomDataValues): void; setCustomDataOnce(values: CustomDataValues): void; sourceChange(config: AnalyticsConfig): void; readonly ssai: SsaiApi; }