interface IPoolControlers {
    iteratorFn: Function;
    param: any;
    flag: symbol;
}
interface IOptions {
    isReTry?: boolean;
    retryNum?: number;
    afterInitSingleAsync?: (runingAsyncPool: Promise<any>[]) => any;
}
export default class AsyncPoolPro {
    poolLimit: number;
    private promisePool;
    private poolControlers;
    private poolIndex;
    private whileControl;
    private promiseGroups;
    private options;
    constructor(poolLimit?: number, options?: IOptions);
    push(poolParams: any, iteratorFn: Function): Promise<any[]>;
    /**
     * 延迟生成Promise异步
     * @param poolControlers 异步请求的参数
     */
    generatorPromise(poolControlers?: IPoolControlers[]): Promise<any> | undefined;
    /**
     * 并发控制逻辑
     * @param {boolean} isInit 是否初始化控制？
     */
    asyncPool(isInit: boolean): Promise<void>;
}
export {};
