import { MuxMediaProps, StreamTypes, ValueOf, Metadata, MediaError } from '@mux-elements/playback-core'; import type { PlaybackEngine, Autoplay, UpdateAutoplay, ExtensionMimeTypeMap } from '@mux-elements/playback-core'; import CustomVideoElement, { VideoEvents } from './CustomVideoElement'; declare class MuxVideoElement extends CustomVideoElement implements Partial { static get observedAttributes(): string[]; protected __hls?: PlaybackEngine; protected __playerInitTime: number; protected __metadata: Readonly; protected __playerSoftwareVersion?: string; protected __playerSoftwareName?: string; protected __updateAutoplay?: UpdateAutoplay; protected __errorTranslator?: Function; constructor(); get playerInitTime(): number; get playerSoftwareName(): string | undefined; set playerSoftwareName(value: string | undefined); get playerSoftwareVersion(): string | undefined; set playerSoftwareVersion(value: string | undefined); /** * @deprecated please use ._hls instead */ get hls(): import("hls.js").default | undefined; get _hls(): import("hls.js").default | undefined; get mux(): Readonly | undefined; get error(): MediaError | null; get errorTranslator(): Function | undefined; set errorTranslator(value: Function | undefined); get src(): string; set src(val: string); get type(): ValueOf | undefined; set type(val: ValueOf | undefined); get autoplay(): Autoplay; set autoplay(val: Autoplay); /** @TODO write a generic module for well defined primitive types -> attribute getter/setters/removers (CJP) */ get debug(): boolean; set debug(val: boolean); get startTime(): number | undefined; set startTime(val: number | undefined); get playbackId(): string | undefined; set playbackId(val: string | undefined); get customDomain(): string | undefined; set customDomain(val: string | undefined); get envKey(): string | undefined; set envKey(val: string | undefined); get beaconCollectionDomain(): string | undefined; set beaconCollectionDomain(val: string | undefined); get streamType(): ValueOf | undefined; set streamType(val: ValueOf | undefined); /** @TODO Followup: naming convention: all lower (common per HTMLElement props) vs. camel (common per JS convention) (CJP) */ get preferMse(): boolean; set preferMse(val: boolean); get metadata(): Readonly | undefined; set metadata(val: Readonly | undefined); load(): void; unload(): void; attributeChangedCallback(attrName: string, oldValue: string | null, newValue: string | null): void; disconnectedCallback(): void; } declare type MuxVideoElementType = typeof MuxVideoElement; declare global { var MuxVideoElement: MuxVideoElementType; } export { PlaybackEngine, PlaybackEngine as Hls, ExtensionMimeTypeMap as MimeTypes, MediaError, VideoEvents }; export default MuxVideoElement;