import type { BatchCallback, ExitEarlyPredicate, Traversable, TraversalConfig, TraversalResult, Traverser } from '../../api';
import { AbstractTraverser } from './abstract';
export declare class PromiseQueueBasedTraverserImpl<D> extends AbstractTraverser<D> implements Traverser<D> {
    #private;
    readonly traversable: Traversable<D>;
    constructor(traversable: Traversable<D>, exitEarlyPredicates?: ExitEarlyPredicate<D>[], config?: Partial<TraversalConfig>);
    withConfig(config: Partial<TraversalConfig>): Traverser<D>;
    withExitEarlyPredicate(predicate: ExitEarlyPredicate<D>): Traverser<D>;
    traverse(callback: BatchCallback<D>): Promise<TraversalResult>;
}
