Skip to content

Latest commit

 

History

History
3440 lines (3269 loc) · 121 KB

hls.js.api.md

File metadata and controls

3440 lines (3269 loc) · 121 KB

API Report File for "hls.js"

Do not edit this file. It is a report generated by API Extractor.

// Warning: (ae-missing-release-tag) "AbrComponentAPI" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface AbrComponentAPI extends ComponentAPI {
    // Warning: (ae-forgotten-export) The symbol "EwmaBandWidthEstimator" needs to be exported by the entry point hls.d.ts
    //
    // (undocumented)
    readonly bwEstimator?: EwmaBandWidthEstimator;
    // (undocumented)
    firstAutoLevel: number;
    // (undocumented)
    forcedAutoLevel: number;
    // (undocumented)
    nextAutoLevel: number;
    // (undocumented)
    resetEstimator(abrEwmaDefaultEstimate: number): any;
}

// Warning: (ae-missing-release-tag) "AbrController" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class AbrController implements AbrComponentAPI {
    constructor(hls: Hls);
    // (undocumented)
    bwEstimator: EwmaBandWidthEstimator;
    // (undocumented)
    clearTimer(): void;
    // (undocumented)
    destroy(): void;
    // (undocumented)
    get firstAutoLevel(): number;
    // (undocumented)
    get forcedAutoLevel(): number;
    // (undocumented)
    protected hls: Hls;
    // (undocumented)
    get nextAutoLevel(): number;
    set nextAutoLevel(nextLevel: number);
    // (undocumented)
    protected onError(event: Events.ERROR, data: ErrorData): void;
    // (undocumented)
    protected onFragBuffered(event: Events.FRAG_BUFFERED, data: FragBufferedData): void;
    // (undocumented)
    protected onFragLoaded(event: Events.FRAG_LOADED, { frag, part }: FragLoadedData): void;
    // (undocumented)
    protected onFragLoading(event: Events.FRAG_LOADING, data: FragLoadingData): void;
    // (undocumented)
    protected onLevelLoaded(event: Events.LEVEL_LOADED, data: LevelLoadedData): void;
    // (undocumented)
    protected onLevelSwitching(event: Events.LEVEL_SWITCHING, data: LevelSwitchingData): void;
    // (undocumented)
    protected onManifestLoading(event: Events.MANIFEST_LOADING, data: ManifestLoadingData): void;
    // (undocumented)
    protected registerListeners(): void;
    // (undocumented)
    resetEstimator(abrEwmaDefaultEstimate?: number): void;
    // (undocumented)
    protected unregisterListeners(): void;
}

// Warning: (ae-missing-release-tag) "ABRControllerConfig" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type ABRControllerConfig = {
    abrEwmaFastLive: number;
    abrEwmaSlowLive: number;
    abrEwmaFastVoD: number;
    abrEwmaSlowVoD: number;
    abrEwmaDefaultEstimate: number;
    abrEwmaDefaultEstimateMax: number;
    abrBandWidthFactor: number;
    abrBandWidthUpFactor: number;
    abrMaxWithRealBitrate: boolean;
    maxStarvationDelay: number;
    maxLoadingDelay: number;
};

// Warning: (ae-missing-release-tag) "AttrList" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class AttrList {
    constructor(attrs: string | Record<string, any>);
    // (undocumented)
    [key: string]: any;
    // (undocumented)
    bool(attrName: string): boolean;
    // (undocumented)
    get clientAttrs(): string[];
    // (undocumented)
    decimalFloatingPoint(attrName: string): number;
    // (undocumented)
    decimalInteger(attrName: string): number;
    // (undocumented)
    decimalResolution(attrName: string): {
        width: number;
        height: number;
    } | undefined;
    // (undocumented)
    enumeratedString(attrName: string): string | undefined;
    // (undocumented)
    hexadecimalInteger(attrName: string): Uint8Array | null;
    // (undocumented)
    hexadecimalIntegerAsNumber(attrName: string): number;
    // (undocumented)
    optionalFloat(attrName: string, defaultValue: number): number;
    // (undocumented)
    static parseAttrList(input: string): Record<string, any>;
}

// Warning: (ae-missing-release-tag) "AudioPlaylistType" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type AudioPlaylistType = 'AUDIO';

// Warning: (ae-missing-release-tag) "AudioSelectionOption" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type AudioSelectionOption = {
    lang?: string;
    assocLang?: string;
    characteristics?: string;
    channels?: string;
    name?: string;
    audioCodec?: string;
    groupId?: string;
    default?: boolean;
};

// Warning: (ae-missing-release-tag) "AudioStreamController" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class AudioStreamController extends BaseStreamController implements NetworkComponentAPI {
    // Warning: (ae-forgotten-export) The symbol "FragmentTracker" needs to be exported by the entry point hls.d.ts
    // Warning: (ae-forgotten-export) The symbol "KeyLoader" needs to be exported by the entry point hls.d.ts
    constructor(hls: Hls, fragmentTracker: FragmentTracker, keyLoader: KeyLoader);
    // (undocumented)
    clearWaitingFragment(): void;
    // (undocumented)
    doTick(): void;
    // (undocumented)
    protected getMaxBufferLength(mainBufferLength?: number): number;
    // (undocumented)
    protected _handleFragmentLoadComplete(fragLoadedData: FragLoadedData): void;
    // (undocumented)
    _handleFragmentLoadProgress(data: FragLoadedData): void;
    // (undocumented)
    protected loadFragment(frag: Fragment, track: Level, targetBufferTime: number): void;
    // (undocumented)
    onAudioTrackLoaded(event: Events.AUDIO_TRACK_LOADED, data: TrackLoadedData): void;
    // (undocumented)
    onAudioTracksUpdated(event: Events.AUDIO_TRACKS_UPDATED, { audioTracks }: AudioTracksUpdatedData): void;
    // (undocumented)
    onAudioTrackSwitching(event: Events.AUDIO_TRACK_SWITCHING, data: AudioTrackSwitchingData): void;
    // (undocumented)
    onBufferCreated(event: Events.BUFFER_CREATED, data: BufferCreatedData): void;
    // (undocumented)
    onBufferReset(): void;
    // (undocumented)
    onFragBuffered(event: Events.FRAG_BUFFERED, data: FragBufferedData): void;
    // (undocumented)
    protected onHandlerDestroying(): void;
    // (undocumented)
    onInitPtsFound(event: Events.INIT_PTS_FOUND, { frag, id, initPTS, timescale }: InitPTSFoundData): void;
    // (undocumented)
    onLevelLoaded(event: Events.LEVEL_LOADED, data: LevelLoadedData): void;
    // (undocumented)
    onManifestLoading(): void;
    // (undocumented)
    onMediaDetaching(): void;
    // (undocumented)
    protected onTickEnd(): void;
    // (undocumented)
    protected resetLoadingState(): void;
    // (undocumented)
    startLoad(startPosition: number): void;
}

// Warning: (ae-missing-release-tag) "AudioTrackController" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class AudioTrackController extends BasePlaylistController {
    constructor(hls: Hls);
    // (undocumented)
    get allAudioTracks(): MediaPlaylist[];
    // (undocumented)
    get audioTrack(): number;
    set audioTrack(newId: number);
    // (undocumented)
    get audioTracks(): MediaPlaylist[];
    // (undocumented)
    destroy(): void;
    // (undocumented)
    protected loadPlaylist(hlsUrlParameters?: HlsUrlParameters): void;
    // (undocumented)
    protected onAudioTrackLoaded(event: Events.AUDIO_TRACK_LOADED, data: AudioTrackLoadedData): void;
    // (undocumented)
    protected onError(event: Events.ERROR, data: ErrorData): void;
    // (undocumented)
    protected onLevelLoading(event: Events.LEVEL_LOADING, data: LevelLoadingData): void;
    // (undocumented)
    protected onLevelSwitching(event: Events.LEVEL_SWITCHING, data: LevelSwitchingData): void;
    // (undocumented)
    protected onManifestLoading(): void;
    // (undocumented)
    protected onManifestParsed(event: Events.MANIFEST_PARSED, data: ManifestParsedData): void;
    // (undocumented)
    setAudioOption(audioOption: MediaPlaylist | AudioSelectionOption | undefined): MediaPlaylist | null;
}

// Warning: (ae-missing-release-tag) "AudioTrackLoadedData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface AudioTrackLoadedData extends TrackLoadedData {
}

// Warning: (ae-missing-release-tag) "AudioTracksUpdatedData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface AudioTracksUpdatedData {
    // (undocumented)
    audioTracks: MediaPlaylist[];
}

// Warning: (ae-missing-release-tag) "AudioTrackSwitchedData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface AudioTrackSwitchedData extends MediaPlaylist {
}

// Warning: (ae-missing-release-tag) "AudioTrackSwitchingData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface AudioTrackSwitchingData extends MediaPlaylist {
}

// Warning: (ae-missing-release-tag) "BackBufferData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface BackBufferData {
    // (undocumented)
    bufferEnd: number;
}

// Warning: (ae-missing-release-tag) "BasePlaylistController" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class BasePlaylistController implements NetworkComponentAPI {
    constructor(hls: Hls, logPrefix: string);
    // (undocumented)
    protected canLoad: boolean;
    // (undocumented)
    protected checkRetry(errorEvent: ErrorData): boolean;
    // (undocumented)
    protected clearTimer(): void;
    // (undocumented)
    destroy(): void;
    // (undocumented)
    protected hls: Hls;
    // (undocumented)
    protected loadPlaylist(hlsUrlParameters?: HlsUrlParameters): void;
    // (undocumented)
    protected log: (msg: any) => void;
    // (undocumented)
    protected playlistLoaded(index: number, data: LevelLoadedData | AudioTrackLoadedData | TrackLoadedData, previousDetails?: LevelDetails): void;
    // (undocumented)
    protected requestScheduled: number;
    // (undocumented)
    protected shouldLoadPlaylist(playlist: Level | MediaPlaylist | null | undefined): boolean;
    // (undocumented)
    protected shouldReloadPlaylist(playlist: Level | MediaPlaylist | null | undefined): boolean;
    // (undocumented)
    startLoad(): void;
    // (undocumented)
    stopLoad(): void;
    // (undocumented)
    protected switchParams(playlistUri: string, previous: LevelDetails | undefined): HlsUrlParameters | undefined;
    // (undocumented)
    protected timer: number;
    // (undocumented)
    protected warn: (msg: any) => void;
}

// Warning: (ae-missing-release-tag) "BaseSegment" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class BaseSegment {
    constructor(baseurl: string);
    // (undocumented)
    readonly baseurl: string;
    // (undocumented)
    get byteRange(): [number, number] | [];
    // (undocumented)
    get byteRangeEndOffset(): number | undefined;
    // (undocumented)
    get byteRangeStartOffset(): number | undefined;
    // (undocumented)
    elementaryStreams: ElementaryStreams;
    // (undocumented)
    relurl?: string;
    // (undocumented)
    setByteRange(value: string, previous?: BaseSegment): void;
    // (undocumented)
    get url(): string;
    set url(value: string);
}

