export class ExtendedIterable implements Iterable { concat(secondIterable: Iterable): ExtendedIterable; new(sourceArray: Iterable): ExtendedIterable; map(callback: (entry: T, index: number) => U): ExtendedIterable flatMap(callback: (entry: T, index: number) => U[]): ExtendedIterable slice(start: number, end: number): ExtendedIterable filter(callback: (entry: T, index: number) => any): ExtendedIterable [Symbol.iterator]() : Iterator forEach(callback: (entry: T, index: number) => any): void mapError(callback: (error: Error) => U): ExtendedIterable onDone?: Function asArray: T[] }