import React from 'react'; import type { CSSProperties } from 'react'; import type { CmcdTypes, PlaybackTypes, StreamTypes } from '@mux/playback-core'; import { MediaError } from '@imgix/ix-player'; import type IxPlayerElement from '@imgix/ix-player'; import type { Tokens } from '@imgix/ix-player'; export { MediaError }; type ValueOf = T[keyof T]; interface GenericEventListener { (evt: T): void; } export type IxPlayerRefAttributes = IxPlayerElement; type VideoApiAttributes = { currentTime: number; volume: number; paused: boolean; src: string | null; poster: string; playbackRate: number; playsInline: boolean; preload: string; crossOrigin: string; autoPlay: boolean | string; loop: boolean; muted: boolean; style: CSSProperties; type: string; }; type MuxMediaPropTypes = { audio: boolean; envKey: string; debug: boolean; disableCookies: boolean; metadata: { [k: string]: any; }; beaconCollectionDomain: string; customDomain: string; playbackId: string; preferPlayback: ValueOf | undefined; streamType: ValueOf | 'vod'; startTime: number; preferCmcd: ValueOf | undefined; children: never[]; }; interface IxPlayerElementEventMap extends HTMLVideoElementEventMap { } export type IxPlayerProps = { className?: string; hotkeys?: string; nohotkeys?: boolean; defaultHiddenCaptions?: boolean; playerSoftwareVersion?: string; playerSoftwareName?: string; forwardSeekOffset?: number; backwardSeekOffset?: number; metadataVideoId?: string; metadataVideoTitle?: string; metadataViewerUserId?: string; primaryColor?: string; secondaryColor?: string; placeholder?: string; playbackRates?: number[]; defaultShowRemainingTime?: boolean; thumbnailTime?: number; title?: string; gifPreview?: boolean; posterParams?: string; tokens?: Tokens; onAbort?: GenericEventListener; onCanPlay?: GenericEventListener; onCanPlayThrough?: GenericEventListener; onEmptied?: GenericEventListener; onLoadStart?: GenericEventListener; onLoadedData?: GenericEventListener; onLoadedMetadata?: GenericEventListener; onProgress?: GenericEventListener; onDurationChange?: GenericEventListener; onVolumeChange?: GenericEventListener; onRateChange?: GenericEventListener; onResize?: GenericEventListener; onWaiting?: GenericEventListener; onPlay?: GenericEventListener; onPlaying?: GenericEventListener; onTimeUpdate?: GenericEventListener; onPause?: GenericEventListener; onSeeking?: GenericEventListener; onSeeked?: GenericEventListener; onStalled?: GenericEventListener; onSuspend?: GenericEventListener; onEnded?: GenericEventListener; onError?: GenericEventListener; } & Partial & Partial; declare const IxPlayer: React.ForwardRefExoticComponent & React.RefAttributes>; export default IxPlayer;