// Warning: (ae-forgotten-export) The symbol "TaskLoop" needs to be exported by the entry point hls.d.ts
// Warning: (ae-missing-release-tag) "BaseStreamController" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class BaseStreamController extends TaskLoop implements NetworkComponentAPI {
    constructor(hls: Hls, fragmentTracker: FragmentTracker, keyLoader: KeyLoader, logPrefix: string, playlistType: PlaylistLevelType);
    // (undocumented)
    protected afterBufferFlushed(media: Bufferable, bufferType: SourceBufferName, playlistType: PlaylistLevelType): void;
    // (undocumented)
    protected alignPlaylists(details: LevelDetails, previousDetails: LevelDetails | undefined, switchDetails: LevelDetails | undefined): number;
    // (undocumented)
    protected bitrateTest: boolean;
    // Warning: (ae-forgotten-export) The symbol "RemuxedTrack" needs to be exported by the entry point hls.d.ts
    //
    // (undocumented)
    protected bufferFragmentData(data: RemuxedTrack, frag: Fragment, part: Part | null, chunkMeta: ChunkMetadata, noBacktracking?: boolean): void;
    // (undocumented)
    protected checkLiveUpdate(details: LevelDetails): void;
    // (undocumented)
    protected clearTrackerIfNeeded(frag: Fragment): void;
    // (undocumented)
    protected config: HlsConfig;
    // Warning: (ae-forgotten-export) The symbol "Decrypter" needs to be exported by the entry point hls.d.ts
    //
    // (undocumented)
    protected decrypter: Decrypter;
    // Warning: (ae-forgotten-export) The symbol "FragmentLoadProgressCallback" needs to be exported by the entry point hls.d.ts
    //
    // (undocumented)
    protected _doFragLoad(frag: Fragment, level: Level, targetBufferTime?: number | null, progressCallback?: FragmentLoadProgressCallback): Promise<PartsLoadedData | FragLoadedData | null>;
    // (undocumented)
    protected doTick(): void;
    // (undocumented)
    protected flushBufferGap(frag: Fragment): void;
    // (undocumented)
    protected flushMainBuffer(startOffset: number, endOffset: number, type?: SourceBufferName | null): void;
    // (undocumented)
    protected fragBufferedComplete(frag: Fragment, part: Part | null): void;
    // (undocumented)
    protected fragContextChanged(frag: Fragment | null): boolean;
    // (undocumented)
    protected fragCurrent: Fragment | null;
    // Warning: (ae-forgotten-export) The symbol "FragmentLoader" needs to be exported by the entry point hls.d.ts
    //
    // (undocumented)
    protected fragmentLoader: FragmentLoader;
    // (undocumented)
    protected fragmentTracker: FragmentTracker;
    // (undocumented)
    protected fragPrevious: Fragment | null;
    // (undocumented)
    protected getAppendedFrag(position: number, playlistType?: PlaylistLevelType): Fragment | null;
    // (undocumented)
    protected getCurrentContext(chunkMeta: ChunkMetadata): {
        frag: Fragment;
        part: Part | null;
        level: Level;
    } | null;
    // (undocumented)
    protected getFragmentAtPosition(bufferEnd: number, end: number, levelDetails: LevelDetails): Fragment | null;
    // (undocumented)
    protected getFwdBufferInfo(bufferable: Bufferable | null, type: PlaylistLevelType): BufferInfo | null;
    // (undocumented)
    protected getFwdBufferInfoAtPos(bufferable: Bufferable | null, pos: number, type: PlaylistLevelType): BufferInfo | null;
    // (undocumented)
    protected getInitialLiveFragment(levelDetails: LevelDetails, fragments: Array<Fragment>): Fragment | null;
    // (undocumented)
    protected getLevelDetails(): LevelDetails | undefined;
    // (undocumented)
    protected getLoadPosition(): number;
    // (undocumented)
    protected getMaxBufferLength(levelBitrate?: number): number;
    // (undocumented)
    protected getNextFragment(pos: number, levelDetails: LevelDetails): Fragment | null;
    // (undocumented)
    protected getNextFragmentLoopLoading(frag: Fragment, levelDetails: LevelDetails, bufferInfo: BufferInfo, playlistType: PlaylistLevelType, maxBufLen: number): Fragment | null;
    // (undocumented)
    getNextPart(partList: Part[], frag: Fragment, targetBufferTime: number): number;
    // Warning: (ae-forgotten-export) The symbol "PartsLoadedData" needs to be exported by the entry point hls.d.ts
    //
    // (undocumented)
    protected _handleFragmentLoadComplete(fragLoadedEndData: PartsLoadedData): void;
    // (undocumented)
    protected _handleFragmentLoadProgress(frag: PartsLoadedData | FragLoadedData): void;
    // (undocumented)
    protected _handleTransmuxerFlush(chunkMeta: ChunkMetadata): void;
    // (undocumented)
    protected hls: Hls;
    // Warning: (ae-forgotten-export) The symbol "RationalTimestamp" needs to be exported by the entry point hls.d.ts
    //
    // (undocumented)
    protected initPTS: RationalTimestamp[];
    // (undocumented)
    protected isLoopLoading(frag: Fragment, targetBufferTime: number): boolean;
    // (undocumented)
    protected keyLoader: KeyLoader;
    // (undocumented)
    protected lastCurrentTime: number;
    // (undocumented)
    protected levelLastLoaded: Level | null;
    // (undocumented)
    protected levels: Array<Level> | null;
    // (undocumented)
    protected loadedmetadata: boolean;
    // (undocumented)
    protected loadFragment(frag: Fragment, level: Level, targetBufferTime: number): void;
    // (undocumented)
    protected _loadInitSegment(frag: Fragment, level: Level): void;
    // (undocumented)
    protected log: (msg: any) => void;
    // (undocumented)
    mapToInitFragWhenRequired(frag: Fragment | null): typeof frag;
    // (undocumented)
    protected media: HTMLMediaElement | null;
    // Warning: (ae-forgotten-export) The symbol "Bufferable" needs to be exported by the entry point hls.d.ts
    //
    // (undocumented)
    protected mediaBuffer: Bufferable | null;
    // (undocumented)
    protected nextLoadPosition: number;
    // (undocumented)
    protected onFragmentOrKeyLoadError(filterType: PlaylistLevelType, data: ErrorData): void;
    // (undocumented)
    protected onHandlerDestroyed(): void;
    // (undocumented)
    protected onHandlerDestroying(): void;
    // (undocumented)
    protected onManifestLoaded(event: Events.MANIFEST_LOADED, data: ManifestLoadedData): void;
    // (undocumented)
    protected onMediaAttached(event: Events.MEDIA_ATTACHED, data: MediaAttachedData): void;
    // (undocumented)
    protected onMediaDetaching(): void;
    // (undocumented)
    protected onMediaEnded(): void;
    // (undocumented)
    protected onMediaSeeking(): void;
    // (undocumented)
    protected onTickEnd(): void;
    // (undocumented)
    protected onvended: EventListener | null;
    // (undocumented)
    protected onvseeking: EventListener | null;
    // (undocumented)
    protected playlistType: PlaylistLevelType;
    // (undocumented)
    protected recoverWorkerError(data: ErrorData): void;
    // (undocumented)
    protected reduceLengthAndFlushBuffer(data: ErrorData): boolean;
    // (undocumented)
    protected reduceMaxBufferLength(threshold: number): boolean;
    // (undocumented)
    protected removeUnbufferedFrags(start?: number): void;
    // (undocumented)
    protected resetFragmentErrors(filterType: PlaylistLevelType): void;
    // (undocumented)
    protected resetFragmentLoading(frag: Fragment): void;
    // (undocumented)
    protected resetLoadingState(): void;
    // (undocumented)
    protected resetStartWhenNotLoaded(level: Level | null): void;
    // (undocumented)
    protected resetTransmuxer(): void;
    // (undocumented)
    protected resetWhenMissingContext(chunkMeta: ChunkMetadata): void;
    // (undocumented)
    protected retryDate: number;
    // (undocumented)
    protected seekToStartPos(): void;
    // (undocumented)
    protected setStartPosition(details: LevelDetails, sliding: number): void;
    // (undocumented)
    protected startFragRequested: boolean;
    // (undocumented)
    startLoad(startPosition: number): void;
    // (undocumented)
    protected startPosition: number;
    // (undocumented)
    protected startTimeOffset: number | null;
    set state(nextState: string);
    // (undocumented)
    get state(): string;
    // (undocumented)
    protected _state: string;
    // (undocumented)
    stopLoad(): void;
    // (undocumented)
    protected _streamEnded(bufferInfo: BufferInfo, levelDetails: LevelDetails): boolean;
    // (undocumented)
    protected synchronizeToLiveEdge(levelDetails: LevelDetails): void;
    // Warning: (ae-forgotten-export) The symbol "TransmuxerInterface" needs to be exported by the entry point hls.d.ts
    //
    // (undocumented)
    protected transmuxer: TransmuxerInterface | null;
    // (undocumented)
    protected waitForCdnTuneIn(details: LevelDetails): boolean | 0;
    // (undocumented)
    protected warn: (msg: any) => void;
}

// Warning: (ae-missing-release-tag) "BufferAppendedData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface BufferAppendedData {
    // (undocumented)
    chunkMeta: ChunkMetadata;
    // (undocumented)
    frag: Fragment;
    // (undocumented)
    parent: PlaylistLevelType;
    // (undocumented)
    part: Part | null;
    // (undocumented)
    timeRanges: Partial<Record<SourceBufferName, TimeRanges>>;
    // (undocumented)
    type: SourceBufferName;
}

// Warning: (ae-missing-release-tag) "BufferAppendingData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface BufferAppendingData {
    // (undocumented)
    chunkMeta: ChunkMetadata;
    // (undocumented)
    data: Uint8Array;
    // (undocumented)
    frag: Fragment;
    // (undocumented)
    parent: PlaylistLevelType;
    // (undocumented)
    part: Part | null;
    // (undocumented)
    type: SourceBufferName;
}

// Warning: (ae-missing-release-tag) "BufferCodecsData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface BufferCodecsData {
    // (undocumented)
    audio?: Track;
    // (undocumented)
    video?: Track;
}

// Warning: (ae-missing-release-tag) "BufferController" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class BufferController implements ComponentAPI {
    constructor(hls: Hls);
    // (undocumented)
    protected appendChangeType(type: any, mimeType: any): void;
    // (undocumented)
    appendErrors: {
        audio: number;
        video: number;
        audiovideo: number;
    };
    // (undocumented)
    bufferCodecEventsExpected: number;
    // (undocumented)
    protected checkPendingTracks(): void;
    // (undocumented)
    protected createSourceBuffers(tracks: TrackSet): void;
    // (undocumented)
    destroy(): void;
    // (undocumented)
    protected error: (msg: any, obj?: any) => void;
    // (undocumented)
    flushBackBuffer(currentTime: number, targetDuration: number, targetBackBufferPosition: number): void;
    // (undocumented)
    flushFrontBuffer(currentTime: number, targetDuration: number, targetFrontBufferPosition: number): void;
    // (undocumented)
    hasSourceTypes(): boolean;
    // (undocumented)
    protected log: (msg: any) => void;
    // (undocumented)
    media: HTMLMediaElement | null;
    // (undocumented)
    mediaSource: MediaSource | null;
    // (undocumented)
    protected onBufferAppending(event: Events.BUFFER_APPENDING, eventData: BufferAppendingData): void;
    // (undocumented)
    protected onBufferCodecs(event: Events.BUFFER_CODECS, data: BufferCodecsData): void;
    // (undocumented)
    protected onBufferEos(event: Events.BUFFER_EOS, data: BufferEOSData): void;
    // (undocumented)
    protected onBufferFlushing(event: Events.BUFFER_FLUSHING, data: BufferFlushingData): void;
    // (undocumented)
    protected onBufferReset(): void;
    // (undocumented)
    protected onFragParsed(event: Events.FRAG_PARSED, data: FragParsedData): void;
    // (undocumented)
    protected onLevelUpdated(event: Events.LEVEL_UPDATED, { details }: LevelUpdatedData): void;
    // (undocumented)
    protected onManifestParsed(event: Events.MANIFEST_PARSED, data: ManifestParsedData): void;
    // (undocumented)
    protected onMediaAttaching(event: Events.MEDIA_ATTACHING, data: MediaAttachingData): void;
    // (undocumented)
    protected onMediaDetaching(): void;
    // (undocumented)
    pendingTracks: TrackSet;
    // (undocumented)
    protected registerListeners(): void;
    // Warning: (ae-forgotten-export) The symbol "SourceBuffers" needs to be exported by the entry point hls.d.ts
    //
    // (undocumented)
    sourceBuffer: SourceBuffers;
    // (undocumented)
    tracks: TrackSet;
    // (undocumented)
    trimBuffers(): void;
    // (undocumented)
    protected unregisterListeners(): void;
    // (undocumented)
    updateSeekableRange(levelDetails: any): void;
    // (undocumented)
    protected warn: (msg: any, obj?: any) => void;
}

// Warning: (ae-missing-release-tag) "BufferControllerConfig" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type BufferControllerConfig = {
    appendErrorMaxRetry: number;
    backBufferLength: number;
    frontBufferFlushThreshold: number;
    liveDurationInfinity: boolean;
    liveBackBufferLength: number | null;
};

// Warning: (ae-missing-release-tag) "BufferCreatedData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface BufferCreatedData {
    // (undocumented)
    tracks: TrackSet;
}

// Warning: (ae-missing-release-tag) "BufferEOSData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface BufferEOSData {
    // (undocumented)
    type?: SourceBufferName;
}

// Warning: (ae-missing-release-tag) "BufferFlushedData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface BufferFlushedData {
    // (undocumented)
    type: SourceBufferName;
}

// Warning: (ae-missing-release-tag) "BufferFlushingData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface BufferFlushingData {
    // (undocumented)
    endOffset: number;
    // (undocumented)
    endOffsetSubtitles?: number;
    // (undocumented)
    startOffset: number;
    // (undocumented)
    type: SourceBufferName | null;
}

// Warning: (ae-missing-release-tag) "BufferInfo" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type BufferInfo = {
    len: number;
    start: number;
    end: number;
    nextStart?: number;
};

// Warning: (ae-missing-release-tag) "CapLevelController" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class CapLevelController implements ComponentAPI {
    constructor(hls: Hls);
    // (undocumented)
    get contentScaleFactor(): number;
    // (undocumented)
    destroy(): void;
    // (undocumented)
    detectPlayerSize(): void;
    // (undocumented)
    getDimensions(): {
        width: number;
        height: number;
    };
    // (undocumented)
    getMaxLevel(capLevelIndex: number): number;
    // (undocumented)
    static getMaxLevelByMediaSize(levels: Array<Level>, width: number, height: number): number;
    // (undocumented)
    get mediaHeight(): number;
    // (undocumented)
    get mediaWidth(): number;
    // (undocumented)
    protected onBufferCodecs(event: Events.BUFFER_CODECS, data: BufferCodecsData): void;
    // (undocumented)
    protected onFpsDropLevelCapping(event: Events.FPS_DROP_LEVEL_CAPPING, data: FPSDropLevelCappingData): void;
    // (undocumented)
    protected onManifestParsed(event: Events.MANIFEST_PARSED, data: ManifestParsedData): void;
    // (undocumented)
    protected onMediaAttaching(event: Events.MEDIA_ATTACHING, data: MediaAttachingData): void;
    // (undocumented)
    protected onMediaDetaching(): void;
    // (undocumented)
    protected registerListeners(): void;
    // Warning: (ae-forgotten-export) The symbol "StreamController" needs to be exported by the entry point hls.d.ts
    //
    // (undocumented)
    setStreamController(streamController: StreamController): void;
    // (undocumented)
    startCapping(): void;
    // (undocumented)
    stopCapping(): void;
    // (undocumented)
    protected unregisterListener(): void;
}

// Warning: (ae-missing-release-tag) "CapLevelControllerConfig" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type CapLevelControllerConfig = {
    capLevelToPlayerSize: boolean;
};

// Warning: (ae-missing-release-tag) "ChunkMetadata" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class ChunkMetadata {
    constructor(level: number, sn: number, id: number, size?: number, part?: number, partial?: boolean);
    // (undocumented)
    readonly buffering: {
        [key in SourceBufferName]: HlsChunkPerformanceTiming;
    };
    // (undocumented)
    readonly id: number;
    // (undocumented)
    readonly level: number;
    // (undocumented)
    readonly part: number;
    // (undocumented)
    readonly partial: boolean;
    // (undocumented)
    readonly size: number;
    // (undocumented)
    readonly sn: number;
    // (undocumented)
    readonly transmuxing: HlsChunkPerformanceTiming;
}

// Warning: (ae-missing-release-tag) "CMCDController" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export class CMCDController implements ComponentAPI {
    constructor(hls: Hls);
    // (undocumented)
    destroy(): void;
}

// Warning: (ae-missing-release-tag) "CMCDControllerConfig" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type CMCDControllerConfig = {
    sessionId?: string;
    contentId?: string;
    useHeaders?: boolean;
    includeKeys?: string[];
};

// Warning: (ae-missing-release-tag) "ComponentAPI" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ComponentAPI {
    // (undocumented)
    destroy(): void;
}

