export declare function reduce(source: Iterable, accumulator: (acc: T, value: T, index: number) => T, seed?: T): T; export declare function reduce(source: Iterable, accumulator: (acc: T[], value: T, index: number) => T[], seed?: T[]): T[]; export declare function reduce(source: Iterable, accumulator: (acc: R, value: T, index: number) => R, seed?: R): R;