import { PendingRequestPool } from './pool'; export interface RequestHandle { readonly reject: (input: unknown) => never; readonly resolve: (input: T) => T; readonly settle: () => void; } /** * 管理所有请求的总进度,并根据请求执行情况展示 NProgress 进度条。 */ export declare class Progress { /** * 异步更新 NProgress 的进度条,减少对请求的阻塞。 */ async: boolean; /** * 请求发起后超过 timeout 则被认为超时。 * * 设置为 0 或是负数时不生效。 */ timeout: number; protected checking?: Promise; protected readonly pool: PendingRequestPool; constructor(timeout?: number, async?: boolean); /** * 记录一次新的请求的发起。 */ allocate(): RequestHandle; /** * 请求检查当前是否存在未执行完成的请求记录,并更新 NProgress 状态。 * * - 当 async 为 true 时,将在下一个微任务中进行检查。 * 如果当前已经存在暂未执行的微任务,不会重复创建。 * - 当 async 为 false 时,立即执行检查。 */ check(): Promise | boolean; /** * 检查当前是否存在未执行完成的请求记录,并更新 NProgress 状态。 */ checkImmediately(): boolean; }