import { EnumeratorStateMachine } from '../iterators'; import { Action, Comparer, EqualityComparer, GroupByResultSelector, JoinResultSelector, Predicate, ResultSelector, ResultSelectorWithIndex } from '../types'; import { IGrouping } from './lookup'; import type { IEnumerable } from './enumerable.interface'; /** * Provides a set of static methods for querying objects * that implement IEnumerable. */ export declare abstract class Enumerable { static toArray(source: IEnumerable): TSource[]; static toMap(source: IEnumerable, keySelector: ResultSelector, valueSelector?: ResultSelector): Map; static toSet(source: IEnumerable): Set; static toEnumerable(source: IEnumerable): EnumeratorStateMachine>; static toAwaitable(source: IEnumerable): Promise>>; static take(source: IEnumerable, count: number): IEnumerable; static takeWhile(source: IEnumerable, predicate: Predicate): IEnumerable; static takeLast(source: IEnumerable, count: number): IEnumerable; static chain(first: IEnumerable, second: IEnumerable): IEnumerable; static chunk(source: IEnumerable, size: number): IEnumerable; static chunkOrDefault(source: IEnumerable, size: number, defaultValue?: TSource[]): IEnumerable; static append(source: IEnumerable, element: TSource): IEnumerable; static sum(source: IEnumerable): TSource; static sum(source: IEnumerable, selector?: ResultSelector): TResult; static skip(source: IEnumerable, count: number): IEnumerable; static skipWhile(source: IEnumerable, predicate: Predicate): IEnumerable; static skipLast(source: IEnumerable, count: number): IEnumerable; static sequenceEqual(first: IEnumerable, second: IEnumerable, equalityComparer?: EqualityComparer): boolean; static min(source: IEnumerable, comparer?: Comparer): TSource; static minBy(source: IEnumerable, keySelector: ResultSelector, comparer?: Comparer): TKey; static max(source: IEnumerable, /** * A function to specify the comparison of elements. * Checks whether `element` is greater than `isGreaterThan`. */ comparer?: Comparer): TSource; static maxBy(source: IEnumerable, keySelector: ResultSelector, comparer?: Comparer): TKey; static prepend(source: IEnumerable, element: TSource): IEnumerable; static aggregate(source: IEnumerable, accumulator: (acc: TSource, element: TSource) => TSource): TSource; static aggregate(source: IEnumerable, accumulator: (acc: TAccumulate, element: TSource) => TAccumulate, seed: TAccumulate): TAccumulate; static aggregate(source: IEnumerable, accumulator: (acc: TAccumulate, element: TSource) => TAccumulate, seed: TAccumulate, resultSelector: ResultSelector): TResult; static contains(source: IEnumerable, value: TSource): boolean; static distinct(source: IEnumerable, equalityComparer?: EqualityComparer): IEnumerable; static distinctBy(source: IEnumerable, keySelector: ResultSelector, equalityComparer?: EqualityComparer): IEnumerable; static any(source: IEnumerable, predicate?: Predicate): boolean; static all(source: IEnumerable, predicate: Predicate): boolean; static repeat(value: TResult, count: number): IEnumerable; static range(from: number, to: number): EnumeratorStateMachine; static reverse(source: IEnumerable): IEnumerable; static empty(): IEnumerable; static elementAt(source: IEnumerable, index: number): TSource; static elementAtOrDefault(source: IEnumerable, index: number, defaultValue?: TSource | null): TSource | null; static except(first: IEnumerable, second: IEnumerable, equalityComparer?: EqualityComparer): IEnumerable; static exceptBy(first: IEnumerable, second: IEnumerable, keySelector: ResultSelector, equalityComparer?: EqualityComparer): IEnumerable; static intersect(first: IEnumerable, second: IEnumerable, equalityComparer?: EqualityComparer): IEnumerable; static intersectBy(first: IEnumerable, second: IEnumerable, keySelector: ResultSelector, equalityComparer?: EqualityComparer): IEnumerable; static forElement(source: IEnumerable, action: Action): void; static from(source: Iterable): IEnumerable; static count(source: IEnumerable): number; static where(source: IEnumerable, predicate: Predicate): IEnumerable; static select(source: IEnumerable, selector: ResultSelectorWithIndex): IEnumerable; static selectMany(source: IEnumerable, collectionSelector: ResultSelector>, keySelector?: ResultSelector): IEnumerable; static single(source: IEnumerable, predicate?: Predicate): TSource; static singleOrDefault(source: IEnumerable): TSource | null; static singleOrDefault(source: IEnumerable, predicate: Predicate): TSource | null; static singleOrDefault(source: IEnumerable, defaultValue?: TSource): TSource; static singleOrDefault(source: IEnumerable, predicate: Predicate, defaultValue: TSource): TSource; static first(source: IEnumerable, predicate?: Predicate): TSource; static firstOrDefault(source: IEnumerable): TSource | null; static firstOrDefault(source: IEnumerable, predicate: Predicate): TSource | null; static firstOrDefault(source: IEnumerable, defaultValue?: TSource): TSource; static firstOrDefault(source: IEnumerable, predicate: Predicate, defaultValue: TSource): TSource; static last(source: IEnumerable, predicate?: Predicate): TSource; static lastOrDefault(source: IEnumerable): TSource | null; static lastOrDefault(source: IEnumerable, predicate: Predicate): TSource | null; static lastOrDefault(source: IEnumerable, defaultValue?: TSource): TSource; static lastOrDefault(source: IEnumerable, predicate: Predicate, defaultValue: TSource): TSource; static union(first: IEnumerable, second: IEnumerable, equalityComparer?: EqualityComparer): IEnumerable; static unionBy(first: IEnumerable, second: IEnumerable, resultSelector: ResultSelector, equalityComparer?: EqualityComparer): IEnumerable; static zip(first: IEnumerable, second: IEnumerable, resultSelector: (first: TFirst, second: TSecond) => TResult): IEnumerable; static ofType(source: IEnumerable, type: TType): IEnumerable; static innerJoin(outer: IEnumerable, inner: IEnumerable, outerKeySelector: ResultSelector, innerKeySelector: ResultSelector, resultSelector: JoinResultSelector, equalityComparer?: EqualityComparer): IEnumerable; static groupJoin(outer: IEnumerable, inner: IEnumerable, outerKeySelector: ResultSelector, innerKeySelector: ResultSelector, resultSelector: JoinResultSelector, TResult>, equalityComparer?: EqualityComparer): IEnumerable; static groupBy(source: IEnumerable, keySelector: ResultSelector): IEnumerable>; static groupBy(source: IEnumerable, keySelector: ResultSelector, resultSelector: GroupByResultSelector): IEnumerable; static groupBy(source: IEnumerable, keySelector: ResultSelector, elementSelector: ResultSelector, resultSelector: GroupByResultSelector): IEnumerable; static groupBy(source: IEnumerable, keySelector: ResultSelector, elementSelector: ResultSelector, resultSelector: GroupByResultSelector, equalityComparer: EqualityComparer): IEnumerable; static joinBy(source: IEnumerable, character?: string): string; private static _existsInArray; /** * Returns the default value for xOrDefault * methods where the first argument is either * a predicate or the default value and the second * argument is an optional default value. */ private static _getOrDefaultValue; }