// Warning: (ae-missing-release-tag) "ContentSteeringController" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class ContentSteeringController implements NetworkComponentAPI {
    constructor(hls: Hls);
    // (undocumented)
    clearTimeout(): void;
    // (undocumented)
    destroy(): void;
    // (undocumented)
    filterParsedLevels(levels: Level[]): Level[];
    // (undocumented)
    removeLevel(levelToRemove: Level): void;
    // (undocumented)
    startLoad(): void;
    // (undocumented)
    stopLoad(): void;
}

// Warning: (ae-missing-release-tag) "ContentSteeringOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type ContentSteeringOptions = {
    uri: string;
    pathwayId: string;
};

// Warning: (ae-missing-release-tag) "CuesInterface" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface CuesInterface {
    // Warning: (ae-forgotten-export) The symbol "CaptionScreen" needs to be exported by the entry point hls.d.ts
    //
    // (undocumented)
    newCue(track: TextTrack | null, startTime: number, endTime: number, captionScreen: CaptionScreen): VTTCue[];
}

// Warning: (ae-missing-release-tag) "CuesParsedData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface CuesParsedData {
    // (undocumented)
    cues: any;
    // (undocumented)
    track: string;
    // (undocumented)
    type: 'captions' | 'subtitles';
}

// Warning: (ae-missing-release-tag) "DateRange" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class DateRange {
    constructor(dateRangeAttr: AttrList, dateRangeWithSameId?: DateRange);
    // (undocumented)
    attr: AttrList;
    // (undocumented)
    get class(): string;
    // (undocumented)
    get duration(): number | null;
    // (undocumented)
    get endDate(): Date | null;
    // (undocumented)
    get endOnNext(): boolean;
    // (undocumented)
    get id(): string;
    // (undocumented)
    get isValid(): boolean;
    // (undocumented)
    get plannedDuration(): number | null;
    // (undocumented)
    get startDate(): Date;
}

// Warning: (ae-missing-release-tag) "DRMSystemOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type DRMSystemOptions = {
    audioRobustness?: string;
    videoRobustness?: string;
    audioEncryptionScheme?: string | null;
    videoEncryptionScheme?: string | null;
    persistentState?: MediaKeysRequirement;
    distinctiveIdentifier?: MediaKeysRequirement;
    sessionTypes?: string[];
    sessionType?: string;
};

// Warning: (ae-forgotten-export) The symbol "DRMSystemConfiguration" needs to be exported by the entry point hls.d.ts
// Warning: (ae-missing-release-tag) "DRMSystemsConfiguration" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type DRMSystemsConfiguration = Partial<Record<KeySystems, DRMSystemConfiguration>>;

// Warning: (ae-missing-release-tag) "ElementaryStreamInfo" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ElementaryStreamInfo {
    // (undocumented)
    endDTS: number;
    // (undocumented)
    endPTS: number;
    // (undocumented)
    partial?: boolean;
    // (undocumented)
    startDTS: number;
    // (undocumented)
    startPTS: number;
}

// Warning: (ae-missing-release-tag) "ElementaryStreams" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type ElementaryStreams = Record<ElementaryStreamTypes, ElementaryStreamInfo | null>;

// Warning: (ae-missing-release-tag) "ElementaryStreamTypes" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const enum ElementaryStreamTypes {
    // (undocumented)
    AUDIO = "audio",
    // (undocumented)
    AUDIOVIDEO = "audiovideo",
    // (undocumented)
    VIDEO = "video"
}

// Warning: (ae-missing-release-tag) "EMEController" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export class EMEController implements ComponentAPI {
    constructor(hls: Hls);
    // (undocumented)
    static CDMCleanupPromise: Promise<void> | void;
    // (undocumented)
    destroy(): void;
    // (undocumented)
    loadKey(data: KeyLoadedData): Promise<MediaKeySessionContext>;
    // (undocumented)
    selectKeySystemFormat(frag: Fragment): Promise<KeySystemFormats>;
}

// Warning: (ae-missing-release-tag) "EMEControllerConfig" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type EMEControllerConfig = {
    licenseXhrSetup?: (this: Hls, xhr: XMLHttpRequest, url: string, keyContext: MediaKeySessionContext, licenseChallenge: Uint8Array) => void | Uint8Array | Promise<Uint8Array | void>;
    licenseResponseCallback?: (this: Hls, xhr: XMLHttpRequest, url: string, keyContext: MediaKeySessionContext) => ArrayBuffer;
    emeEnabled: boolean;
    widevineLicenseUrl?: string;
    drmSystems: DRMSystemsConfiguration;
    drmSystemOptions: DRMSystemOptions;
    requestMediaKeySystemAccessFunc: MediaKeyFunc | null;
};

// Warning: (ae-missing-release-tag) "ErrorActionFlags" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const enum ErrorActionFlags {
    // (undocumented)
    MoveAllAlternatesMatchingHDCP = 2,
    // (undocumented)
    MoveAllAlternatesMatchingHost = 1,
    // (undocumented)
    None = 0,
    // (undocumented)
    SwitchToSDR = 4
}

// Warning: (ae-missing-release-tag) "ErrorController" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class ErrorController implements NetworkComponentAPI {
    constructor(hls: Hls);
    // (undocumented)
    destroy(): void;
    // (undocumented)
    onErrorOut(event: Events.ERROR, data: ErrorData): void;
    // (undocumented)
    startLoad(startPosition: number): void;
    // (undocumented)
    stopLoad(): void;
}

// Warning: (ae-missing-release-tag) "ErrorData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ErrorData {
    // (undocumented)
    buffer?: number;
    // (undocumented)
    bytes?: number;
    // (undocumented)
    chunkMeta?: ChunkMetadata;
    // (undocumented)
    context?: PlaylistLoaderContext;
    // (undocumented)
    details: ErrorDetails;
    // @deprecated (undocumented)
    err?: {
        message: string;
    };
    // (undocumented)
    error: Error;
    // (undocumented)
    errorAction?: IErrorAction;
    // (undocumented)
    event?: keyof HlsListeners | 'demuxerWorker';
    // (undocumented)
    fatal: boolean;
    // (undocumented)
    frag?: Fragment;
    // (undocumented)
    level?: number | undefined;
    // (undocumented)
    levelRetry?: boolean;
    // (undocumented)
    loader?: Loader<LoaderContext>;
    // (undocumented)
    mimeType?: string;
    // (undocumented)
    networkDetails?: any;
    // (undocumented)
    parent?: PlaylistLevelType;
    // (undocumented)
    part?: Part | null;
    // (undocumented)
    reason?: string;
    // (undocumented)
    response?: LoaderResponse;
    // (undocumented)
    sourceBufferName?: SourceBufferName;
    // (undocumented)
    stats?: LoaderStats;
    // (undocumented)
    type: ErrorTypes;
    // (undocumented)
    url?: string;
}

// Warning: (ae-missing-release-tag) "ErrorDetails" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum ErrorDetails {
    // (undocumented)
    AUDIO_TRACK_LOAD_ERROR = "audioTrackLoadError",
    // (undocumented)
    AUDIO_TRACK_LOAD_TIMEOUT = "audioTrackLoadTimeOut",
    // (undocumented)
    BUFFER_ADD_CODEC_ERROR = "bufferAddCodecError",
    // (undocumented)
    BUFFER_APPEND_ERROR = "bufferAppendError",
    // (undocumented)
    BUFFER_APPENDING_ERROR = "bufferAppendingError",
    // (undocumented)
    BUFFER_FULL_ERROR = "bufferFullError",
    // (undocumented)
    BUFFER_INCOMPATIBLE_CODECS_ERROR = "bufferIncompatibleCodecsError",
    // (undocumented)
    BUFFER_NUDGE_ON_STALL = "bufferNudgeOnStall",
    // (undocumented)
    BUFFER_SEEK_OVER_HOLE = "bufferSeekOverHole",
    // (undocumented)
    BUFFER_STALLED_ERROR = "bufferStalledError",
    // (undocumented)
    FRAG_DECRYPT_ERROR = "fragDecryptError",
    // (undocumented)
    FRAG_GAP = "fragGap",
    // (undocumented)
    FRAG_LOAD_ERROR = "fragLoadError",
    // (undocumented)
    FRAG_LOAD_TIMEOUT = "fragLoadTimeOut",
    // (undocumented)
    FRAG_PARSING_ERROR = "fragParsingError",
    // (undocumented)
    INTERNAL_ABORTED = "aborted",
    // (undocumented)
    INTERNAL_EXCEPTION = "internalException",
    // (undocumented)
    KEY_LOAD_ERROR = "keyLoadError",
    // (undocumented)
    KEY_LOAD_TIMEOUT = "keyLoadTimeOut",
    // (undocumented)
    KEY_SYSTEM_LICENSE_REQUEST_FAILED = "keySystemLicenseRequestFailed",
    // (undocumented)
    KEY_SYSTEM_NO_ACCESS = "keySystemNoAccess",
    // (undocumented)
    KEY_SYSTEM_NO_CONFIGURED_LICENSE = "keySystemNoConfiguredLicense",
    // (undocumented)
    KEY_SYSTEM_NO_KEYS = "keySystemNoKeys",
    // (undocumented)
    KEY_SYSTEM_NO_SESSION = "keySystemNoSession",
    // (undocumented)
    KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED = "keySystemServerCertificateRequestFailed",
    // (undocumented)
    KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED = "keySystemServerCertificateUpdateFailed",
    // (undocumented)
    KEY_SYSTEM_SESSION_UPDATE_FAILED = "keySystemSessionUpdateFailed",
    // (undocumented)
    KEY_SYSTEM_STATUS_INTERNAL_ERROR = "keySystemStatusInternalError",
    // (undocumented)
    KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED = "keySystemStatusOutputRestricted",
    // (undocumented)
    LEVEL_EMPTY_ERROR = "levelEmptyError",
    // (undocumented)
    LEVEL_LOAD_ERROR = "levelLoadError",
    // (undocumented)
    LEVEL_LOAD_TIMEOUT = "levelLoadTimeOut",
    // (undocumented)
    LEVEL_PARSING_ERROR = "levelParsingError",
    // (undocumented)
    LEVEL_SWITCH_ERROR = "levelSwitchError",
    // (undocumented)
    MANIFEST_INCOMPATIBLE_CODECS_ERROR = "manifestIncompatibleCodecsError",
    // (undocumented)
    MANIFEST_LOAD_ERROR = "manifestLoadError",
    // (undocumented)
    MANIFEST_LOAD_TIMEOUT = "manifestLoadTimeOut",
    // (undocumented)
    MANIFEST_PARSING_ERROR = "manifestParsingError",
    // (undocumented)
    REMUX_ALLOC_ERROR = "remuxAllocError",
    // (undocumented)
    SUBTITLE_LOAD_ERROR = "subtitleTrackLoadError",
    // (undocumented)
    SUBTITLE_TRACK_LOAD_TIMEOUT = "subtitleTrackLoadTimeOut",
    // (undocumented)
    UNKNOWN = "unknown"
}

// Warning: (ae-missing-release-tag) "ErrorTypes" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum ErrorTypes {
    // (undocumented)
    KEY_SYSTEM_ERROR = "keySystemError",
    // (undocumented)
    MEDIA_ERROR = "mediaError",
    // (undocumented)
    MUX_ERROR = "muxError",
    // (undocumented)
    NETWORK_ERROR = "networkError",
    // (undocumented)
    OTHER_ERROR = "otherError"
}

// Warning: (ae-missing-release-tag) "Events" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum Events {
    // (undocumented)
    AUDIO_TRACK_LOADED = "hlsAudioTrackLoaded",
    // (undocumented)
    AUDIO_TRACK_LOADING = "hlsAudioTrackLoading",
    // (undocumented)
    AUDIO_TRACK_SWITCHED = "hlsAudioTrackSwitched",
    // (undocumented)
    AUDIO_TRACK_SWITCHING = "hlsAudioTrackSwitching",
    // (undocumented)
    AUDIO_TRACKS_UPDATED = "hlsAudioTracksUpdated",
    // (undocumented)
    BACK_BUFFER_REACHED = "hlsBackBufferReached",
    // (undocumented)
    BUFFER_APPENDED = "hlsBufferAppended",
    // (undocumented)
    BUFFER_APPENDING = "hlsBufferAppending",
    // (undocumented)
    BUFFER_CODECS = "hlsBufferCodecs",
    // (undocumented)
    BUFFER_CREATED = "hlsBufferCreated",
    // (undocumented)
    BUFFER_EOS = "hlsBufferEos",
    // (undocumented)
    BUFFER_FLUSHED = "hlsBufferFlushed",
    // (undocumented)
    BUFFER_FLUSHING = "hlsBufferFlushing",
    // (undocumented)
    BUFFER_RESET = "hlsBufferReset",
    // (undocumented)
    CUES_PARSED = "hlsCuesParsed",
    // (undocumented)
    DESTROYING = "hlsDestroying",
    // (undocumented)
    ERROR = "hlsError",
    // (undocumented)
    FPS_DROP = "hlsFpsDrop",
    // (undocumented)
    FPS_DROP_LEVEL_CAPPING = "hlsFpsDropLevelCapping",
    // (undocumented)
    FRAG_BUFFERED = "hlsFragBuffered",
    // (undocumented)
    FRAG_CHANGED = "hlsFragChanged",
    // (undocumented)
    FRAG_DECRYPTED = "hlsFragDecrypted",
    // (undocumented)
    FRAG_LOAD_EMERGENCY_ABORTED = "hlsFragLoadEmergencyAborted",
    // (undocumented)
    FRAG_LOADED = "hlsFragLoaded",
    // (undocumented)
    FRAG_LOADING = "hlsFragLoading",
    // (undocumented)
    FRAG_PARSED = "hlsFragParsed",
    // (undocumented)
    FRAG_PARSING_INIT_SEGMENT = "hlsFragParsingInitSegment",
    // (undocumented)
    FRAG_PARSING_METADATA = "hlsFragParsingMetadata",
    // (undocumented)
    FRAG_PARSING_USERDATA = "hlsFragParsingUserdata",
    // (undocumented)
    INIT_PTS_FOUND = "hlsInitPtsFound",
    // (undocumented)
    KEY_LOADED = "hlsKeyLoaded",
    // (undocumented)
    KEY_LOADING = "hlsKeyLoading",
    // (undocumented)
    LEVEL_LOADED = "hlsLevelLoaded",
    // (undocumented)
    LEVEL_LOADING = "hlsLevelLoading",
    // (undocumented)
    LEVEL_PTS_UPDATED = "hlsLevelPtsUpdated",
    // (undocumented)
    LEVEL_SWITCHED = "hlsLevelSwitched",
    // (undocumented)
    LEVEL_SWITCHING = "hlsLevelSwitching",
    // (undocumented)
    LEVEL_UPDATED = "hlsLevelUpdated",
    // (undocumented)
    LEVELS_UPDATED = "hlsLevelsUpdated",
    // (undocumented)
    LIVE_BACK_BUFFER_REACHED = "hlsLiveBackBufferReached",
    // (undocumented)
    MANIFEST_LOADED = "hlsManifestLoaded",
    // (undocumented)
    MANIFEST_LOADING = "hlsManifestLoading",
    // (undocumented)
    MANIFEST_PARSED = "hlsManifestParsed",
    // (undocumented)
    MAX_AUTO_LEVEL_UPDATED = "hlsMaxAutoLevelUpdated",
    // (undocumented)
    MEDIA_ATTACHED = "hlsMediaAttached",
    // (undocumented)
    MEDIA_ATTACHING = "hlsMediaAttaching",
    // (undocumented)
    MEDIA_DETACHED = "hlsMediaDetached",
    // (undocumented)
    MEDIA_DETACHING = "hlsMediaDetaching",
    // (undocumented)
    NON_NATIVE_TEXT_TRACKS_FOUND = "hlsNonNativeTextTracksFound",
    // (undocumented)
    STEERING_MANIFEST_LOADED = "hlsSteeringManifestLoaded",
    // (undocumented)
    SUBTITLE_FRAG_PROCESSED = "hlsSubtitleFragProcessed",
    // (undocumented)
    SUBTITLE_TRACK_LOADED = "hlsSubtitleTrackLoaded",
    // (undocumented)
    SUBTITLE_TRACK_LOADING = "hlsSubtitleTrackLoading",
    // (undocumented)
    SUBTITLE_TRACK_SWITCH = "hlsSubtitleTrackSwitch",
    // (undocumented)
    SUBTITLE_TRACKS_CLEARED = "hlsSubtitleTracksCleared",
    // (undocumented)
    SUBTITLE_TRACKS_UPDATED = "hlsSubtitleTracksUpdated"
}

