/// declare namespace Rx { interface Observable { finalValue(): Observable; aggregate(accumulator: (acc: T, value: T) => T): Observable; aggregate(seed: TAcc, accumulator: (acc: TAcc, value: T) => TAcc): Observable; reduce(accumulator: (acc: T, value: T) => T): Observable; reduce(accumulator: (acc: TAcc, value: T) => TAcc, seed: TAcc): Observable; any( predicate?: (value: T, index: number, source: Observable) => boolean, thisArg?: any, ): Observable; some( predicate?: (value: T, index: number, source: Observable) => boolean, thisArg?: any, ): Observable; // alias for any isEmpty(): Observable; all(predicate?: (value: T) => boolean, thisArg?: any): Observable; every(predicate?: (value: T) => boolean, thisArg?: any): Observable; // alias for all contains(value: T): Observable; contains(value: TOther, comparer: (value1: T, value2: TOther) => boolean): Observable; count( predicate?: (value: T, index: number, source: Observable) => boolean, thisArg?: any, ): Observable; sum( keySelector?: (value: T, index: number, source: Observable) => number, thisArg?: any, ): Observable; minBy(keySelector: (item: T) => TKey, comparer: (value1: TKey, value2: TKey) => number): Observable; minBy(keySelector: (item: T) => number): Observable; min(comparer?: (value1: T, value2: T) => number): Observable; maxBy(keySelector: (item: T) => TKey, comparer: (value1: TKey, value2: TKey) => number): Observable; maxBy(keySelector: (item: T) => number): Observable; max(comparer?: (value1: T, value2: T) => number): Observable; average( keySelector?: (value: T, index: number, source: Observable) => number, thisArg?: any, ): Observable; sequenceEqual( second: Observable, comparer: (value1: T, value2: TOther) => number, ): Observable; sequenceEqual( second: IPromise, comparer: (value1: T, value2: TOther) => number, ): Observable; sequenceEqual(second: Observable): Observable; sequenceEqual(second: IPromise): Observable; sequenceEqual(second: TOther[], comparer: (value1: T, value2: TOther) => number): Observable; sequenceEqual(second: T[]): Observable; elementAt(index: number): Observable; single(predicate?: (value: T, index: number, source: Observable) => boolean, thisArg?: any): Observable; first(predicate?: (value: T, index: number, source: Observable) => boolean, thisArg?: any): Observable; last(predicate?: (value: T, index: number, source: Observable) => boolean, thisArg?: any): Observable; find(predicate: (value: T, index: number, source: Observable) => boolean, thisArg?: any): Observable; findIndex( predicate: (value: T, index: number, source: Observable) => boolean, thisArg?: any, ): Observable; } } declare module "rx-lite-aggregates" { export = Rx; }