/*! * @author electricessence / https://github.com/electricessence/ * @license MIT */ import { ArrayLikeWritable, PredicateWithIndex, SelectorWithIndex } from '@tsdotnet/common-interfaces'; import IterableBase from './IterableBase.js'; export default abstract class ReadOnlyIterableCollectionBase extends IterableBase { protected constructor(); filter(predicate: PredicateWithIndex): ExtendedIterable; map(selector: SelectorWithIndex): ExtendedIterable; reduce(reduction: (previous: T, current: T, index: number) => T): T; reduce(reduction: (previous: U, current: T, index: number) => U, initialValue: U): U; copyTo>(target: TTarget, index?: number): TTarget; toArray(): T[]; getCount(): number; } export declare class ExtendedIterable extends ReadOnlyIterableCollectionBase { private _source; protected constructor(_source: Iterable); static create(source: Iterable): ExtendedIterable; protected _getIterator(): Iterator; }