// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT License.
// See the LICENSE file in the project root for more information.
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Reactive.Concurrency;
using System.Reactive.Joins;
using System.Reactive.Subjects;
using System.Threading;
using System.Threading.Tasks;
namespace System.Reactive.Linq
{
///
/// Internal interface describing the LINQ to Events query language.
///
internal partial interface IQueryLanguage
{
#region * Aggregates *
IObservable Aggregate(IObservable source, TAccumulate seed, Func accumulator);
IObservable Aggregate(IObservable source, TAccumulate seed, Func accumulator, Func resultSelector);
IObservable Aggregate(IObservable source, Func accumulator);
IObservable All(IObservable source, Func predicate);
IObservable Any(IObservable source);
IObservable Any(IObservable source, Func predicate);
IObservable Average(IObservable source);
IObservable Average(IObservable source);
IObservable Average(IObservable source);
IObservable Average(IObservable source);
IObservable Average(IObservable source);
IObservable Average(IObservable source);
IObservable Average(IObservable source);
IObservable Average(IObservable source);
IObservable Average(IObservable source);
IObservable Average(IObservable source);
IObservable Average(IObservable source, Func selector);
IObservable Average(IObservable source, Func selector);
IObservable Average(IObservable source, Func selector);
IObservable Average(IObservable source, Func selector);
IObservable Average(IObservable source, Func selector);
IObservable Average(IObservable source, Func selector);
IObservable Average(IObservable source, Func selector);
IObservable Average(IObservable source, Func selector);
IObservable Average(IObservable source, Func selector);
IObservable Average(IObservable source, Func selector);
IObservable Contains(IObservable source, TSource value);
IObservable Contains(IObservable source, TSource value, IEqualityComparer comparer);
IObservable Count(IObservable source);
IObservable Count(IObservable source, Func predicate);
IObservable ElementAt(IObservable source, int index);
IObservable ElementAtOrDefault(IObservable source, int index);
IObservable FirstAsync(IObservable source);
IObservable FirstAsync(IObservable source, Func predicate);
IObservable FirstOrDefaultAsync(IObservable source);
IObservable FirstOrDefaultAsync(IObservable source, Func predicate);
IObservable IsEmpty(IObservable source);
IObservable LastAsync(IObservable source);
IObservable LastAsync(IObservable source, Func predicate);
IObservable LastOrDefaultAsync(IObservable source);
IObservable LastOrDefaultAsync(IObservable source, Func predicate);
IObservable LongCount(IObservable source);
IObservable LongCount(IObservable source, Func predicate);
IObservable Max(IObservable source);
IObservable Max(IObservable source, IComparer comparer);
IObservable Max(IObservable source);
IObservable Max(IObservable source);
IObservable Max(IObservable source);
IObservable Max(IObservable source);
IObservable Max(IObservable source);
IObservable Max(IObservable source);
IObservable Max(IObservable source);
IObservable Max(IObservable source);
IObservable Max(IObservable source);
IObservable Max(IObservable source);
IObservable Max(IObservable source, Func selector);
IObservable Max(IObservable source, Func selector, IComparer comparer);
IObservable Max(IObservable source, Func selector);
IObservable Max(IObservable source, Func selector);
IObservable Max(IObservable source, Func selector);
IObservable Max(IObservable source, Func selector);
IObservable Max(IObservable source, Func selector);
IObservable Max(IObservable source, Func selector);
IObservable Max(IObservable source, Func selector);
IObservable Max(IObservable source, Func selector);
IObservable Max(IObservable source, Func selector);
IObservable Max(IObservable source, Func selector);
IObservable> MaxBy(IObservable source, Func keySelector);
IObservable> MaxBy(IObservable source, Func keySelector, IComparer comparer);
IObservable Min(IObservable source);
IObservable Min(IObservable source, IComparer comparer);
IObservable Min(IObservable source);
IObservable Min(IObservable source);
IObservable Min(IObservable source);
IObservable Min(IObservable source);
IObservable Min(IObservable source);
IObservable Min(IObservable source);
IObservable Min(IObservable source);
IObservable Min(IObservable source);
IObservable Min(IObservable source);
IObservable Min(IObservable source);
IObservable