import { Rendition } from "./rendition"; import { AudioTrack } from "./audio-track"; import { ChunklistPruneType } from "./chunklist"; export declare enum PlaylistTypeFilter { "VideoWithAudio" = 0, "VideoAndAudio" = 1, "AudioOnly" = 2, "VideoOnly" = 3 } export declare enum RenditionSortOrder { "bestFirst" = 0, "worstFirst" = 1, "middleFirst" = 2, "secondFirst" = 3, "nonHdFirst" = 4 } export interface DynamicChunklistProperties { pruneType: ChunklistPruneType; maxDuration: number; } export declare class Playlist { private _url; private _m3u8; private _renditions; private _typeFilter; private _limit; private _frameRateRange; private _bandwidthRange; private _resolutionRange; private _baseUrl; private _queryString; private _dynamicChunklists; private _dynamicChunklistEndpoint; private _dynamicChunklistProperties; get includeAudio(): boolean; get includeAudioWithVideo(): boolean; get includeVideo(): boolean; get url(): string | null; get videoRenditions(): Rendition[]; protected constructor(body: string); static loadFromString(body: string): Playlist; static loadFromUrl(url: string): Promise; getVideoRenditionUrl(atIndex: number, absolute?: boolean): string; setFrameRateRange(min: number, max: number): void; setBandwidthRange(min: number, max: number): void; setResolutionRange(min: number, max: number): void; sortByBandwidth(order?: RenditionSortOrder): Playlist; setQueryStringParam(key: string, value: string): Playlist; deleteQueryStringParam(key: string): Playlist; hasQueryStringParams(): boolean; getQueryStringParams(): { [key: string]: string; }; getTypeFilter(): PlaylistTypeFilter; setTypeFilter(filter: PlaylistTypeFilter): Playlist; setLimit(n: number): Playlist; setBaseUrl(baseUrl: string): Playlist; getBaseUrl(): string; useDynamicChunklists(dynamicChunklists: boolean): Playlist; hasDynamicChunklists(): boolean; setDynamicChunklistProperties(properties: DynamicChunklistProperties): Playlist; getDynamicChunklistProperties(): DynamicChunklistProperties; setDynamicChunklistEndpoint(endpoint: string): Playlist; getDynamicChunklistEndpoint(): string; getRenditions(): { videoRenditions: Rendition[]; audioRenditions: Rendition[]; iframeRenditions: Rendition[]; audioTracks: { [key: string]: AudioTrack; }; }; getRenditionStrings(): { videoRenditions: string[]; audioRenditions: string[]; iframeRenditions: string[]; audioTracks: string[]; }; toString(): string; static buildUrl(inputUrl: string, qsParams: { [key: string]: string; }): string; static fetch(url: string): Promise; }