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