import { Dictionary } from './dictionary'; import { IEnumerable } from './enumerable'; import { IEqualityComparer } from './equality-comparer'; import { IGrouping } from './grouping'; import { IList, List } from './list'; export interface IReadOnlyCollection extends IEnumerable { } export declare class ReadOnlyCollection implements IReadOnlyCollection, IList { private list; constructor(list: IList); get Length(): number; get IsReadOnly(): boolean; Set(index: number, item: T): void; Get(index: number): T; Add(item: T): void; Clear(): void; CopyTo(array: T[], arrayIndex: number): void; IndexOf(item: T): number; Insert(index: number, item: T): void; Remove(item: T): boolean; RemoveAt(index: number): void; [Symbol.iterator](): IterableIterator; All(predicate: (item: T) => boolean): boolean; Any(predicate?: (item: T) => boolean): boolean; AsEnumerable(): IEnumerable; Average(selector?: (item: T) => number): number | null; Concat(second: IEnumerable): IEnumerable; Contains(value: T, comparer?: IEqualityComparer): boolean; Count(predicate?: (item: T) => boolean): number; DefaultIfEmpty(defaultValue?: IEnumerable): IEnumerable; Distinct(comparer?: IEqualityComparer): IEnumerable; ElementAt(index: number): T; ElementAtOrDefault(defaultValue: T, index: number): T; Except(second: IEnumerable, comparer?: IEqualityComparer): IEnumerable; First(predicate?: (item: T) => boolean): T; FirstOrDefault(defaultValue: T, predicate?: (item: T) => boolean): T; GroupBy(keySelector: (item: T) => TKey, elementSelector?: (item: T) => TElement, comparer?: IEqualityComparer): IEnumerable>; GroupJoin; }>(inner: IEnumerable, outerKeySelector: (item: T) => TKey, innerKeySelector: (item: TInner) => TKey, resultSelector?: (item: T, inners: IEnumerable) => TResult, comparer?: IEqualityComparer): IEnumerable; Intersect(second: IEnumerable, comparer?: IEqualityComparer): IEnumerable; Join(inner: IEnumerable, outerKeySelector: (item: T) => TKey, innerKeySelector: (item: TInner) => TKey, resultSelector?: (item: T, inners: TInner) => TResult, comparer?: IEqualityComparer): IEnumerable; Last(predicate?: (item: T) => boolean): T; LastOrDefault(defaultValue: T, predicate?: (item: T) => boolean): T; Max(selector?: (item: T) => number): number | null; Min(selector?: (item: T) => number): number | null; Reverse(): IEnumerable; Select(selector: (item: T, index?: number) => TResult): IEnumerable; SelectMany(collectionSelector: (item: T, index?: number) => IEnumerable, resultSelector?: (item: T, collection: TCollection) => TResult): IEnumerable; SequenceEqual(second: Iterable, comparer?: IEqualityComparer): boolean; Single(predicate?: (item: T) => boolean): T; SingleOrDefault(defaultValue: T, predicate?: (item: T) => boolean): T; Skip(count: number): IEnumerable; SkipWhile(predicate: (item: T, index?: number) => boolean): IEnumerable; Sum(selector?: (item: T) => number): number | null; Take(count: number): IEnumerable; TakeWhile(predicate: (item: T, index?: number) => boolean): IEnumerable; ToArray(): Array; ToDictionary(keySelector: (item: T) => TKey, elementSelector?: (item: T) => TElement, comparer?: IEqualityComparer): Dictionary; ToList(): List; Union(second: Iterable, comparer?: IEqualityComparer): IEnumerable; Where(predicate: (item: T, index?: number) => boolean): IEnumerable; }