export interface IArrayReduceReducerFunction { (previousValue: GReduced, currentValue: GValue, index: number): GReduced; } export interface IArrayReduceFunction { (reducer: IArrayReduceReducerFunction): GValue; (reducer: IArrayReduceReducerFunction, initialValue: GReduced): GReduced; }