import type { EventBase } from '../../event-bus/Types'; import type { AdQuartile } from '../base/AdQuartile'; import type { Ad, AdBreak, AdPod } from './Types'; export declare enum AdvertisingEvent { AdBreakAdded = "ad-break-added", AdBreakChanged = "ad-break-changed", AdBreakRemoved = "ad-break-removed", AdBreakStarted = "ad-break-started", AdBreakError = "ad-break-error", AdBreakFinished = "ad-break-finished", AdPodAdded = "ad-pod-added", AdPodRemoved = "ad-pod-removed", AdPodLoaded = "ad-pod-loaded", AdPodStarted = "ad-pod-started", AdPodError = "ad-pod-error", AdPodFinished = "ad-pod-finished", AdStarted = "ad-started", AdFinished = "ad-finished", AdSkippableStateChanged = "ad-skippable-state-changed", AdSkipped = "ad-skipped", AdError = "ad-error", AdClicked = "ad-clicked", AdQuartile = "ad-quartile", AdPlaying = "ad-playing", AdPaused = "ad-paused", AdProgress = "ad-progress", AdVolumeChanged = "ad-volume-changed" } export type AdBreakEvent = EventBase & { adBreak: AdBreak; }; export type AdBreakErrorEvent = AdBreakEvent & { error: Error; }; export type AdPodEvent = EventBase & { adPod: AdPod; }; export type AdPodErrorEvent = AdPodEvent & { error: Error; }; export type AdEvent = AdPodEvent & { ad: Ad; }; export type AdErrorEvent = AdEvent & { error: Error; }; export type AdQuartileEvent = AdEvent & { quartile: AdQuartile; }; export type AdClickedEvent = AdEvent & { clickThroughUrl: string; }; export type AdProgressEvent = AdEvent & { currentTime: number; duration: number; }; export type AdVolumeChangedEvent = AdEvent & { volume: number; }; export type AdvertisingEventMap = { [AdvertisingEvent.AdBreakAdded]: AdBreakEvent; [AdvertisingEvent.AdBreakChanged]: AdBreakEvent; [AdvertisingEvent.AdBreakRemoved]: AdBreakEvent; [AdvertisingEvent.AdBreakStarted]: AdBreakEvent; [AdvertisingEvent.AdBreakError]: AdBreakErrorEvent; [AdvertisingEvent.AdBreakFinished]: AdBreakEvent; [AdvertisingEvent.AdPodAdded]: AdPodEvent; [AdvertisingEvent.AdPodRemoved]: AdPodEvent; [AdvertisingEvent.AdPodLoaded]: AdPodEvent; [AdvertisingEvent.AdPodStarted]: AdPodEvent; [AdvertisingEvent.AdPodError]: AdPodErrorEvent; [AdvertisingEvent.AdPodFinished]: AdPodEvent; [AdvertisingEvent.AdStarted]: AdEvent; [AdvertisingEvent.AdFinished]: AdEvent; [AdvertisingEvent.AdSkippableStateChanged]: AdEvent; [AdvertisingEvent.AdSkipped]: AdEvent; [AdvertisingEvent.AdError]: AdErrorEvent; [AdvertisingEvent.AdClicked]: AdClickedEvent; [AdvertisingEvent.AdQuartile]: AdQuartileEvent; [AdvertisingEvent.AdPlaying]: AdEvent; [AdvertisingEvent.AdPaused]: AdEvent; [AdvertisingEvent.AdProgress]: AdProgressEvent; [AdvertisingEvent.AdVolumeChanged]: AdVolumeChangedEvent; };