// Warning: (ae-missing-release-tag) "FPSController" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class FPSController implements ComponentAPI {
    constructor(hls: Hls);
    // (undocumented)
    checkFPS(video: HTMLVideoElement, decodedFrames: number, droppedFrames: number): void;
    // (undocumented)
    checkFPSInterval(): void;
    // (undocumented)
    destroy(): void;
    // (undocumented)
    protected onMediaAttaching(event: Events.MEDIA_ATTACHING, data: MediaAttachingData): void;
    // (undocumented)
    protected registerListeners(): void;
    // (undocumented)
    setStreamController(streamController: StreamController): void;
    // (undocumented)
    protected unregisterListeners(): void;
}

// Warning: (ae-missing-release-tag) "FPSControllerConfig" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type FPSControllerConfig = {
    capLevelOnFPSDrop: boolean;
    fpsDroppedMonitoringPeriod: number;
    fpsDroppedMonitoringThreshold: number;
};

// Warning: (ae-missing-release-tag) "FPSDropData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface FPSDropData {
    // (undocumented)
    currentDecoded: number;
    // (undocumented)
    currentDropped: number;
    // (undocumented)
    totalDroppedFrames: number;
}

// Warning: (ae-missing-release-tag) "FPSDropLevelCappingData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface FPSDropLevelCappingData {
    // (undocumented)
    droppedLevel: number;
    // (undocumented)
    level: number;
}

// Warning: (ae-missing-release-tag) "FragBufferedData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface FragBufferedData {
    // (undocumented)
    frag: Fragment;
    // (undocumented)
    id: string;
    // (undocumented)
    part: Part | null;
    // (undocumented)
    stats: LoadStats;
}

// Warning: (ae-missing-release-tag) "FragChangedData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface FragChangedData {
    // (undocumented)
    frag: Fragment;
}

// Warning: (ae-missing-release-tag) "FragDecryptedData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface FragDecryptedData {
    // (undocumented)
    frag: Fragment;
    // (undocumented)
    payload: ArrayBuffer;
    // (undocumented)
    stats: {
        tstart: number;
        tdecrypt: number;
    };
}

// Warning: (ae-missing-release-tag) "FragLoadedData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface FragLoadedData {
    // (undocumented)
    frag: Fragment;
    // (undocumented)
    networkDetails: unknown;
    // (undocumented)
    part: Part | null;
    // (undocumented)
    payload: ArrayBuffer;
}

// Warning: (ae-missing-release-tag) "FragLoadEmergencyAbortedData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface FragLoadEmergencyAbortedData {
    // (undocumented)
    frag: Fragment;
    // (undocumented)
    part: Part | null;
    // (undocumented)
    stats: LoaderStats;
}

// Warning: (ae-missing-release-tag) "FragLoadingData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface FragLoadingData {
    // (undocumented)
    frag: Fragment;
    // (undocumented)
    part?: Part;
    // (undocumented)
    targetBufferTime: number | null;
}

// Warning: (ae-missing-release-tag) "Fragment" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export class Fragment extends BaseSegment {
    constructor(type: PlaylistLevelType, baseurl: string);
    // (undocumented)
    abortRequests(): void;
    // (undocumented)
    bitrateTest: boolean;
    // (undocumented)
    cc: number;
    // (undocumented)
    clearElementaryStreamInfo(): void;
    // (undocumented)
    data?: Uint8Array;
    // (undocumented)
    get decryptdata(): LevelKey | null;
    // (undocumented)
    deltaPTS?: number;
    // (undocumented)
    duration: number;
    // (undocumented)
    get encrypted(): boolean;
    // (undocumented)
    get end(): number;
    // (undocumented)
    endDTS: number;
    // (undocumented)
    endList?: boolean;
    // (undocumented)
    get endProgramDateTime(): number | null;
    // (undocumented)
    endPTS?: number;
    // (undocumented)
    gap?: boolean;
    // (undocumented)
    initSegment: Fragment | null;
    // Warning: (ae-forgotten-export) The symbol "KeyLoaderContext" needs to be exported by the entry point hls.d.ts
    //
    // (undocumented)
    keyLoader: Loader<KeyLoaderContext> | null;
    // (undocumented)
    level: number;
    // (undocumented)
    levelkeys?: {
        [key: string]: LevelKey;
    };
    // (undocumented)
    loader: Loader<FragmentLoaderContext> | null;
    // (undocumented)
    maxStartPTS?: number;
    // (undocumented)
    minEndPTS?: number;
    // (undocumented)
    programDateTime: number | null;
    // (undocumented)
    rawProgramDateTime: string | null;
    // (undocumented)
    setElementaryStreamInfo(type: ElementaryStreamTypes, startPTS: number, endPTS: number, startDTS: number, endDTS: number, partial?: boolean): void;
    // (undocumented)
    setKeyFormat(keyFormat: KeySystemFormats): void;
    // (undocumented)
    sn: number | 'initSegment';
    // (undocumented)
    start: number;
    // (undocumented)
    startDTS: number;
    // (undocumented)
    startPTS?: number;
    // (undocumented)
    stats: LoadStats;
    // (undocumented)
    tagList: Array<string[]>;
    // (undocumented)
    title: string | null;
    // (undocumented)
    readonly type: PlaylistLevelType;
    // (undocumented)
    urlId: number;
}

// Warning: (ae-missing-release-tag) "FragmentLoaderConfig" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public @deprecated (undocumented)
export type FragmentLoaderConfig = {
    fragLoadingTimeOut: number;
    fragLoadingMaxRetry: number;
    fragLoadingRetryDelay: number;
    fragLoadingMaxRetryTimeout: number;
};

// Warning: (ae-missing-release-tag) "FragmentLoaderConstructor" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface FragmentLoaderConstructor {
    // (undocumented)
    new (confg: HlsConfig): Loader<FragmentLoaderContext>;
}

// Warning: (ae-missing-release-tag) "FragmentLoaderContext" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface FragmentLoaderContext extends LoaderContext {
    // (undocumented)
    frag: Fragment;
    // (undocumented)
    part: Part | null;
    // (undocumented)
    resetIV?: boolean;
}

// Warning: (ae-missing-release-tag) "FragParsedData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface FragParsedData {
    // (undocumented)
    frag: Fragment;
    // (undocumented)
    part: Part | null;
}

// Warning: (ae-missing-release-tag) "FragParsingInitSegmentData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface FragParsingInitSegmentData {
}

// Warning: (ae-missing-release-tag) "FragParsingMetadataData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface FragParsingMetadataData {
    // (undocumented)
    details: LevelDetails;
    // (undocumented)
    frag: Fragment;
    // (undocumented)
    id: string;
    // (undocumented)
    samples: MetadataSample[];
}

// Warning: (ae-missing-release-tag) "FragParsingUserdataData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface FragParsingUserdataData {
    // (undocumented)
    details: LevelDetails;
    // (undocumented)
    frag: Fragment;
    // (undocumented)
    id: string;
    // (undocumented)
    samples: UserdataSample[];
}

// Warning: (ae-forgotten-export) The symbol "HdcpLevels" needs to be exported by the entry point hls.d.ts
// Warning: (ae-missing-release-tag) "HdcpLevel" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type HdcpLevel = (typeof HdcpLevels)[number];

// @public
class Hls implements HlsEventEmitter {
    constructor(userConfig?: Partial<HlsConfig>);
    get allAudioTracks(): Array<MediaPlaylist>;
    get allSubtitleTracks(): Array<MediaPlaylist>;
    attachMedia(media: HTMLMediaElement): void;
    get audioTrack(): number;
    // Warning: (ae-setter-with-docs) The doc comment for the property "audioTrack" must appear on the getter, not the setter.
    set audioTrack(audioTrackId: number);
    get audioTracks(): Array<MediaPlaylist>;
    get autoLevelCapping(): number;
    // Warning: (ae-setter-with-docs) The doc comment for the property "autoLevelCapping" must appear on the getter, not the setter.
    set autoLevelCapping(newLevel: number);
    get autoLevelEnabled(): boolean;
    get bandwidthEstimate(): number;
    set bandwidthEstimate(abrEwmaDefaultEstimate: number);
    get capLevelToPlayerSize(): boolean;
    // Warning: (ae-setter-with-docs) The doc comment for the property "capLevelToPlayerSize" must appear on the getter, not the setter.
    set capLevelToPlayerSize(shouldStartCapping: boolean);
    readonly config: HlsConfig;
    // (undocumented)
    createController(ControllerClass: any, components: any): any;
    get currentLevel(): number;
    // Warning: (ae-setter-with-docs) The doc comment for the property "currentLevel" must appear on the getter, not the setter.
    set currentLevel(newLevel: number);
    static get DefaultConfig(): HlsConfig;
    // Warning: (ae-setter-with-docs) The doc comment for the property "DefaultConfig" must appear on the getter, not the setter.
    static set DefaultConfig(defaultConfig: HlsConfig);
    destroy(): void;
    detachMedia(): void;
    get drift(): number | null;
    // (undocumented)
    emit<E extends keyof HlsListeners>(event: E, name: E, eventObject: Parameters<HlsListeners[E]>[1]): boolean;
    // (undocumented)
    static get ErrorDetails(): typeof ErrorDetails;
    // (undocumented)
    static get ErrorTypes(): typeof ErrorTypes;
    // (undocumented)
    static get Events(): typeof Events;
    // (undocumented)
    get firstAutoLevel(): number;
    get firstLevel(): number;
    // Warning: (ae-setter-with-docs) The doc comment for the property "firstLevel" must appear on the getter, not the setter.
    set firstLevel(newLevel: number);
    get forceStartLoad(): boolean;
    static getMediaSource(): typeof MediaSource | undefined;
    static isMSESupported(): boolean;
    static isSupported(): boolean;
    get latency(): number;
    // (undocumented)
    get levels(): Level[];
    // (undocumented)
    listenerCount<E extends keyof HlsListeners>(event: E): number;
    // (undocumented)
    listeners<E extends keyof HlsListeners>(event: E): HlsListeners[E][];
    get liveSyncPosition(): number | null;
    get loadLevel(): number;
    // Warning: (ae-setter-with-docs) The doc comment for the property "loadLevel" must appear on the getter, not the setter.
    set loadLevel(newLevel: number);
    loadSource(url: string): void;
    get lowLatencyMode(): boolean;
    // Warning: (ae-setter-with-docs) The doc comment for the property "lowLatencyMode" must appear on the getter, not the setter.
    set lowLatencyMode(mode: boolean);
    // (undocumented)
    get mainForwardBufferInfo(): BufferInfo | null;
    get manualLevel(): number;
    get maxAutoLevel(): number;
    // (undocumented)
    get maxHdcpLevel(): HdcpLevel;
    set maxHdcpLevel(value: HdcpLevel);
    get maxLatency(): number;
    // (undocumented)
    get media(): HTMLMediaElement | null;
    get minAutoLevel(): number;
    get nextAutoLevel(): number;
    // Warning: (ae-setter-with-docs) The doc comment for the property "nextAutoLevel" must appear on the getter, not the setter.
    set nextAutoLevel(nextLevel: number);
    get nextLevel(): number;
    // Warning: (ae-setter-with-docs) The doc comment for the property "nextLevel" must appear on the getter, not the setter.
    set nextLevel(newLevel: number);
    get nextLoadLevel(): number;
    // Warning: (ae-setter-with-docs) The doc comment for the property "nextLoadLevel" must appear on the getter, not the setter.
    set nextLoadLevel(level: number);
    // (undocumented)
    off<E extends keyof HlsListeners, Context = undefined>(event: E, listener?: HlsListeners[E] | undefined, context?: Context, once?: boolean | undefined): void;
    // (undocumented)
    on<E extends keyof HlsListeners, Context = undefined>(event: E, listener: HlsListeners[E], context?: Context): void;
    // (undocumented)
    once<E extends keyof HlsListeners, Context = undefined>(event: E, listener: HlsListeners[E], context?: Context): void;
    pauseBuffering(): void;
    get playingDate(): Date | null;
    recoverMediaError(): void;
    // (undocumented)
    removeAllListeners<E extends keyof HlsListeners>(event?: E | undefined): void;
    // (undocumented)
    removeLevel(levelIndex: number): void;
    resumeBuffering(): void;
    setAudioOption(audioOption: MediaPlaylist | AudioSelectionOption | undefined): MediaPlaylist | null;
    setSubtitleOption(subtitleOption: MediaPlaylist | SubtitleSelectionOption | undefined): MediaPlaylist | null;
    get startLevel(): number;
    // Warning: (ae-setter-with-docs) The doc comment for the property "startLevel" must appear on the getter, not the setter.
    set startLevel(newLevel: number);
    startLoad(startPosition?: number): void;
    stopLoad(): void;
    get subtitleDisplay(): boolean;
    // Warning: (ae-setter-with-docs) The doc comment for the property "subtitleDisplay" must appear on the getter, not the setter.
    set subtitleDisplay(value: boolean);
    get subtitleTrack(): number;
    // Warning: (ae-setter-with-docs) The doc comment for the property "subtitleTrack" must appear on the getter, not the setter.
    set subtitleTrack(subtitleTrackId: number);
    get subtitleTracks(): Array<MediaPlaylist>;
    swapAudioCodec(): void;
    get targetLatency(): number | null;
    // (undocumented)
    trigger<E extends keyof HlsListeners>(event: E, eventObject: Parameters<HlsListeners[E]>[1]): boolean;
    get ttfbEstimate(): number;
    readonly userConfig: Partial<HlsConfig>;
    static get version(): string;
}
export default Hls;

