import { ICollection } from './collection'; import { Dictionary } from './dictionary'; import { IEnumerable } from './enumerable'; import { IEqualityComparer } from './equality-comparer'; import { IGrouping } from './grouping'; import { Predicate } from './predicate'; import { ReadOnlyCollection } from './read-only-collection'; export interface IList extends IEnumerable, ICollection { Set(index: number, item: T): void; Get(index: number): T; IndexOf(item: T): number; Insert(index: number, item: T): void; RemoveAt(index: number): void; } export declare class List implements IList { private items; constructor(collection?: Iterable); get Length(): number; get IsReadOnly(): boolean; Set(index: number, item: T): void; Get(index: number): T; Add(item: T): void; AddRange(collection: Iterable): void; AsReadOnly(): ReadOnlyCollection; Clear(): void; CopyTo(array: T[], arrayIndex: number): void; Exists(match: Predicate): boolean; Find(match: Predicate): T; FindAll(match: Predicate): List; FindIndex(startIndex: number, count: number, match: Predicate): number; FindLast(match: Predicate): T; FindLastIndex(startIndex: number, count: number, match: Predicate): number; GetRange(index: number, count: number): List; IndexOf(item: T): number; Insert(index: number, item: T): void; Remove(item: T): boolean; RemoveAt(index: number): void; TrueForAll(match: Predicate): boolean; [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; }