/**
 * 请求队列管理器
 *
 * 用于管理待执行的请求队列，支持请求拦截、暂停、恢复等功能
 */
import type { RequestOptions, Response } from '../types';
/**
 * 请求队列管理器
 */
declare class RequestQueueManager {
    private static instance;
    /**
     * 待执行的请求队列
     */
    private queue;
    /**
     * 队列状态
     */
    private state;
    /**
     * 当前正在执行的回调 Promise
     */
    private processingPromise;
    /**
     * 获取单例实例
     */
    static getInstance(): RequestQueueManager;
    /**
     * 检查队列是否处于暂停状态
     */
    isPaused(): boolean;
    /**
     * 暂停队列，后续请求会被放入队列
     */
    pause(): void;
    /**
     * 恢复队列，执行队列中的所有请求
     */
    resume(): Promise<void>;
    /**
     * 执行回调并等待完成，然后恢复队列
     *
     * @param callback - 回调函数
     */
    processAndResume(callback: () => Promise<void> | void): Promise<void>;
    /**
     * 将请求添加到队列
     *
     * @template TResponse - 响应数据类型
     * @param options - 请求配置
     * @param execute - 请求执行函数
     * @returns Promise 解析为响应对象
     */
    enqueue<TResponse = unknown>(options: RequestOptions<TResponse>, execute: () => Promise<Response<TResponse>>): Promise<Response<TResponse>>;
    /**
     * 获取队列长度
     */
    getQueueLength(): number;
    /**
     * 清空队列
     *
     * @param reason - 清空原因（用于错误信息）
     */
    clear(reason?: string): void;
    /**
     * 销毁管理器
     */
    destroy(): void;
}
/**
 * 获取请求队列管理器实例
 */
export declare function getRequestQueueManager(): RequestQueueManager;
export {};
//# sourceMappingURL=RequestQueueManager.d.ts.map