import _ = require("../index"); declare module "../index" { interface LoDashStatic { /** * This method is like _.reduce except that it iterates over elements of a collection from * right to left. * @param collection The collection to iterate over. * @param callback The function called per iteration. * @param accumulator Initial value of the accumulator. * @return The accumulated value. **/ reduceRight( collection: T[] | null | undefined, callback: MemoListIterator, accumulator: TResult ): TResult; /** * @see _.reduceRight **/ reduceRight( collection: List | null | undefined, callback: MemoListIterator>, accumulator: TResult ): TResult; /** * @see _.reduceRight **/ reduceRight( collection: T | null | undefined, callback: MemoObjectIterator, accumulator: TResult ): TResult; /** * @see _.reduceRight **/ reduceRight( collection: NumericDictionary | null | undefined, callback: MemoListIterator>, accumulator: TResult ): TResult; /** * @see _.reduceRight **/ reduceRight( collection: T[] | null | undefined, callback: MemoListIterator ): TResult | undefined; /** * @see _.reduceRight **/ reduceRight( collection: List | null | undefined, callback: MemoListIterator> ): TResult | undefined; /** * @see _.reduceRight **/ reduceRight( collection: T | null | undefined, callback: MemoObjectIterator ): TResult | undefined; /** * @see _.reduceRight **/ reduceRight( collection: NumericDictionary | null | undefined, callback: MemoListIterator> ): TResult | undefined; } interface LoDashImplicitWrapper { /** * @see _.reduceRight **/ reduceRight( this: LoDashImplicitWrapper, callback: MemoListIterator, accumulator: TResult ): TResult; /** * @see _.reduceRight **/ reduceRight( this: LoDashImplicitWrapper | null | undefined>, callback: MemoListIterator>, accumulator: TResult ): TResult; /** * @see _.reduceRight **/ reduceRight( this: LoDashImplicitWrapper, callback: MemoObjectIterator, accumulator: TResult ): TResult; /** * @see _.reduceRight **/ reduceRight( this: LoDashImplicitWrapper | null | undefined>, callback: MemoListIterator>, accumulator: TResult ): TResult; /** * @see _.reduceRight **/ reduceRight( this: LoDashImplicitWrapper, callback: MemoListIterator ): TResult | undefined; /** * @see _.reduceRight **/ reduceRight( this: LoDashImplicitWrapper | null | undefined>, callback: MemoListIterator> ): TResult | undefined; /** * @see _.reduceRight **/ reduceRight( this: LoDashImplicitWrapper, callback: MemoObjectIterator ): TResult | undefined; /** * @see _.reduceRight **/ reduceRight( this: LoDashImplicitWrapper | null | undefined>, callback: MemoListIterator> ): TResult | undefined; } interface LoDashExplicitWrapper { /** * @see _.reduceRight **/ reduceRight( this: LoDashExplicitWrapper, callback: MemoListIterator, accumulator: TResult ): LoDashExplicitWrapper; /** * @see _.reduceRight **/ reduceRight( this: LoDashExplicitWrapper | null | undefined>, callback: MemoListIterator>, accumulator: TResult ): LoDashExplicitWrapper; /** * @see _.reduceRight **/ reduceRight( this: LoDashExplicitWrapper, callback: MemoObjectIterator, accumulator: TResult ): LoDashExplicitWrapper; /** * @see _.reduceRight **/ reduceRight( this: LoDashExplicitWrapper | null | undefined>, callback: MemoListIterator>, accumulator: TResult ): LoDashExplicitWrapper; /** * @see _.reduceRight **/ reduceRight( this: LoDashExplicitWrapper, callback: MemoListIterator ): LoDashExplicitWrapper; /** * @see _.reduceRight **/ reduceRight( this: LoDashExplicitWrapper | null | undefined>, callback: MemoListIterator> ): LoDashExplicitWrapper; /** * @see _.reduceRight **/ reduceRight( this: LoDashExplicitWrapper, callback: MemoObjectIterator ): LoDashExplicitWrapper; /** * @see _.reduceRight **/ reduceRight( this: LoDashExplicitWrapper | null | undefined>, callback: MemoListIterator> ): LoDashExplicitWrapper; } }