import type { M3u8DLOptions, M3u8DLResult, M3u8WorkerPool } from '../types/m3u8.js';
/** 下载队列管理 */
export declare class DownloadQueue {
    private queue;
    private activeDownloads;
    private _maxConcurrent;
    constructor(maxConcurrent?: number);
    get maxConcurrent(): number;
    set maxConcurrent(value: number);
    add(url: string, options: M3u8DLOptions, priority?: number): void;
    private processQueue;
    pause(url: string): void;
    resume(url: string, options: M3u8DLOptions, priority?: number): void;
    clear(): void;
    getStatus(): {
        queueLength: number;
        activeDownloads: string[];
        maxConcurrent: number;
    };
}
/** 创建全局下载队列实例 */
export declare const downloadQueue: DownloadQueue;
export declare const workPollPublic: M3u8WorkerPool;
export declare function preDownLoad(url: string, options: M3u8DLOptions, wp?: M3u8WorkerPool): Promise<void>;
export declare function m3u8Download(url: string, options?: M3u8DLOptions): Promise<M3u8DLResult>;
export declare function m3u8DLStop(url: string, wp?: M3u8WorkerPool): number;
