export declare function reduce(array: T[], callback: (accumulator: T, currentValue: T, index?: number, array?: T[]) => T): T; export declare function reduce(array: T[], callback: (accumulator: T, currentValue: T, index?: number, array?: T[]) => T, initialValue: T): T; export declare function reduce(array: T[], callback: (accumulator: U, currentValue: T, index?: number, array?: T[]) => U, initialValue: U): U;