// Warning: (ae-missing-release-tag) "HlsChunkPerformanceTiming" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface HlsChunkPerformanceTiming extends HlsPerformanceTiming {
    // (undocumented)
    executeEnd: number;
    // (undocumented)
    executeStart: number;
}

// Warning: (ae-missing-release-tag) "HlsConfig" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type HlsConfig = {
    debug: boolean | ILogger;
    enableWorker: boolean;
    workerPath: null | string;
    enableSoftwareAES: boolean;
    minAutoBitrate: number;
    ignoreDevicePixelRatio: boolean;
    preferManagedMediaSource: boolean;
    loader: {
        new (confg: HlsConfig): Loader<LoaderContext>;
    };
    fLoader?: FragmentLoaderConstructor;
    pLoader?: PlaylistLoaderConstructor;
    fetchSetup?: (context: LoaderContext, initParams: any) => Request;
    xhrSetup?: (xhr: XMLHttpRequest, url: string) => Promise<void> | void;
    audioStreamController?: typeof AudioStreamController;
    audioTrackController?: typeof AudioTrackController;
    subtitleStreamController?: typeof SubtitleStreamController;
    subtitleTrackController?: typeof SubtitleTrackController;
    timelineController?: typeof TimelineController;
    emeController?: typeof EMEController;
    cmcd?: CMCDControllerConfig;
    cmcdController?: typeof CMCDController;
    contentSteeringController?: typeof ContentSteeringController;
    useMediaCapabilities: boolean;
    abrController: typeof AbrController;
    bufferController: typeof BufferController;
    capLevelController: typeof CapLevelController;
    errorController: typeof ErrorController;
    fpsController: typeof FPSController;
    progressive: boolean;
    lowLatencyMode: boolean;
} & ABRControllerConfig & BufferControllerConfig & CapLevelControllerConfig & EMEControllerConfig & FPSControllerConfig & LevelControllerConfig & MP4RemuxerConfig & StreamControllerConfig & SelectionPreferences & LatencyControllerConfig & MetadataControllerConfig & TimelineControllerConfig & TSDemuxerConfig & HlsLoadPolicies & FragmentLoaderConfig & PlaylistLoaderConfig;

// Warning: (ae-missing-release-tag) "HlsEventEmitter" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface HlsEventEmitter {
    // (undocumented)
    emit<E extends keyof HlsListeners>(event: E, name: E, eventObject: Parameters<HlsListeners[E]>[1]): boolean;
    // (undocumented)
    listenerCount<E extends keyof HlsListeners>(event: E): number;
    // (undocumented)
    listeners<E extends keyof HlsListeners>(event: E): HlsListeners[E][];
    // (undocumented)
    off<E extends keyof HlsListeners, Context = undefined>(event: E, listener?: HlsListeners[E], context?: Context, once?: boolean): void;
    // (undocumented)
    on<E extends keyof HlsListeners, Context = undefined>(event: E, listener: HlsListeners[E], context?: Context): void;
    // (undocumented)
    once<E extends keyof HlsListeners, Context = undefined>(event: E, listener: HlsListeners[E], context?: Context): void;
    // (undocumented)
    removeAllListeners<E extends keyof HlsListeners>(event?: E): void;
}

// Warning: (ae-missing-release-tag) "HlsListeners" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface HlsListeners {
    // (undocumented)
    [Events.AUDIO_TRACK_LOADED]: (event: Events.AUDIO_TRACK_LOADED, data: AudioTrackLoadedData) => void;
    // (undocumented)
    [Events.AUDIO_TRACK_LOADING]: (event: Events.AUDIO_TRACK_LOADING, data: TrackLoadingData) => void;
    // (undocumented)
    [Events.AUDIO_TRACKS_UPDATED]: (event: Events.AUDIO_TRACKS_UPDATED, data: AudioTracksUpdatedData) => void;
    // (undocumented)
    [Events.AUDIO_TRACK_SWITCHED]: (event: Events.AUDIO_TRACK_SWITCHED, data: AudioTrackSwitchedData) => void;
    // (undocumented)
    [Events.AUDIO_TRACK_SWITCHING]: (event: Events.AUDIO_TRACK_SWITCHING, data: AudioTrackSwitchingData) => void;
    // (undocumented)
    [Events.BACK_BUFFER_REACHED]: (event: Events.BACK_BUFFER_REACHED, data: BackBufferData) => void;
    // (undocumented)
    [Events.BUFFER_APPENDED]: (event: Events.BUFFER_APPENDED, data: BufferAppendedData) => void;
    // (undocumented)
    [Events.BUFFER_APPENDING]: (event: Events.BUFFER_APPENDING, data: BufferAppendingData) => void;
    // (undocumented)
    [Events.BUFFER_CODECS]: (event: Events.BUFFER_CODECS, data: BufferCodecsData) => void;
    // (undocumented)
    [Events.BUFFER_CREATED]: (event: Events.BUFFER_CREATED, data: BufferCreatedData) => void;
    // (undocumented)
    [Events.BUFFER_EOS]: (event: Events.BUFFER_EOS, data: BufferEOSData) => void;
    // (undocumented)
    [Events.BUFFER_FLUSHED]: (event: Events.BUFFER_FLUSHED, data: BufferFlushedData) => void;
    // (undocumented)
    [Events.BUFFER_FLUSHING]: (event: Events.BUFFER_FLUSHING, data: BufferFlushingData) => void;
    // (undocumented)
    [Events.BUFFER_RESET]: (event: Events.BUFFER_RESET) => void;
    // (undocumented)
    [Events.CUES_PARSED]: (event: Events.CUES_PARSED, data: CuesParsedData) => void;
    // (undocumented)
    [Events.DESTROYING]: (event: Events.DESTROYING) => void;
    // (undocumented)
    [Events.ERROR]: (event: Events.ERROR, data: ErrorData) => void;
    // (undocumented)
    [Events.FPS_DROP]: (event: Events.FPS_DROP, data: FPSDropData) => void;
    // (undocumented)
    [Events.FPS_DROP_LEVEL_CAPPING]: (event: Events.FPS_DROP_LEVEL_CAPPING, data: FPSDropLevelCappingData) => void;
    // (undocumented)
    [Events.FRAG_BUFFERED]: (event: Events.FRAG_BUFFERED, data: FragBufferedData) => void;
    // (undocumented)
    [Events.FRAG_CHANGED]: (event: Events.FRAG_CHANGED, data: FragChangedData) => void;
    // (undocumented)
    [Events.FRAG_DECRYPTED]: (event: Events.FRAG_DECRYPTED, data: FragDecryptedData) => void;
    // (undocumented)
    [Events.FRAG_LOADED]: (event: Events.FRAG_LOADED, data: FragLoadedData) => void;
    // (undocumented)
    [Events.FRAG_LOAD_EMERGENCY_ABORTED]: (event: Events.FRAG_LOAD_EMERGENCY_ABORTED, data: FragLoadEmergencyAbortedData) => void;
    // (undocumented)
    [Events.FRAG_LOADING]: (event: Events.FRAG_LOADING, data: FragLoadingData) => void;
    // (undocumented)
    [Events.FRAG_PARSED]: (event: Events.FRAG_PARSED, data: FragParsedData) => void;
    // (undocumented)
    [Events.FRAG_PARSING_INIT_SEGMENT]: (event: Events.FRAG_PARSING_INIT_SEGMENT, data: FragParsingInitSegmentData) => void;
    // (undocumented)
    [Events.FRAG_PARSING_METADATA]: (event: Events.FRAG_PARSING_METADATA, data: FragParsingMetadataData) => void;
    // (undocumented)
    [Events.FRAG_PARSING_USERDATA]: (event: Events.FRAG_PARSING_USERDATA, data: FragParsingUserdataData) => void;
    // (undocumented)
    [Events.INIT_PTS_FOUND]: (event: Events.INIT_PTS_FOUND, data: InitPTSFoundData) => void;
    // (undocumented)
    [Events.KEY_LOADED]: (event: Events.KEY_LOADED, data: KeyLoadedData) => void;
    // (undocumented)
    [Events.KEY_LOADING]: (event: Events.KEY_LOADING, data: KeyLoadingData) => void;
    // (undocumented)
    [Events.LEVEL_LOADED]: (event: Events.LEVEL_LOADED, data: LevelLoadedData) => void;
    // (undocumented)
    [Events.LEVEL_LOADING]: (event: Events.LEVEL_LOADING, data: LevelLoadingData) => void;
    // (undocumented)
    [Events.LEVEL_PTS_UPDATED]: (event: Events.LEVEL_PTS_UPDATED, data: LevelPTSUpdatedData) => void;
    // (undocumented)
    [Events.LEVELS_UPDATED]: (event: Events.LEVELS_UPDATED, data: LevelsUpdatedData) => void;
    // (undocumented)
    [Events.LEVEL_SWITCHED]: (event: Events.LEVEL_SWITCHED, data: LevelSwitchedData) => void;
    // (undocumented)
    [Events.LEVEL_SWITCHING]: (event: Events.LEVEL_SWITCHING, data: LevelSwitchingData) => void;
    // (undocumented)
    [Events.LEVEL_UPDATED]: (event: Events.LEVEL_UPDATED, data: LevelUpdatedData) => void;
    // (undocumented)
    [Events.LIVE_BACK_BUFFER_REACHED]: (event: Events.LIVE_BACK_BUFFER_REACHED, data: LiveBackBufferData) => void;
    // (undocumented)
    [Events.MANIFEST_LOADED]: (event: Events.MANIFEST_LOADED, data: ManifestLoadedData) => void;
    // (undocumented)
    [Events.MANIFEST_LOADING]: (event: Events.MANIFEST_LOADING, data: ManifestLoadingData) => void;
    // (undocumented)
    [Events.MANIFEST_PARSED]: (event: Events.MANIFEST_PARSED, data: ManifestParsedData) => void;
    // Warning: (ae-forgotten-export) The symbol "MaxAutoLevelUpdatedData" needs to be exported by the entry point hls.d.ts
    //
    // (undocumented)
    [Events.MAX_AUTO_LEVEL_UPDATED]: (event: Events.MAX_AUTO_LEVEL_UPDATED, data: MaxAutoLevelUpdatedData) => void;
    // (undocumented)
    [Events.MEDIA_ATTACHED]: (event: Events.MEDIA_ATTACHED, data: MediaAttachedData) => void;
    // (undocumented)
    [Events.MEDIA_ATTACHING]: (event: Events.MEDIA_ATTACHING, data: MediaAttachingData) => void;
    // (undocumented)
    [Events.MEDIA_DETACHED]: (event: Events.MEDIA_DETACHED) => void;
    // (undocumented)
    [Events.MEDIA_DETACHING]: (event: Events.MEDIA_DETACHING) => void;
    // (undocumented)
    [Events.NON_NATIVE_TEXT_TRACKS_FOUND]: (event: Events.NON_NATIVE_TEXT_TRACKS_FOUND, data: NonNativeTextTracksData) => void;
    // (undocumented)
    [Events.STEERING_MANIFEST_LOADED]: (event: Events.STEERING_MANIFEST_LOADED, data: SteeringManifestLoadedData) => void;
    // (undocumented)
    [Events.SUBTITLE_FRAG_PROCESSED]: (event: Events.SUBTITLE_FRAG_PROCESSED, data: SubtitleFragProcessedData) => void;
    // (undocumented)
    [Events.SUBTITLE_TRACK_LOADED]: (event: Events.SUBTITLE_TRACK_LOADED, data: SubtitleTrackLoadedData) => void;
    // (undocumented)
    [Events.SUBTITLE_TRACK_LOADING]: (event: Events.SUBTITLE_TRACK_LOADING, data: TrackLoadingData) => void;
    // (undocumented)
    [Events.SUBTITLE_TRACKS_CLEARED]: (event: Events.SUBTITLE_TRACKS_CLEARED) => void;
    // (undocumented)
    [Events.SUBTITLE_TRACKS_UPDATED]: (event: Events.SUBTITLE_TRACKS_UPDATED, data: SubtitleTracksUpdatedData) => void;
    // (undocumented)
    [Events.SUBTITLE_TRACK_SWITCH]: (event: Events.SUBTITLE_TRACK_SWITCH, data: SubtitleTrackSwitchData) => void;
}

