import type { ValueBag, PipeGenericParams, CaminhoOptions, Caminho as CaminhoInterface } from './types';
import type { FromGeneratorParams } from './from';
import { type ReduceParams } from './operators/reduce';
import { type FilterPredicate } from './operators/filter';
export declare class Caminho implements CaminhoInterface {
    private options?;
    private generator;
    private operators;
    private pendingDataControl?;
    constructor(generatorParams: FromGeneratorParams, options?: CaminhoOptions | undefined);
    getNumberOfItemsFlowing(): number | undefined;
    pipe(params: PipeGenericParams): this;
    parallel(params: PipeGenericParams[]): this;
    filter(params: {
        fn: FilterPredicate;
        name?: string;
    }): this;
    reduce<T>(reduceParams: ReduceParams<T>): this;
    run(initialBag?: ValueBag): Promise<ValueBag>;
    private getGenerator;
    private addOperatorApplier;
    private getApplierForPipeOrBatch;
    private getLoggers;
}
//# sourceMappingURL=Caminho.d.ts.map