import { OperatorFunction } from '../interfaces'; /** * This clas serves as the base for all operations which support [Symbol.iterator]. */ export declare abstract class IterableX implements Iterable { abstract [Symbol.iterator](): Iterator; forEach(projection: (value: T, index: number) => void, thisArg?: any): void; static as(source: string): IterableX; static as(source: Iterable): IterableX; static as(source: ArrayLike): IterableX; static as(source: T): IterableX; /** @nocollapse */ static from(source: Iterable | ArrayLike, selector?: (value: TSource, index: number) => TResult, thisArg?: any): IterableX; /** @nocollapse */ static of(...args: TSource[]): IterableX; } declare module '../iterable/iterablex' { interface IterableX extends Iterable { pipe(): IterableX; pipe(op1: OperatorFunction): IterableX; pipe(op1: OperatorFunction, op2: OperatorFunction): IterableX; pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction): IterableX; pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction, op4: OperatorFunction): IterableX; pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction, op4: OperatorFunction, op5: OperatorFunction): IterableX; pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction, op4: OperatorFunction, op5: OperatorFunction, op6: OperatorFunction): IterableX; pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction, op4: OperatorFunction, op5: OperatorFunction, op6: OperatorFunction, op7: OperatorFunction): IterableX; pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction, op4: OperatorFunction, op5: OperatorFunction, op6: OperatorFunction, op7: OperatorFunction, op8: OperatorFunction): IterableX; pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction, op4: OperatorFunction, op5: OperatorFunction, op6: OperatorFunction, op7: OperatorFunction, op8: OperatorFunction, op9: OperatorFunction): IterableX; pipe(...operations: OperatorFunction[]): IterableX; } }