export interface Reduce { (fn: (accumulator: B, currentValue: A, currentIndex: number, xs: A[]) => B, initialValue: B, xs: A[]): B; } export interface ReduceU { (fn: (accumulator: B, currentValue: A, currentIndex: number, xs: A[]) => B): (initialValue: B) => (xs: A[]) => B; } export declare const reduce: Reduce; export declare const reduceU: ReduceU;