import { PromiseOut } from "../extends-promise-out/index.js"; import { $PromiseType } from "../typings/$types.js"; import { $PromiseRaceOptions } from "./$types.js"; /** * Promise 竞争器 */ export declare class PromiseRace> { constructor(options?: Partial<$PromiseRaceOptions>); /**配置 */ options: $PromiseRaceOptions; /**合并选项 */ static mergeOptions(options?: Partial<$PromiseRaceOptions>): $PromiseRaceOptions & Partial<$PromiseRaceOptions>; /**排名列表 * 在输出结果后,将其保存到排行榜上,可以用race函数来获取名单 */ private rankList; /** * 等待获取最新的 rank 信息的候选者 */ private quota?; /**回调列表 */ private thenedMap; private resolve; private reject; /**增加竞争者 */ addRacer(promise: PromiseLike): PromiseLike; /** * 移除竞争者 */ removeRacer(promise: PromiseLike): boolean; private _removeRacer; /**判断是否存在某一个竞争者 */ hasRacer(promise: PromiseLike): boolean; /**竞争者数量 */ get size(): number; private _queneToCheck; private _cter; /**检查竞赛名单,如果没有可用名单,则直接终结竞赛 */ private _checkToEndRace; static isNoRacerException(exception: unknown): boolean; /**进行竞赛 */ race(outter?: PromiseOut): TS | Promise; /** * 清场 */ clear(reason?: unknown): void; } /** * 避免由于某一个promise不终结导致的不释放其它promise引用的维妮塔 */ export declare function safePromiseRace(maybePromises: Iterable): Promise>;