export interface Options {
    max?: number;
}
export declare class AsyncWorker<Args extends any[], Ret = any> {
    private code;
    private max;
    private pool;
    private idlePool;
    private queue;
    constructor(fn: (...args: Args) => Promise<Ret> | Ret, options?: Options);
    run(...args: Args): Promise<Ret>;
    stop(): void;
    private _getAvailableWorker;
    private _assignDoneWorker;
}
