import { Sequence, GenIterable, Maybe, LazyIterable, ChainFunction, ThenArg } from './types'; export declare class ImplSequence implements Sequence { private i; private _iterator; constructor(i: LazyIterable); private get iter(); private get iterator(); private inject; private chain; [Symbol.iterator](): Iterator | IterableIterator; next(): IteratorResult; filter(fnFilter: (t: T) => boolean): ImplSequence; skip(n: number): ImplSequence; take(n: number): ImplSequence; concat(j: Iterable): ImplSequence; concatMap(fn: (t: T) => Iterable): ImplSequence; combine(fn: (t: T, u?: U) => V, j: Iterable): ImplSequence; map(fn: (t: T) => U): ImplSequence; scan(fnReduce: (prevValue: U, curValue: T, curIndex: number) => U, initValue: U): ImplSequence; pipe(): Sequence; pipe(fn0: ChainFunction): Sequence; pipe(fn0: ChainFunction, fn1: ChainFunction): Sequence; pipe(fn0: ChainFunction, fn1: ChainFunction, fn2: ChainFunction): Sequence; pipe(fn0: ChainFunction, fn1: ChainFunction, fn2: ChainFunction, fn3: ChainFunction): Sequence; pipe(fn0: ChainFunction, fn1: ChainFunction, fn2: ChainFunction, fn3: ChainFunction, fn4: ChainFunction): Sequence; pipe(fn0: ChainFunction, fn1: ChainFunction, fn2: ChainFunction, fn3: ChainFunction, fn4: ChainFunction, fn5: ChainFunction): Sequence; pipe(fn0: ChainFunction, fn1: ChainFunction, fn2: ChainFunction, fn3: ChainFunction, fn4: ChainFunction, fn5: ChainFunction, ...fnRest: ChainFunction[]): Sequence; all(fnFilter: (t: T) => boolean): boolean; any(fnFilter: (t: T) => boolean): boolean; count(): number; first(fnFilter: (t: T) => boolean, defaultValue: T): T; forEach(fn: (t: T, index: number) => void): void; max(fnSelector?: (t: T) => T): Maybe; min(fnSelector?: (t: T) => T): Maybe; reduce(fnReduce: (prevValue: U, curValue: T, curIndex: number) => U, initValue?: U): U; reduceAsync(fnReduceAsync: (previousValue: ThenArg, currentValue: ThenArg, currentIndex: number) => ThenArg | Promise>, initialValue?: ThenArg): Promise>; reduceToSequence(fnReduce: (previousValue: GenIterable, currentValue: T, currentIndex: number) => GenIterable, initialValue: GenIterable): ImplSequence; toArray(): T[]; toIterable(): Generator; }