import { ICollection } from '../collections/ICollection'; import { IList } from '../collections/IList'; import { Comparator } from '../core/Comparator'; import { Func, Predicate } from '../core/Func'; import { IEnumerable } from '../core/IEnumerable'; import { IGroup } from './IGroup'; import { IOrderedQueryable } from './IOrderedQueryable'; export interface IQueryable extends IEnumerable { aggregate(action: (seed: T, item: T, index?: number, source?: IEnumerable) => T, seed?: T): T; all(predicate?: Predicate): boolean; any(predicate?: Predicate): boolean; first(predicate?: Predicate, defValue?: T): T; last(predicate?: Predicate, defValue?: T): T; single(predicate: Predicate, defValue?: T): T; contains(item: T): boolean; isEmpty(): boolean; skip(count: number): IQueryable; skipWhile(predicate: Predicate): IQueryable; take(count: number): IQueryable; takeWhile(predicate: Predicate): IQueryable; distinct(): IQueryable; reverse(): IQueryable; shuffles(count?: number): IQueryable; asEnumerable(): IEnumerable; select(selector?: Func): IQueryable; selectMany(selector: Func, T>): IQueryable; selectMany(selector: Func, T>, collectionSelector?: Func): IQueryable; get(index: number): T; indexOf(item: T): number; lastIndexOf(item: T): number; join(inner: IEnumerable, outerSelector: Func, innerSelector: Func, resultSelector: (outerItem: TOuter, innerItem: TInner) => TResult): IQueryable; where(predicate: Predicate): IQueryable; except(predicate: Predicate): IQueryable; orderBy(selector: Func, comparator?: Comparator): IOrderedQueryable; orderByDesc(selector: Func, comparator?: Comparator): IOrderedQueryable; groupBy(keySelector: Func): IQueryable>; count(predicate?: Predicate): number; average(selector?: Func, predicate?: Predicate): number; max(selector?: Func, predicate?: Predicate): number; min(selector?: Func, predicate?: Predicate): number; sum(selector?: Func, predicate?: Predicate): number; stdDev(selector?: Func, predicate?: Predicate): number; stdDevP(selector?: Func, predicate?: Predicate): number; variance(selector?: Func, predicate?: Predicate): number; range(selector?: Func, predicate?: Predicate): number; varianceP(selector?: Func, predicate?: Predicate): number; percentile(percentile: number, selector?: Func, predicate?: Predicate): number; percentileInclusive(percentile: number, selector?: Func, predicate?: Predicate): number; percentileExclusive(percentile: number, selector?: Func, predicate?: Predicate): number; percentRank(value: number, selector?: Func, predicate?: Predicate): number; mean(selector?: Func, predicate?: Predicate): number; median(selector?: Func, predicate?: Predicate): number; mode(selector?: Func, predicate?: Predicate): number; covariance(other: IQueryable, selector?: Func, predicate?: Predicate): number; pearson(other: IQueryable, selector?: Func, predicate?: Predicate): number; rootMeanSquare(selector?: Func, predicate?: Predicate): number; forEach(action: (element: T, index: number) => void): void; toArray(): T[]; toList(): IList; toCollection(): ICollection; collect(factory?: (...args: any[]) => U): U; intersect(source: IEnumerable, equalityComparator?: Comparator): IQueryable; subtract(source: IEnumerable, equalityComparator?: Comparator): IQueryable; union(source: IEnumerable, equalityComparator?: Comparator): IQueryable; zip(second: IEnumerable, selector: (tfirst: T, tsecond: TSecond) => TResult): IQueryable; }