export default Html5;
/**
* HTML5 Media Controller - Wrapper for HTML5 Media API
*
* @mixes Tech~SourceHandlerAdditions
* @extends Tech
*/
declare class Html5 extends Tech {
isScrubbing_: boolean;
/**
* Modify the media element so that we can detect when
* the source is changed. Fires `sourceset` just after the source has changed
*/
setupSourcesetHandling_(): void;
/**
* When a captions track is enabled in the iOS Safari native player, all other
* tracks are disabled (including metadata tracks), which nulls all of their
* associated cue points. This will restore metadata tracks to their pre-fullscreen
* state in those cases so that cue points are not needlessly lost.
*
* @private
*/
private restoreMetadataTracksInIOSNativePlayer_;
/**
* Attempt to force override of tracks for the given type
*
* @param {string} type - Track type to override, possible values include 'Audio',
* 'Video', and 'Text'.
* @param {boolean} override - If set to true native audio/video will be overridden,
* otherwise native audio/video will potentially be used.
* @private
*/
private overrideNative_;
/**
* Proxy native track list events for the given type to our track
* lists if the browser we are playing in supports that type of track list.
*
* @param {string} name - Track type; values include 'audio', 'video', and 'text'
* @private
*/
private proxyNativeTracksForType_;
/**
* Proxy all native track list events to our track lists if the browser we are playing
* in supports that type of track list.
*
* @private
*/
private proxyNativeTracks_;
/**
* Create the `Html5` Tech's DOM element.
*
* @return {Element}
* The element that gets created.
*/
createEl(): Element;
/**
* This will be triggered if the loadstart event has already fired, before videojs was
* ready. Two known examples of when this can happen are:
* 1. If we're loading the playback object after it has started loading
* 2. The media is already playing the (often with autoplay on) then
*
* This function will fire another loadstart so that videojs can catchup.
*
* @fires Tech#loadstart
*
* @return {undefined}
* returns nothing.
*/
handleLateInit_(el: any): undefined;
/**
* Get whether we are scrubbing or not.
*
* @return {boolean} isScrubbing
* - true for we are currently scrubbing
* - false for we are no longer scrubbing
*/
scrubbing(): boolean;
/**
* Get the current duration of the HTML5 media element.
*
* @return {number}
* The duration of the media or 0 if there is no duration.
*/
duration(): number;
/**
* Get the current width of the HTML5 media element.
*
* @return {number}
* The width of the HTML5 media element.
*/
width(): number;
/**
* Get the current height of the HTML5 media element.
*
* @return {number}
* The height of the HTML5 media element.
*/
height(): number;
/**
* Proxy iOS `webkitbeginfullscreen` and `webkitendfullscreen` into
* `fullscreenchange` event.
*
* @private
* @fires fullscreenchange
* @listens webkitendfullscreen
* @listens webkitbeginfullscreen
* @listens webkitbeginfullscreen
*/
private proxyWebkitFullscreen_;
/**
* Check if fullscreen is supported on the video el.
*
* @return {boolean}
* - True if fullscreen is supported.
* - False if fullscreen is not supported.
*/
supportsFullScreen(): boolean;
/**
* Request that the `HTML5` Tech enter fullscreen.
*/
enterFullScreen(): void;
/**
* Request that the `HTML5` Tech exit fullscreen.
*/
exitFullScreen(): void;
/**
* A getter/setter for the `Html5` Tech's source object.
* > Note: Please use {@link Html5#setSource}
*
* @param {Tech~SourceObject} [src]
* The source object you want to set on the `HTML5` techs element.
*
* @return {Tech~SourceObject|undefined}
* - The current source object when a source is not passed in.
* - undefined when setting
*
* @deprecated Since version 5.
*/
src(src: any): Tech;
/**
* Add a element to the