// Warning: (ae-missing-release-tag) "HlsLoadPolicies" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type HlsLoadPolicies = {
    fragLoadPolicy: LoadPolicy;
    keyLoadPolicy: LoadPolicy;
    certLoadPolicy: LoadPolicy;
    playlistLoadPolicy: LoadPolicy;
    manifestLoadPolicy: LoadPolicy;
    steeringManifestLoadPolicy: LoadPolicy;
};

// Warning: (ae-missing-release-tag) "HlsPerformanceTiming" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface HlsPerformanceTiming {
    // (undocumented)
    end: number;
    // (undocumented)
    start: number;
}

// Warning: (ae-missing-release-tag) "HlsProgressivePerformanceTiming" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface HlsProgressivePerformanceTiming extends HlsPerformanceTiming {
    // (undocumented)
    first: number;
}

// Warning: (ae-missing-release-tag) "HlsSkip" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const enum HlsSkip {
    // (undocumented)
    No = "",
    // (undocumented)
    v2 = "v2",
    // (undocumented)
    Yes = "YES"
}

// Warning: (ae-missing-release-tag) "HlsUrlParameters" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class HlsUrlParameters {
    constructor(msn?: number, part?: number, skip?: HlsSkip);
    // (undocumented)
    addDirectives(uri: string): string | never;
    // (undocumented)
    msn?: number;
    // (undocumented)
    part?: number;
    // (undocumented)
    skip?: HlsSkip;
}

// Warning: (ae-missing-release-tag) "IErrorAction" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type IErrorAction = {
    action: NetworkErrorAction;
    flags: ErrorActionFlags;
    retryCount?: number;
    retryConfig?: RetryConfig;
    hdcpLevel?: HdcpLevel;
    nextAutoLevel?: number;
    resolved?: boolean;
};

// Warning: (ae-missing-release-tag) "ILogger" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ILogger {
    // (undocumented)
    debug: ILogFunction;
    // (undocumented)
    error: ILogFunction;
    // (undocumented)
    info: ILogFunction;
    // (undocumented)
    log: ILogFunction;
    // Warning: (ae-forgotten-export) The symbol "ILogFunction" needs to be exported by the entry point hls.d.ts
    //
    // (undocumented)
    trace: ILogFunction;
    // (undocumented)
    warn: ILogFunction;
}

// Warning: (ae-missing-release-tag) "InitPTSFoundData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface InitPTSFoundData {
    // (undocumented)
    frag: Fragment;
    // (undocumented)
    id: string;
    // (undocumented)
    initPTS: number;
    // (undocumented)
    timescale: number;
}

// Warning: (ae-missing-release-tag) "KeyLoadedData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface KeyLoadedData {
    // (undocumented)
    frag: Fragment;
    // Warning: (ae-forgotten-export) The symbol "KeyLoaderInfo" needs to be exported by the entry point hls.d.ts
    //
    // (undocumented)
    keyInfo: KeyLoaderInfo;
}

// Warning: (ae-missing-release-tag) "KeyLoadingData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface KeyLoadingData {
    // (undocumented)
    frag: Fragment;
}

// Warning: (ae-missing-release-tag) "KeySystemFormats" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const enum KeySystemFormats {
    // (undocumented)
    CLEARKEY = "org.w3.clearkey",
    // (undocumented)
    FAIRPLAY = "com.apple.streamingkeydelivery",
    // (undocumented)
    PLAYREADY = "com.microsoft.playready",
    // (undocumented)
    WIDEVINE = "urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"
}

// Warning: (ae-missing-release-tag) "KeySystems" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const enum KeySystems {
    // (undocumented)
    CLEARKEY = "org.w3.clearkey",
    // (undocumented)
    FAIRPLAY = "com.apple.fps",
    // (undocumented)
    PLAYREADY = "com.microsoft.playready",
    // (undocumented)
    WIDEVINE = "com.widevine.alpha"
}

// Warning: (ae-missing-release-tag) "LatencyControllerConfig" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type LatencyControllerConfig = {
    liveSyncDurationCount: number;
    liveMaxLatencyDurationCount: number;
    liveSyncDuration?: number;
    liveMaxLatencyDuration?: number;
    maxLiveSyncPlaybackRate: number;
};

// Warning: (ae-missing-release-tag) "Level" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class Level {
    constructor(data: LevelParsed | MediaPlaylist);
    // (undocumented)
    addFallback(): void;
    // (undocumented)
    addGroupId(type: string, groupId: string | undefined): void;
    // (undocumented)
    get attrs(): LevelAttributes;
    // (undocumented)
    readonly _attrs: LevelAttributes[];
    // (undocumented)
    readonly audioCodec: string | undefined;
    // (undocumented)
    get audioGroupId(): string | undefined;
    // (undocumented)
    get audioGroupIds(): (string | undefined)[] | undefined;
    // (undocumented)
    get audioGroups(): (string | undefined)[] | undefined;
    // (undocumented)
    get averageBitrate(): number;
    // (undocumented)
    readonly bitrate: number;
    // (undocumented)
    get codecs(): string;
    // (undocumented)
    readonly codecSet: string;
    // (undocumented)
    details?: LevelDetails;
    // (undocumented)
    fragmentError: number;
    // (undocumented)
    readonly frameRate: number;
    // (undocumented)
    hasAudioGroup(groupId: string | undefined): boolean;
    // (undocumented)
    hasSubtitleGroup(groupId: string | undefined): boolean;
    // (undocumented)
    readonly height: number;
    // (undocumented)
    readonly id: number;
    // (undocumented)
    loaded?: {
        bytes: number;
        duration: number;
    };
    // (undocumented)
    loadError: number;
    // (undocumented)
    get maxBitrate(): number;
    // (undocumented)
    readonly name: string;
    // (undocumented)
    get pathwayId(): string;
    // (undocumented)
    realBitrate: number;
    // (undocumented)
    get score(): number;
    // (undocumented)
    get subtitleGroups(): (string | undefined)[] | undefined;
    // (undocumented)
    supportedPromise?: Promise<MediaDecodingInfo>;
    // (undocumented)
    supportedResult?: MediaDecodingInfo;
    // (undocumented)
    get textGroupId(): string | undefined;
    // (undocumented)
    get textGroupIds(): (string | undefined)[] | undefined;
    // (undocumented)
    get uri(): string;
    // (undocumented)
    readonly url: string[];
    // (undocumented)
    get urlId(): number;
    set urlId(value: number);
    // (undocumented)
    readonly videoCodec: string | undefined;
    // Warning: (ae-forgotten-export) The symbol "VideoRange" needs to be exported by the entry point hls.d.ts
    //
    // (undocumented)
    get videoRange(): VideoRange;
    // (undocumented)
    readonly width: number;
}

// Warning: (ae-missing-release-tag) "LevelAttributes" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface LevelAttributes extends AttrList {
    // (undocumented)
    'ALLOWED-CPC'?: string;
    // (undocumented)
    'AVERAGE-BANDWIDTH'?: string;
    // (undocumented)
    'CLOSED-CAPTIONS'?: string;
    // (undocumented)
    'FRAME-RATE'?: string;
    // (undocumented)
    'HDCP-LEVEL'?: 'TYPE-0' | 'TYPE-1' | 'NONE';
    // (undocumented)
    'PATHWAY-ID'?: string;
    // (undocumented)
    'STABLE-VARIANT-ID'?: string;
    // (undocumented)
    'SUPPLEMENTAL-CODECS'?: string;
    // (undocumented)
    'VIDEO-RANGE'?: VideoRange;
    // (undocumented)
    AUDIO?: string;
    // (undocumented)
    BANDWIDTH?: string;
    // (undocumented)
    CODECS?: string;
    // (undocumented)
    RESOLUTION?: string;
    // (undocumented)
    SCORE?: string;
    // (undocumented)
    SUBTITLES?: string;
    // (undocumented)
    VIDEO?: string;
}

// Warning: (ae-missing-release-tag) "LevelControllerConfig" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type LevelControllerConfig = {
    startLevel?: number;
};

// Warning: (ae-missing-release-tag) "LevelDetails" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export class LevelDetails {
    constructor(baseUrl: string);
    // (undocumented)
    advanced: boolean;
    // (undocumented)
    advancedDateTime?: number;
    // (undocumented)
    get age(): number;
    // (undocumented)
    ageHeader: number;
    // (undocumented)
    alignedSliding: boolean;
    // (undocumented)
    availabilityDelay?: number;
    // (undocumented)
    averagetargetduration?: number;
    // (undocumented)
    canBlockReload: boolean;
    // (undocumented)
    canSkipDateRanges: boolean;
    // (undocumented)
    canSkipUntil: number;
    // (undocumented)
    dateRanges: Record<string, DateRange>;
    // (undocumented)
    deltaUpdateFailed?: boolean;
    // (undocumented)
    get drift(): number;
    // (undocumented)
    driftEnd: number;
    // (undocumented)
    driftEndTime: number;
    // (undocumented)
    driftStart: number;
    // (undocumented)
    driftStartTime: number;
    // (undocumented)
    get edge(): number;
    // (undocumented)
    encryptedFragments: Fragment[];
    // (undocumented)
    endCC: number;
    // (undocumented)
    endSN: number;
    // (undocumented)
    get fragmentEnd(): number;
    // (undocumented)
    fragmentHint?: Fragment;
    // (undocumented)
    fragments: Fragment[];
    // (undocumented)
    get hasProgramDateTime(): boolean;
    // (undocumented)
    hasVariableRefs: boolean;
    // (undocumented)
    holdBack: number;
    // (undocumented)
    get lastPartIndex(): number;
    // (undocumented)
    get lastPartSn(): number;
    // (undocumented)
    get levelTargetDuration(): number;
    // (undocumented)
    live: boolean;
    // (undocumented)
    m3u8: string;
    // (undocumented)
    misses: number;
    // (undocumented)
    get partEnd(): number;
    // (undocumented)
    partHoldBack: number;
    // (undocumented)
    partList: Part[] | null;
    // (undocumented)
    partTarget: number;
    // (undocumented)
    playlistParsingError: Error | null;
    // (undocumented)
    preloadHint?: AttrList;
    // (undocumented)
    PTSKnown: boolean;
    // (undocumented)
    recentlyRemovedDateranges?: string[];
    // (undocumented)
    reloaded(previous: LevelDetails | undefined): void;
    // (undocumented)
    renditionReports?: AttrList[];
    // (undocumented)
    skippedSegments: number;
    // (undocumented)
    startCC: number;
    // (undocumented)
    startSN: number;
    // (undocumented)
    startTimeOffset: number | null;
    // (undocumented)
    targetduration: number;
    // (undocumented)
    totalduration: number;
    // (undocumented)
    tuneInGoal: number;
    // (undocumented)
    type: string | null;
    // (undocumented)
    updated: boolean;
    // (undocumented)
    url: string;
    // (undocumented)
    variableList: VariableMap | null;
    // (undocumented)
    version: number | null;
}

// Warning: (ae-forgotten-export) The symbol "DecryptData" needs to be exported by the entry point hls.d.ts
// Warning: (ae-missing-release-tag) "LevelKey" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class LevelKey implements DecryptData {
    constructor(method: string, uri: string, format: string, formatversions?: number[], iv?: Uint8Array | null);
    // (undocumented)
    static clearKeyUriToKeyIdMap(): void;
    // (undocumented)
    readonly encrypted: boolean;
    // (undocumented)
    getDecryptData(sn: number | 'initSegment'): LevelKey | null;
    // (undocumented)
    readonly isCommonEncryption: boolean;
    // (undocumented)
    isSupported(): boolean;
    // (undocumented)
    iv: Uint8Array | null;
    // (undocumented)
    key: Uint8Array | null;
    // (undocumented)
    readonly keyFormat: string;
    // (undocumented)
    readonly keyFormatVersions: number[];
    // (undocumented)
    keyId: Uint8Array | null;
    // (undocumented)
    readonly method: string;
    // (undocumented)
    pssh: Uint8Array | null;
    // (undocumented)
    readonly uri: string;
}

// Warning: (ae-missing-release-tag) "LevelLoadedData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface LevelLoadedData {
    // (undocumented)
    deliveryDirectives: HlsUrlParameters | null;
    // (undocumented)
    details: LevelDetails;
    // (undocumented)
    id: number;
    // (undocumented)
    level: number;
    // (undocumented)
    networkDetails: any;
    // (undocumented)
    stats: LoaderStats;
}

// Warning: (ae-missing-release-tag) "LevelLoadingData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface LevelLoadingData {
    // (undocumented)
    deliveryDirectives: HlsUrlParameters | null;
    // (undocumented)
    id: number;
    // (undocumented)
    level: number;
    // (undocumented)
    pathwayId: string | undefined;
    // (undocumented)
    url: string;
}

// Warning: (ae-missing-release-tag) "LevelParsed" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface LevelParsed {
    // (undocumented)
    attrs: LevelAttributes;
    // (undocumented)
    audioCodec?: string;
    // (undocumented)
    bitrate: number;
    // (undocumented)
    details?: LevelDetails;
    // (undocumented)
    height?: number;
    // (undocumented)
    id?: number;
    // (undocumented)
    name: string;
    // (undocumented)
    textCodec?: string;
    // (undocumented)
    unknownCodecs?: string[];
    // (undocumented)
    url: string;
    // (undocumented)
    videoCodec?: string;
    // (undocumented)
    width?: number;
}

// Warning: (ae-missing-release-tag) "LevelPTSUpdatedData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface LevelPTSUpdatedData {
    // (undocumented)
    details: LevelDetails;
    // (undocumented)
    drift: number;
    // (undocumented)
    end: number;
    // (undocumented)
    frag: Fragment;
    // (undocumented)
    level: Level;
    // (undocumented)
    start: number;
    // (undocumented)
    type: string;
}

// Warning: (ae-missing-release-tag) "LevelsUpdatedData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface LevelsUpdatedData {
    // (undocumented)
    levels: Array<Level>;
}

// Warning: (ae-missing-release-tag) "LevelSwitchedData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface LevelSwitchedData {
    // (undocumented)
    level: number;
}

