@uploadcare/uc-video
Version:
Uploadcare's UCVideo solution for adaptive bitrate streaming
127 lines (126 loc) • 4.08 kB
TypeScript
import { initialConfiguration, VideoPlayerWithPlugins } from './configuration';
declare class BaseVideoComponent extends HTMLElement {
static observedAttributes: Set<unknown>;
protected _videoEl: HTMLVideoElement | null;
protected _player: VideoPlayerWithPlugins;
protected _shadowRoot: ShadowRoot;
protected _options: Readonly<{
audioOnlyMode: false;
audioPosterMode: false;
autoSetup: false;
breakpoints: null;
disablePictureInPicture: false;
enableDocumentPictureInPicture: false;
enableSmoothSeeking: false;
experimentalSvgIcons: false;
fluid: false;
fill: false;
id: string;
inactivityTimeout: number;
language: string;
liveui: false;
nativeControlsForTouch: false;
normalizeAutoplay: false;
notSupportedMessage: string;
noUITitleAttributes: false;
playbackRates: never[];
posterImage: true;
preferFullWindow: false;
responsive: false;
restoreEl: false;
suppressNotSupportedError: false;
techCanOverridePoster: false;
techOrder: string[];
sources: null;
fullscreen: {
options: {
navigationUI: string;
};
};
languages: undefined;
plugins: undefined;
skipButtons: undefined;
userActions: undefined;
spatialNavigation: {
enabled: false;
horizontalSeek: false;
};
html5: {
handlePartialData: boolean;
nativeVideoTracks: boolean;
nativeAudioTracks: boolean;
nativeTextTracks: boolean;
vhs: {
overrideNative: boolean;
};
};
autoplay: false;
controls: true;
height: string;
width: string;
loop: false;
muted: false;
poster: null;
preload: "auto";
controlslist: "nodownload";
crossorigin: null;
disablepictureinpicture: false;
disableremoteplayback: false;
playsinline: false;
uuid: string;
cdnCname: string;
showLogo: true;
posterOffset: string;
}>;
protected _listeners: Map<any, any>;
protected _initialized: boolean;
protected _isReady: boolean;
constructor();
connectedCallback(): void;
disconnectedCallback(): void;
attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
destroy(): void;
render(): void;
_loadStylesSync(): void;
_loadBlobStyle(textContent: string): Promise<void>;
_loadFontFaceInHead(): Promise<void>;
loadDependencies(): Promise<unknown[]>;
_flushValueToAttribute(key: keyof typeof initialConfiguration, value: unknown): void;
_flushValueToState(key: keyof typeof initialConfiguration, value: unknown): void;
_setValue(key: keyof typeof initialConfiguration, value: unknown): void;
_getValue(key: string): string | number | boolean | string[] | {
handlePartialData: boolean;
nativeVideoTracks: boolean;
nativeAudioTracks: boolean;
nativeTextTracks: boolean;
vhs: {
overrideNative: boolean;
};
} | never[] | {
options: {
navigationUI: string;
};
} | {
enabled: false;
horizontalSeek: false;
} | null | undefined;
_createVideoElement(): void;
_initVideoJS(): void;
_attachQueuedListeners(): void;
get player(): VideoPlayerWithPlugins;
get isReady(): boolean;
ready(callback?: () => void): Promise<void> | this;
on(event: string, callback: () => void): this;
off(event: string, callback: () => void): this;
}
export declare class VideoComponent extends BaseVideoComponent {
_initVideoJS(): void;
_initPlugins(): void;
_initQualityHls(): void;
_calculateSrcUrl(): void;
_initGeneratePoster(): void;
_initLogo(): void;
}
export declare class UCVideo extends VideoComponent {
}
export {};