/// import { UnaryFunction, OperatorFunction } from '../interfaces'; /** * This class 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; /** @nocollapse */ pipe(...operations: UnaryFunction, R>[]): R; pipe(...operations: OperatorFunction[]): IterableX; pipe(writable: R, options?: { end?: boolean; }): R; } 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; pipe(op1: A, options?: { end?: boolean; }): A; } }