// Warning: (ae-missing-release-tag) "LevelSwitchingData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface LevelSwitchingData {
    // (undocumented)
    attrs: LevelAttributes;
    // (undocumented)
    audioCodec: string | undefined;
    // (undocumented)
    audioGroupIds: (string | undefined)[] | undefined;
    // (undocumented)
    audioGroups: (string | undefined)[] | undefined;
    // (undocumented)
    averageBitrate: number;
    // (undocumented)
    bitrate: number;
    // (undocumented)
    codecSet: string;
    // (undocumented)
    details: LevelDetails | undefined;
    // (undocumented)
    fragmentError: number;
    // (undocumented)
    height: number;
    // (undocumented)
    id: number;
    // (undocumented)
    level: number;
    // (undocumented)
    loaded: {
        bytes: number;
        duration: number;
    } | undefined;
    // (undocumented)
    loadError: number;
    // (undocumented)
    maxBitrate: number;
    // (undocumented)
    name: string | undefined;
    // (undocumented)
    realBitrate: number;
    // (undocumented)
    subtitleGroups: (string | undefined)[] | undefined;
    // (undocumented)
    textGroupIds: (string | undefined)[] | undefined;
    // (undocumented)
    uri: string;
    // (undocumented)
    url: string[];
    // (undocumented)
    urlId: 0;
    // (undocumented)
    videoCodec: string | undefined;
    // (undocumented)
    width: number;
}

// Warning: (ae-missing-release-tag) "LevelUpdatedData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface LevelUpdatedData {
    // (undocumented)
    details: LevelDetails;
    // (undocumented)
    level: number;
}

// Warning: (ae-missing-release-tag) "LiveBackBufferData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public @deprecated (undocumented)
export interface LiveBackBufferData extends BackBufferData {
}

// Warning: (ae-missing-release-tag) "Loader" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface Loader<T extends LoaderContext> {
    // (undocumented)
    abort(): void;
    // (undocumented)
    context: T | null;
    // (undocumented)
    destroy(): void;
    getCacheAge?: () => number | null;
    // (undocumented)
    getResponseHeader?: (name: string) => string | null;
    // (undocumented)
    load(context: T, config: LoaderConfiguration, callbacks: LoaderCallbacks<T>): void;
    // (undocumented)
    stats: LoaderStats;
}

// Warning: (ae-missing-release-tag) "LoaderCallbacks" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface LoaderCallbacks<T extends LoaderContext> {
    // (undocumented)
    onAbort?: LoaderOnAbort<T>;
    // (undocumented)
    onError: LoaderOnError<T>;
    // (undocumented)
    onProgress?: LoaderOnProgress<T>;
    // (undocumented)
    onSuccess: LoaderOnSuccess<T>;
    // (undocumented)
    onTimeout: LoaderOnTimeout<T>;
}

// Warning: (ae-missing-release-tag) "LoaderConfig" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type LoaderConfig = {
    maxTimeToFirstByteMs: number;
    maxLoadTimeMs: number;
    timeoutRetry: RetryConfig | null;
    errorRetry: RetryConfig | null;
};

// Warning: (ae-missing-release-tag) "LoaderConfiguration" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface LoaderConfiguration {
    // (undocumented)
    highWaterMark?: number;
    // (undocumented)
    loadPolicy: LoaderConfig;
    // @deprecated (undocumented)
    maxRetry: number;
    // @deprecated (undocumented)
    maxRetryDelay: number;
    // @deprecated (undocumented)
    retryDelay: number;
    // @deprecated (undocumented)
    timeout: number;
}

// Warning: (ae-missing-release-tag) "LoaderContext" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface LoaderContext {
    // (undocumented)
    headers?: Record<string, string>;
    // (undocumented)
    progressData?: boolean;
    // (undocumented)
    rangeEnd?: number;
    // (undocumented)
    rangeStart?: number;
    // (undocumented)
    responseType: string;
    // (undocumented)
    url: string;
}

// Warning: (ae-missing-release-tag) "LoaderOnAbort" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type LoaderOnAbort<T extends LoaderContext> = (stats: LoaderStats, context: T, networkDetails: any) => void;

// Warning: (ae-missing-release-tag) "LoaderOnError" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type LoaderOnError<T extends LoaderContext> = (error: {
    code: number;
    text: string;
}, context: T, networkDetails: any, stats: LoaderStats) => void;

// Warning: (ae-missing-release-tag) "LoaderOnProgress" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type LoaderOnProgress<T extends LoaderContext> = (stats: LoaderStats, context: T, data: string | ArrayBuffer, networkDetails: any) => void;

// Warning: (ae-missing-release-tag) "LoaderOnSuccess" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type LoaderOnSuccess<T extends LoaderContext> = (response: LoaderResponse, stats: LoaderStats, context: T, networkDetails: any) => void;

// Warning: (ae-missing-release-tag) "LoaderOnTimeout" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type LoaderOnTimeout<T extends LoaderContext> = (stats: LoaderStats, context: T, networkDetails: any) => void;

// Warning: (ae-missing-release-tag) "LoaderResponse" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface LoaderResponse {
    // (undocumented)
    code?: number;
    // (undocumented)
    data?: string | ArrayBuffer | Object;
    // (undocumented)
    text?: string;
    // (undocumented)
    url: string;
}

// Warning: (ae-missing-release-tag) "LoaderStats" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface LoaderStats {
    // (undocumented)
    aborted: boolean;
    // (undocumented)
    buffering: HlsProgressivePerformanceTiming;
    // (undocumented)
    bwEstimate: number;
    // (undocumented)
    chunkCount: number;
    // (undocumented)
    loaded: number;
    // (undocumented)
    loading: HlsProgressivePerformanceTiming;
    // (undocumented)
    parsing: HlsPerformanceTiming;
    // (undocumented)
    retry: number;
    // (undocumented)
    total: number;
}

// Warning: (ae-missing-release-tag) "LoadPolicy" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type LoadPolicy = {
    default: LoaderConfig;
};

// Warning: (ae-missing-release-tag) "LoadStats" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class LoadStats implements LoaderStats {
    // (undocumented)
    aborted: boolean;
    // (undocumented)
    buffering: HlsProgressivePerformanceTiming;
    // (undocumented)
    bwEstimate: number;
    // (undocumented)
    chunkCount: number;
    // (undocumented)
    loaded: number;
    // (undocumented)
    loading: HlsProgressivePerformanceTiming;
    // (undocumented)
    parsing: HlsPerformanceTiming;
    // (undocumented)
    retry: number;
    // (undocumented)
    total: number;
}

// Warning: (ae-missing-release-tag) "MainPlaylistType" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type MainPlaylistType = AudioPlaylistType | 'VIDEO';

// Warning: (ae-missing-release-tag) "ManifestLoadedData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ManifestLoadedData {
    // (undocumented)
    audioTracks: MediaPlaylist[];
    // (undocumented)
    captions?: MediaPlaylist[];
    // (undocumented)
    contentSteering: ContentSteeringOptions | null;
    // (undocumented)
    levels: LevelParsed[];
    // (undocumented)
    networkDetails: any;
    // (undocumented)
    sessionData: Record<string, AttrList> | null;
    // (undocumented)
    sessionKeys: LevelKey[] | null;
    // (undocumented)
    startTimeOffset: number | null;
    // (undocumented)
    stats: LoaderStats;
    // (undocumented)
    subtitles?: MediaPlaylist[];
    // (undocumented)
    url: string;
    // (undocumented)
    variableList: VariableMap | null;
}

// Warning: (ae-missing-release-tag) "ManifestLoadingData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ManifestLoadingData {
    // (undocumented)
    url: string;
}

// Warning: (ae-missing-release-tag) "ManifestParsedData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ManifestParsedData {
    // (undocumented)
    altAudio: boolean;
    // (undocumented)
    audio: boolean;
    // (undocumented)
    audioTracks: MediaPlaylist[];
    // (undocumented)
    firstLevel: number;
    // (undocumented)
    levels: Level[];
    // (undocumented)
    sessionData: Record<string, AttrList> | null;
    // (undocumented)
    sessionKeys: LevelKey[] | null;
    // (undocumented)
    stats: LoaderStats;
    // (undocumented)
    subtitleTracks: MediaPlaylist[];
    // (undocumented)
    video: boolean;
}

// Warning: (ae-missing-release-tag) "MediaAttachedData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface MediaAttachedData {
    // (undocumented)
    media: HTMLMediaElement;
    // (undocumented)
    mediaSource?: MediaSource;
}

// Warning: (ae-missing-release-tag) "MediaAttachingData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface MediaAttachingData {
    // (undocumented)
    media: HTMLMediaElement;
}

// Warning: (ae-missing-release-tag) "MediaAttributes" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface MediaAttributes extends AttrList {
    // (undocumented)
    'ASSOC-LANGUAGE'?: string;
    // (undocumented)
    'GROUP-ID': string;
    // (undocumented)
    'INSTREAM-ID'?: string;
    // (undocumented)
    'PATHWAY-ID'?: string;
    // (undocumented)
    'STABLE-RENDITION-ID'?: string;
    // (undocumented)
    AUTOSELECT?: 'YES' | 'NO';
    // (undocumented)
    CHANNELS?: string;
    // (undocumented)
    CHARACTERISTICS?: string;
    // (undocumented)
    DEFAULT?: 'YES' | 'NO';
    // (undocumented)
    FORCED?: 'YES' | 'NO';
    // (undocumented)
    LANGUAGE?: string;
    // (undocumented)
    NAME: string;
    // (undocumented)
    TYPE?: 'AUDIO' | 'VIDEO' | 'SUBTITLES' | 'CLOSED-CAPTIONS';
    // (undocumented)
    URI?: string;
}

// Warning: (ae-missing-release-tag) "MediaDecodingInfo" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type MediaDecodingInfo = {
    supported: boolean;
    configurations: readonly MediaDecodingConfiguration[];
    decodingInfoResults: readonly MediaCapabilitiesDecodingInfo[];
    error?: Error;
};

// Warning: (ae-missing-release-tag) "MediaKeyFunc" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type MediaKeyFunc = (keySystem: KeySystems, supportedConfigurations: MediaKeySystemConfiguration[]) => Promise<MediaKeySystemAccess>;

// Warning: (ae-missing-release-tag) "MediaKeySessionContext" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface MediaKeySessionContext {
    // (undocumented)
    decryptdata: LevelKey;
    // (undocumented)
    keyStatus: MediaKeyStatus;
    // (undocumented)
    keySystem: KeySystems;
    // (undocumented)
    licenseXhr?: XMLHttpRequest;
    // (undocumented)
    mediaKeys: MediaKeys;
    // (undocumented)
    mediaKeysSession: MediaKeySession;
    // (undocumented)
    _onkeystatuseschange?: (this: MediaKeySession, ev: Event) => any;
    // (undocumented)
    _onmessage?: (this: MediaKeySession, ev: MediaKeyMessageEvent) => any;
}

// Warning: (ae-missing-release-tag) "MediaPlaylist" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface MediaPlaylist {
    // (undocumented)
    assocLang?: string;
    // (undocumented)
    attrs: MediaAttributes;
    // (undocumented)
    audioCodec?: string;
    // (undocumented)
    autoselect: boolean;
    // (undocumented)
    bitrate: number;
    // (undocumented)
    channels?: string;
    // (undocumented)
    characteristics?: string;
    // (undocumented)
    default: boolean;
    // (undocumented)
    details?: LevelDetails;
    // (undocumented)
    forced: boolean;
    // (undocumented)
    groupId: string;
    // (undocumented)
    height?: number;
    // (undocumented)
    id: number;
    // (undocumented)
    instreamId?: string;
    // (undocumented)
    lang?: string;
    // (undocumented)
    name: string;
    // (undocumented)
    textCodec?: string;
    // (undocumented)
    type: MediaPlaylistType | 'main';
    // (undocumented)
    unknownCodecs?: string[];
    // (undocumented)
    url: string;
    // (undocumented)
    videoCodec?: string;
    // (undocumented)
    width?: number;
}

// Warning: (ae-missing-release-tag) "MediaPlaylistType" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type MediaPlaylistType = MainPlaylistType | SubtitlePlaylistType;

// Warning: (ae-missing-release-tag) "MetadataControllerConfig" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type MetadataControllerConfig = {
    enableDateRangeMetadataCues: boolean;
    enableEmsgMetadataCues: boolean;
    enableID3MetadataCues: boolean;
};

// Warning: (ae-missing-release-tag) "MetadataSample" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface MetadataSample {
    // (undocumented)
    data: Uint8Array;
    // (undocumented)
    dts: number;
    // (undocumented)
    duration: number;
    // (undocumented)
    len?: number;
    // (undocumented)
    pts: number;
    // (undocumented)
    type: MetadataSchema;
}

// Warning: (ae-missing-release-tag) "MetadataSchema" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const enum MetadataSchema {
    // (undocumented)
    audioId3 = "org.id3",
    // (undocumented)
    dateRange = "com.apple.quicktime.HLS",
    // (undocumented)
    emsg = "https://aomedia.org/emsg/ID3"
}

// Warning: (ae-missing-release-tag) "MP4RemuxerConfig" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type MP4RemuxerConfig = {
    stretchShortVideoTrack: boolean;
    maxAudioFramesDrift: number;
};

// Warning: (ae-missing-release-tag) "NetworkComponentAPI" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface NetworkComponentAPI extends ComponentAPI {
    // (undocumented)
    startLoad(startPosition: number): void;
    // (undocumented)
    stopLoad(): void;
}

// Warning: (ae-missing-release-tag) "NetworkErrorAction" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const enum NetworkErrorAction {
    // (undocumented)
    DoNothing = 0,
    // (undocumented)
    InsertDiscontinuity = 4,// Reserved for future use
    // (undocumented)
    RemoveAlternatePermanently = 3,
    // (undocumented)
    RetryRequest = 5,// Reserved for future use
    // (undocumented)
    SendAlternateToPenaltyBox = 2,// Reserved for future use
    // (undocumented)
    SendEndCallback = 1
}

// Warning: (ae-missing-release-tag) "NonNativeTextTrack" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface NonNativeTextTrack {
    // (undocumented)
    closedCaptions?: MediaPlaylist;
    // (undocumented)
    default: boolean;
    // (undocumented)
    _id?: string;
    // (undocumented)
    kind: string;
    // (undocumented)
    label: any;
    // (undocumented)
    subtitleTrack?: MediaPlaylist;
}

