import { Rendition } from "./rendition"; import { ChunklistPruneType } from "./chunklist"; import * as HLS from "hls-parser"; export declare enum PlaylistTypeFilter { "VideoAndAudio" = 0, "AudioOnly" = 1, "VideoOnly" = 2 } 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 { protected _url: string | null; protected m3u8: HLS.types.MasterPlaylist; protected renditions: Rendition[]; protected typeFilter: PlaylistTypeFilter; protected limit: number; protected frameRateRange: [number, number]; protected bandwidthRange: [number, number]; protected resolutionRange: [number, number]; protected baseUrl: string; protected queryString: { [key: string]: string; }; protected dynamicChunklists: boolean; protected dynamicChunklistEndpoint: string; protected dynamicChunklistProperties: DynamicChunklistProperties; get url(): string | null; protected constructor(body: string); static loadFromString(body: string): Playlist; static loadFromUrl(url: string): Promise; includeAudio(): boolean; includeVideo(): boolean; setFrameRateRange(min: number, max: number): void; setBandwidthRange(min: number, max: number): void; setResolutionRange(min: number, max: number): void; getVideoRenditionUrl(atIndex: number, absolute?: boolean): string; 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; toString(): string; static buildUrl(inputUrl: string, qsParams: { [key: string]: string; }): string; static fetch(url: string): Promise; }