import { type PropertyValues, type TemplateResult } from 'lit'; import { type Ref } from 'lit/directives/ref.js'; import { CanPlay, MediaProviderElement, MediaType, ViewType } from '../../media'; export declare const AUDIO_EXTENSIONS: RegExp; export declare const VIDEO_EXTENSIONS: RegExp; /** * A DOMString` indicating the `CORS` setting for this media element. * * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/crossorigin */ export declare type MediaCrossOriginOption = 'anonymous' | 'use-credentials'; /** * Is a `DOMString` that reflects the `preload` HTML attribute, indicating what data should be * preloaded, if any. */ export declare type MediaPreloadOption = 'none' | 'metadata' | 'auto'; /** * `DOMTokenList` that helps the user agent select what controls to show on the media element * whenever the user agent shows its own set of controls. The `DOMTokenList` takes one or more of * three possible values: `nodownload`, `nofullscreen`, and `noremoteplayback`. * * @link https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/controlsList */ export declare type MediaControlsList = 'nodownload' | 'nofullscreen' | 'noremoteplayback' | 'nodownload nofullscreen' | 'nodownload noremoteplayback' | 'nofullscreen noremoteplayback' | 'nodownload nofullscreen noremoteplayback'; /** * The object which serves as the source of the media associated with the `HTMLMediaElement`. The * object can be a `MediaStream`, `MediaSource`, `Blob`, or `File` (which inherits from `Blob`). * * @link https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/srcObject * @link https://developer.mozilla.org/en-US/docs/Web/API/MediaStream * @link https://developer.mozilla.org/en-US/docs/Web/API/MediaSource * @link https://developer.mozilla.org/en-US/docs/Web/API/Blob * @link https://developer.mozilla.org/en-US/docs/Web/API/File */ export declare type MediaSrcObject = MediaStream | MediaSource | Blob | File; /** * Enables loading, playing and controlling media files via the HTML5 MediaElement API. This is * used internally by the `vds-audio` and `vds-video` components. This provider only contains * glue code so don't bother using it on it's own. * * @slot - Pass `` and `` elements to the underlying HTML5 media player. */ export declare class Html5MediaElement extends MediaProviderElement { /** * Determines what controls to show on the media element whenever the browser shows its own set * of controls (e.g. when the controls attribute is specified). * * @example 'nodownload nofullscreen noremoteplayback' * @link https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/controlsList */ controlsList: MediaControlsList | undefined; /** * Whether to use CORS to fetch the related image. * * @link https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/crossOrigin */ crossOrigin: MediaCrossOriginOption | undefined; /** * Reflects the muted attribute, which indicates whether the audio output should be muted by * default. This property has no dynamic effect. To mute and unmute the audio output, use * the `muted` property. * * @link https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/defaultMuted */ defaultMuted: boolean | undefined; /** * A `double` indicating the default playback rate for the media. * * @link https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/defaultPlaybackRate */ defaultPlaybackRate: number | undefined; /** * Whether to disable the capability of remote playback in devices that are * attached using wired (HDMI, DVI, etc.) and wireless technologies (Miracast, Chromecast, * DLNA, AirPlay, etc). * * @link https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/disableRemotePlayback * @see https://www.w3.org/TR/remote-playback/#the-disableremoteplayback-attribute */ disableRemotePlayback: boolean | undefined; /** * Provides a hint to the browser about what the author thinks will lead to the best user * experience with regards to what content is loaded before the video is played. * * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video#attr-preload */ preload: MediaPreloadOption | undefined; /** * The width of the media player. */ width: number | undefined; /** * The height of the media player. */ height: number | undefined; protected __src: string; /** * The URL of a media resource to use. * * @link https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/src */ get src(): string; set src(newSrc: string); protected readonly _mediaRef: Ref; get mediaElement(): HTMLMediaElement | undefined; /** * Sets or returns the object which serves as the source of the media associated with the * `HTMLMediaElement`. * * @default undefined * @link https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/srcObject */ get srcObject(): MediaSrcObject | undefined; set srcObject(newSrcObject: MediaSrcObject | undefined); /** * Indicates the readiness state of the media. * * @default ReadyState.HaveNothing * @link https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/readyState */ get readyState(): number; /** * Indicates the current state of the fetching of media over the network. * * @default NetworkState.Empty */ get networkState(): number; protected firstUpdated(changedProps: PropertyValues): void; disconnectedCallback(): void; /** * Override this to modify the content rendered inside `