import mux from 'mux-embed'; import { Nullable, ObjectLike } from '@mlytics/core-ts/core/type/basic'; import { SpecDriver } from '../../../../../essential/module/mixin'; import { GtagData } from '../gtag/utility'; declare global { interface Window { mux: typeof mux; mData?: Nullable; } } declare class MuxMonitor { static make(options: MuxMonitorOptions): ObjectLike; static setup(options: MuxMonitorOptions): void; } type MuxMonitorOptions = { url: string; driver: SpecDriver; element: HTMLMediaElement; playerName: string; driverError?: Nullable; customData: MuxMonitorCustomData; }; type MuxMonitorCustomData = { gtagData?: Nullable; }; type MuxHTMLMediaElement = HTMLMediaElement & { mux: typeof mux; }; export { MuxMonitor, MuxMonitorOptions, MuxMonitorCustomData, MuxHTMLMediaElement };