import { BrowserPlugin } from '@snowplow/browser-tracker-core'; declare enum SnowplowEvent { PERCENTPROGRESS = "percentprogress", SEEK = "seek", VOLUMECHANGE = "volumechange" } // The payload a YouTube player event emits has no identifier of what event it is // Some payloads can emit the same data // i.e. onError and onPlaybackRateChange can both emit '{data: 2}' declare enum YTPlayerEvent { ONSTATECHANGE = "onStateChange", ONPLAYBACKQUALITYCHANGE = "onPlaybackQualityChange", ONERROR = "onError", ONAPICHANGE = "onApiChange", ONPLAYBACKRATECHANGE = "onPlaybackRateChange", ONREADY = "onReady" } declare enum YTState { UNSTARTED = "unstarted", ENDED = "ended", PLAYING = "play", PAUSED = "pause", BUFFERING = "buffering", CUED = "cued" } type EventGroup = (SnowplowEvent | YTPlayerEvent | YTState | string)[]; interface MediaTrackingOptions { boundaries?: number[]; captureEvents?: EventGroup; label?: string; updateRate?: number; } declare function YouTubeTrackingPlugin(): BrowserPlugin; declare function enableYouTubeTracking(args: { id: string; options?: MediaTrackingOptions; }): void; export { YouTubeTrackingPlugin, enableYouTubeTracking };