// Warning: (ae-missing-release-tag) "NonNativeTextTracksData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface NonNativeTextTracksData {
    // (undocumented)
    tracks: Array<NonNativeTextTrack>;
}

// Warning: (ae-missing-release-tag) "Part" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export class Part extends BaseSegment {
    constructor(partAttrs: AttrList, frag: Fragment, baseurl: string, index: number, previous?: Part);
    // (undocumented)
    readonly duration: number;
    // (undocumented)
    get end(): number;
    // (undocumented)
    readonly fragment: Fragment;
    // (undocumented)
    readonly fragOffset: number;
    // (undocumented)
    readonly gap: boolean;
    // (undocumented)
    readonly independent: boolean;
    // (undocumented)
    readonly index: number;
    // (undocumented)
    get loaded(): boolean;
    // (undocumented)
    readonly relurl: string;
    // (undocumented)
    get start(): number;
    // (undocumented)
    stats: LoadStats;
}

// Warning: (ae-missing-release-tag) "PathwayClone" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type PathwayClone = {
    'BASE-ID': string;
    ID: string;
    'URI-REPLACEMENT': UriReplacement;
};

// Warning: (ae-missing-release-tag) "PlaylistContextType" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const enum PlaylistContextType {
    // (undocumented)
    AUDIO_TRACK = "audioTrack",
    // (undocumented)
    LEVEL = "level",
    // (undocumented)
    MANIFEST = "manifest",
    // (undocumented)
    SUBTITLE_TRACK = "subtitleTrack"
}

// Warning: (ae-missing-release-tag) "PlaylistLevelType" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const enum PlaylistLevelType {
    // (undocumented)
    AUDIO = "audio",
    // (undocumented)
    MAIN = "main",
    // (undocumented)
    SUBTITLE = "subtitle"
}

// Warning: (ae-missing-release-tag) "PlaylistLoaderConfig" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public @deprecated (undocumented)
export type PlaylistLoaderConfig = {
    manifestLoadingTimeOut: number;
    manifestLoadingMaxRetry: number;
    manifestLoadingRetryDelay: number;
    manifestLoadingMaxRetryTimeout: number;
    levelLoadingTimeOut: number;
    levelLoadingMaxRetry: number;
    levelLoadingRetryDelay: number;
    levelLoadingMaxRetryTimeout: number;
};

// Warning: (ae-missing-release-tag) "PlaylistLoaderConstructor" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface PlaylistLoaderConstructor {
    // (undocumented)
    new (confg: HlsConfig): Loader<PlaylistLoaderContext>;
}

// Warning: (ae-missing-release-tag) "PlaylistLoaderContext" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface PlaylistLoaderContext extends LoaderContext {
    // (undocumented)
    deliveryDirectives: HlsUrlParameters | null;
    // (undocumented)
    groupId?: string;
    // (undocumented)
    id: number | null;
    // (undocumented)
    level: number | null;
    // (undocumented)
    levelDetails?: LevelDetails;
    // (undocumented)
    pathwayId?: string;
    // (undocumented)
    type: PlaylistContextType;
}

// Warning: (ae-missing-release-tag) "RetryConfig" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type RetryConfig = {
    maxNumRetry: number;
    retryDelayMs: number;
    maxRetryDelayMs: number;
    backoff?: 'exponential' | 'linear';
    shouldRetry?: (retryConfig: RetryConfig | null | undefined, retryCount: number, isTimeout: boolean, loaderResponse: LoaderResponse | undefined, retry: boolean) => boolean;
};

// Warning: (ae-missing-release-tag) "SelectionPreferences" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type SelectionPreferences = {
    videoPreference?: VideoSelectionOption;
    audioPreference?: AudioSelectionOption;
    subtitlePreference?: SubtitleSelectionOption;
};

// Warning: (ae-missing-release-tag) "SourceBufferName" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type SourceBufferName = 'video' | 'audio' | 'audiovideo';

// Warning: (ae-missing-release-tag) "SteeringManifest" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type SteeringManifest = {
    VERSION: 1;
    TTL: number;
    'RELOAD-URI'?: string;
    'PATHWAY-PRIORITY': string[];
    'PATHWAY-CLONES'?: PathwayClone[];
};

// Warning: (ae-missing-release-tag) "SteeringManifestLoadedData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface SteeringManifestLoadedData {
    // (undocumented)
    steeringManifest: SteeringManifest;
    // (undocumented)
    url: string;
}

// Warning: (ae-missing-release-tag) "StreamControllerConfig" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type StreamControllerConfig = {
    autoStartLoad: boolean;
    startPosition: number;
    defaultAudioCodec?: string;
    initialLiveManifestSize: number;
    maxBufferLength: number;
    maxBufferSize: number;
    maxBufferHole: number;
    highBufferWatchdogPeriod: number;
    nudgeOffset: number;
    nudgeMaxRetry: number;
    maxFragLookUpTolerance: number;
    maxMaxBufferLength: number;
    startFragPrefetch: boolean;
    testBandwidth: boolean;
};

// Warning: (ae-missing-release-tag) "SubtitleFragProcessedData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface SubtitleFragProcessedData {
    // (undocumented)
    error?: Error;
    // (undocumented)
    frag: Fragment;
    // (undocumented)
    success: boolean;
}

// Warning: (ae-missing-release-tag) "SubtitlePlaylistType" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type SubtitlePlaylistType = 'SUBTITLES' | 'CLOSED-CAPTIONS';

// Warning: (ae-missing-release-tag) "SubtitleSelectionOption" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type SubtitleSelectionOption = {
    lang?: string;
    assocLang?: string;
    characteristics?: string;
    name?: string;
    groupId?: string;
    default?: boolean;
    forced?: boolean;
};

// Warning: (ae-missing-release-tag) "SubtitleStreamController" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class SubtitleStreamController extends BaseStreamController implements NetworkComponentAPI {
    constructor(hls: Hls, fragmentTracker: FragmentTracker, keyLoader: KeyLoader);
    // (undocumented)
    doTick(): void;
    // (undocumented)
    protected getMaxBufferLength(mainBufferLength?: number): number;
    // (undocumented)
    _handleFragmentLoadComplete(fragLoadedData: FragLoadedData): void;
    // (undocumented)
    protected loadFragment(frag: Fragment, level: Level, targetBufferTime: number): void;
    // (undocumented)
    get mediaBufferTimeRanges(): Bufferable;
    // (undocumented)
    onBufferFlushing(event: Events.BUFFER_FLUSHING, data: BufferFlushingData): void;
    // (undocumented)
    onError(event: Events.ERROR, data: ErrorData): void;
    // (undocumented)
    onFragBuffered(event: Events.FRAG_BUFFERED, data: FragBufferedData): void;
    // (undocumented)
    protected onHandlerDestroying(): void;
    // (undocumented)
    onLevelLoaded(event: Events.LEVEL_LOADED, data: LevelLoadedData): void;
    // (undocumented)
    onManifestLoading(): void;
    // (undocumented)
    onMediaDetaching(): void;
    // Warning: (ae-forgotten-export) The symbol "SubtitleFragProcessed" needs to be exported by the entry point hls.d.ts
    //
    // (undocumented)
    onSubtitleFragProcessed(event: Events.SUBTITLE_FRAG_PROCESSED, data: SubtitleFragProcessed): void;
    // (undocumented)
    onSubtitleTrackLoaded(event: Events.SUBTITLE_TRACK_LOADED, data: TrackLoadedData): void;
    // (undocumented)
    onSubtitleTracksUpdated(event: Events.SUBTITLE_TRACKS_UPDATED, { subtitleTracks }: SubtitleTracksUpdatedData): void;
    // Warning: (ae-forgotten-export) The symbol "TrackSwitchedData" needs to be exported by the entry point hls.d.ts
    //
    // (undocumented)
    onSubtitleTrackSwitch(event: Events.SUBTITLE_TRACK_SWITCH, data: TrackSwitchedData): void;
    // (undocumented)
    startLoad(startPosition: number): void;
}

// Warning: (ae-missing-release-tag) "SubtitleTrackController" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class SubtitleTrackController extends BasePlaylistController {
    constructor(hls: Hls);
    // (undocumented)
    get allSubtitleTracks(): MediaPlaylist[];
    // (undocumented)
    destroy(): void;
    // (undocumented)
    protected loadPlaylist(hlsUrlParameters?: HlsUrlParameters): void;
    // (undocumented)
    protected onError(event: Events.ERROR, data: ErrorData): void;
    // (undocumented)
    protected onLevelLoading(event: Events.LEVEL_LOADING, data: LevelLoadingData): void;
    // (undocumented)
    protected onLevelSwitching(event: Events.LEVEL_SWITCHING, data: LevelSwitchingData): void;
    // (undocumented)
    protected onManifestLoading(): void;
    // (undocumented)
    protected onManifestParsed(event: Events.MANIFEST_PARSED, data: ManifestParsedData): void;
    // (undocumented)
    protected onMediaAttached(event: Events.MEDIA_ATTACHED, data: MediaAttachedData): void;
    // (undocumented)
    protected onMediaDetaching(): void;
    // (undocumented)
    protected onSubtitleTrackLoaded(event: Events.SUBTITLE_TRACK_LOADED, data: TrackLoadedData): void;
    // (undocumented)
    setSubtitleOption(subtitleOption: MediaPlaylist | SubtitleSelectionOption | undefined): MediaPlaylist | null;
    // (undocumented)
    get subtitleDisplay(): boolean;
    set subtitleDisplay(value: boolean);
    get subtitleTrack(): number;
    set subtitleTrack(newId: number);
    get subtitleTracks(): MediaPlaylist[];
}

// Warning: (ae-missing-release-tag) "SubtitleTrackLoadedData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface SubtitleTrackLoadedData extends TrackLoadedData {
}

// Warning: (ae-missing-release-tag) "SubtitleTracksUpdatedData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface SubtitleTracksUpdatedData {
    // (undocumented)
    subtitleTracks: MediaPlaylist[];
}

// Warning: (ae-missing-release-tag) "SubtitleTrackSwitchData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface SubtitleTrackSwitchData {
    // (undocumented)
    groupId?: string;
    // (undocumented)
    id: number;
    // (undocumented)
    name?: string;
    // (undocumented)
    type?: MediaPlaylistType | 'main';
    // (undocumented)
    url?: string;
}

// Warning: (ae-missing-release-tag) "TimelineController" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class TimelineController implements ComponentAPI {
    constructor(hls: Hls);
    // (undocumented)
    addCues(trackName: string, startTime: number, endTime: number, screen: CaptionScreen, cueRanges: Array<[number, number]>): void;
    // (undocumented)
    createCaptionsTrack(trackName: string): void;
    // (undocumented)
    destroy(): void;
    // (undocumented)
    onBufferFlushing(event: Events.BUFFER_FLUSHING, { startOffset, endOffset, endOffsetSubtitles, type }: BufferFlushingData): void;
}

// Warning: (ae-missing-release-tag) "TimelineControllerConfig" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type TimelineControllerConfig = {
    cueHandler: CuesInterface;
    enableWebVTT: boolean;
    enableIMSC1: boolean;
    enableCEA708Captions: boolean;
    captionsTextTrack1Label: string;
    captionsTextTrack1LanguageCode: string;
    captionsTextTrack2Label: string;
    captionsTextTrack2LanguageCode: string;
    captionsTextTrack3Label: string;
    captionsTextTrack3LanguageCode: string;
    captionsTextTrack4Label: string;
    captionsTextTrack4LanguageCode: string;
    renderTextTracksNatively: boolean;
};

// Warning: (ae-missing-release-tag) "Track" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface Track {
    // (undocumented)
    buffer?: SourceBuffer;
    // (undocumented)
    codec?: string;
    // (undocumented)
    container: string;
    // (undocumented)
    id: 'audio' | 'main';
    // (undocumented)
    initSegment?: Uint8Array;
    // (undocumented)
    levelCodec?: string;
    // (undocumented)
    metadata?: any;
}

// Warning: (ae-missing-release-tag) "TrackLoadedData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface TrackLoadedData {
    // (undocumented)
    deliveryDirectives: HlsUrlParameters | null;
    // (undocumented)
    details: LevelDetails;
    // (undocumented)
    groupId: string;
    // (undocumented)
    id: number;
    // (undocumented)
    networkDetails: any;
    // (undocumented)
    stats: LoaderStats;
}

// Warning: (ae-missing-release-tag) "TrackLoadingData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface TrackLoadingData {
    // (undocumented)
    deliveryDirectives: HlsUrlParameters | null;
    // (undocumented)
    groupId: string;
    // (undocumented)
    id: number;
    // (undocumented)
    url: string;
}

// Warning: (ae-missing-release-tag) "TrackSet" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface TrackSet {
    // (undocumented)
    audio?: Track;
    // (undocumented)
    audiovideo?: Track;
    // (undocumented)
    video?: Track;
}

// Warning: (ae-missing-release-tag) "TSDemuxerConfig" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type TSDemuxerConfig = {
    forceKeyFrameOnDiscontinuity: boolean;
};

// Warning: (ae-missing-release-tag) "UriReplacement" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type UriReplacement = {
    HOST?: string;
    PARAMS?: {
        [queryParameter: string]: string;
    };
    'PER-VARIANT-URIS'?: {
        [stableVariantId: string]: string;
    };
    'PER-RENDITION-URIS'?: {
        [stableRenditionId: string]: string;
    };
};

// Warning: (ae-missing-release-tag) "UserdataSample" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface UserdataSample {
    // (undocumented)
    bytes?: Uint8Array;
    // (undocumented)
    payloadType?: number;
    // (undocumented)
    pts: number;
    // (undocumented)
    type?: number;
    // (undocumented)
    userData?: string;
    // (undocumented)
    userDataBytes?: Uint8Array;
    // (undocumented)
    uuid?: string;
}

// Warning: (ae-missing-release-tag) "VariableMap" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type VariableMap = Record<string, string>;

// Warning: (ae-missing-release-tag) "VideoSelectionOption" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type VideoSelectionOption = {
    preferHDR?: boolean;
    allowedVideoRanges?: Array<VideoRange>;
};

// (No @packageDocumentation comment for this package)