import { ICallback } from './types/callback.js';
export declare function waterfall(tasks: [], callback: ICallback<void>): void;
export declare function waterfall<R1>(tasks: [(cb: ICallback<R1>) => void], callback: ICallback<R1>): void;
export declare function waterfall<R1, R2>(tasks: [(cb: ICallback<R1>) => void, (arg: R1, cb: ICallback<R2>) => void], callback: ICallback<R2>): void;
export declare function waterfall<R1, R2, R3>(tasks: [
    (cb: ICallback<R1>) => void,
    (arg: R1, cb: ICallback<R2>) => void,
    (arg: R2, cb: ICallback<R3>) => void
], callback: ICallback<R3>): void;
export declare function waterfall<R1, R2, R3, R4>(tasks: [
    (cb: ICallback<R1>) => void,
    (arg: R1, cb: ICallback<R2>) => void,
    (arg: R2, cb: ICallback<R3>) => void,
    (arg: R3, cb: ICallback<R4>) => void
], callback: ICallback<R4>): void;
export declare function waterfall<R1, R2, R3, R4, R5>(tasks: [
    (cb: ICallback<R1>) => void,
    (arg: R1, cb: ICallback<R2>) => void,
    (arg: R2, cb: ICallback<R3>) => void,
    (arg: R3, cb: ICallback<R4>) => void,
    (arg: R4, cb: ICallback<R5>) => void
], callback: ICallback<R5>): void;
export declare function waterfall<R1, R2, R3, R4, R5, R6>(tasks: [
    (cb: ICallback<R1>) => void,
    (arg: R1, cb: ICallback<R2>) => void,
    (arg: R2, cb: ICallback<R3>) => void,
    (arg: R3, cb: ICallback<R4>) => void,
    (arg: R4, cb: ICallback<R5>) => void,
    (arg: R5, cb: ICallback<R6>) => void
], callback: ICallback<R6>): void;
export declare function waterfall<R1, R2, R3, R4, R5, R6, R7>(tasks: [
    (cb: ICallback<R1>) => void,
    (arg: R1, cb: ICallback<R2>) => void,
    (arg: R2, cb: ICallback<R3>) => void,
    (arg: R3, cb: ICallback<R4>) => void,
    (arg: R4, cb: ICallback<R5>) => void,
    (arg: R5, cb: ICallback<R6>) => void,
    (arg: R6, cb: ICallback<R7>) => void
], callback: ICallback<R7>): void;
export declare function waterfall<R1, R2, R3, R4, R5, R6, R7, R8>(tasks: [
    (cb: ICallback<R1>) => void,
    (arg: R1, cb: ICallback<R2>) => void,
    (arg: R2, cb: ICallback<R3>) => void,
    (arg: R3, cb: ICallback<R4>) => void,
    (arg: R4, cb: ICallback<R5>) => void,
    (arg: R5, cb: ICallback<R6>) => void,
    (arg: R6, cb: ICallback<R7>) => void,
    (arg: R7, cb: ICallback<R8>) => void
], callback: ICallback<R8>): void;
export declare function waterfall<R1, R2, R3, R4, R5, R6, R7, R8, R9>(tasks: [
    (cb: ICallback<R1>) => void,
    (arg: R1, cb: ICallback<R2>) => void,
    (arg: R2, cb: ICallback<R3>) => void,
    (arg: R3, cb: ICallback<R4>) => void,
    (arg: R4, cb: ICallback<R5>) => void,
    (arg: R5, cb: ICallback<R6>) => void,
    (arg: R6, cb: ICallback<R7>) => void,
    (arg: R7, cb: ICallback<R8>) => void,
    (arg: R8, cb: ICallback<R9>) => void
], callback: ICallback<R9>): void;
export declare function waterfall<R1, R2, R3, R4, R5, R6, R7, R8, R9, R10>(tasks: [
    (cb: ICallback<R1>) => void,
    (arg: R1, cb: ICallback<R2>) => void,
    (arg: R2, cb: ICallback<R3>) => void,
    (arg: R3, cb: ICallback<R4>) => void,
    (arg: R4, cb: ICallback<R5>) => void,
    (arg: R5, cb: ICallback<R6>) => void,
    (arg: R6, cb: ICallback<R7>) => void,
    (arg: R7, cb: ICallback<R8>) => void,
    (arg: R8, cb: ICallback<R9>) => void,
    (arg: R9, cb: ICallback<R10>) => void
], callback: ICallback<R10>): void;
//# sourceMappingURL=waterfall.d.ts.map