import { AnyIterable } from './internalTypes'; export declare function reduceSync(iter: Iterable, reduceFn: (prev: T, curr: T) => T): T | undefined; export declare function reduceSync(iter: Iterable, reduceFn: (prev: T, curr: T) => T, initialValue: T): T; export declare function reduceSync(iter: Iterable, reduceFn: (prev: T, curr: T) => T, initialValue?: T): T | undefined; export declare function reduceSync(iter: Iterable, reduceFn: (prev: U, curr: T) => U, initialValue: U): U; export declare function reduceAsync(iter: AnyIterable, reduceFn: (prev: T, curr: T) => T): Promise; export declare function reduceAsync(iter: AnyIterable, reduceFn: (prev: T, curr: T) => T, initialValue: T): Promise; export declare function reduceAsync(iter: AnyIterable, reduceFn: (prev: T, curr: T) => T, initialValue?: T): Promise; export declare function reduceAsync(iter: AnyIterable, reduceFn: (prev: U, curr: T) => U, initialValue: U): Promise; export declare function reduce(iter: Iterable, reduceFn: (prev: T, curr: T) => T): T | undefined; export declare function reduce(iter: Iterable, reduceFn: (prev: T, curr: T) => T, initialValue: T): T; export declare function reduce(iter: Iterable, reduceFn: (prev: U, curr: T) => U, initialValue: U): U; export declare function reduce(iter: AsyncIterable, reduceFn: (prev: T, curr: T) => T): Promise; export declare function reduce(iter: AsyncIterable, reduceFn: (prev: T, curr: T) => T, initialValue: T): Promise; export declare function reduce(iter: AsyncIterable, reduceFn: (prev: U, curr: T) => U, initialValue: U): Promise; //# sourceMappingURL=reduce.d.ts.map