import { Result } from './result';
export declare class VoidResultPool {
    poolSize: number;
    private fs;
    private running;
    constructor(poolSize: number);
    run(f: () => Result<void>): void;
    private next;
}
export declare class NonVoidResultPool {
    poolSize: number;
    logError: boolean;
    private fs;
    private running;
    constructor(poolSize: number, logError?: boolean);
    /**
     * @description error will be ignored
     * */
    run<T>(f: () => Result<T>): Result<T>;
    private queue;
    private check;
}
