import { CanPlayTypeResult, EventLike, MediaFull, MediaStreamType, MediaTargetLike, RemotePlaybackLike, TextTrackKind, TextTrackLike } from "../../core/types.js"; import { addMediaComponent, getMediaComponents, getMediaOwner, getMediaProp, setMediaProp } from "../utils/media-components.js"; import { EventListenerFor, EventType, QueriedElement } from "@videojs/utils/dom"; //#region src/dom/media-host/media-host.d.ts interface HTMLMediaTargetLike extends MediaTargetLike, EventTarget { querySelector(selectors: string): E | null; querySelectorAll(selectors: string): NodeListOf | never[]; } interface MediaComponent { readonly targetOverride?: Partial | null; setMedia?(host: HTMLMediaElementHost): void; attach?(target: Target): void; detach?(): void; destroy?(): void; } interface MediaComponentConstructor { new (...args: any[]): T; } interface MediaComponents extends Map { get(component: MediaComponentConstructor): T | undefined; set(component: MediaComponentConstructor, instance: T): this; } declare class HTMLMediaElementHost extends EventTarget implements MediaFull { #private; protected get target(): Target | null; attach(target: Target): void; detach(): void; destroy(): void; querySelectorAll(selectors: S): NodeListOf> | never[]; querySelector(selectors: S): QueriedElement | null; addEventListener>(type: K, listener: EventListenerFor, options?: boolean | AddEventListenerOptions): void; removeEventListener>(type: K, listener: EventListenerFor, options?: boolean | EventListenerOptions): void; /** * Current stream type (`'on-demand'`, `'live'`, or `'unknown'`). Defaults to * `'unknown'`; detecting hosts update it automatically, and consumers can set * it to override detection. */ get streamType(): MediaStreamType | NonNullable; set streamType(value: MediaStreamType | NonNullable); get liveEdgeStart(): number; get targetLiveWindow(): number; get contentData(): Target["contentData"] | undefined; get title(): "" | Target["title"]; set title(value: string | Target["title"]); get controls(): false | Target["controls"]; set controls(value: boolean | Target["controls"]); get paused(): true | Target["paused"]; get ended(): false | Target["ended"]; get loop(): false | Target["loop"]; set loop(value: boolean | Target["loop"]); play(): Promise; pause(): void; get autoplay(): false | Target["autoplay"]; set autoplay(value: boolean | Target["autoplay"]); get currentTime(): 0 | Target["currentTime"]; set currentTime(value: number | Target["currentTime"]); get duration(): number; get seeking(): false | Target["seeking"]; get src(): "" | Target["src"]; set src(value: string | Target["src"]); get currentSrc(): "" | Target["currentSrc"]; get readyState(): 0 | Target["readyState"]; get preload(): "metadata" | Target["preload"]; set preload(value: string | Target["preload"]); get crossOrigin(): NonNullable | null; set crossOrigin(value: NonNullable | null); load(): void | Promise | undefined; canPlayType(type: string): CanPlayTypeResult; get volume(): 1 | Target["volume"]; set volume(value: number | Target["volume"]); get muted(): false | Target["muted"]; set muted(value: boolean | Target["muted"]); get defaultMuted(): false | Target["defaultMuted"]; set defaultMuted(value: boolean | Target["defaultMuted"]); get playbackRate(): 1 | Target["playbackRate"]; set playbackRate(value: number | Target["playbackRate"]); get defaultPlaybackRate(): 1 | Target["defaultPlaybackRate"]; set defaultPlaybackRate(value: number | Target["defaultPlaybackRate"]); get buffered(): TimeRanges; get seekable(): TimeRanges; get played(): TimeRanges; get error(): NonNullable | null; get textTracks(): TextTrackList; addTextTrack(kind: TextTrackKind, label?: string, language?: string): TextTrackLike; get remote(): RemotePlaybackLike; get disableRemotePlayback(): false | Target["disableRemotePlayback"]; set disableRemotePlayback(value: boolean | Target["disableRemotePlayback"]); } //#endregion export { HTMLMediaElementHost, HTMLMediaTargetLike, MediaComponent, MediaComponentConstructor, MediaComponents }; //# sourceMappingURL=media-host.d.ts.map