import { ChainFunction, IterableLike, Maybe, ReduceAsyncFunction, ReduceAsyncFunctionForAsyncIterator, ReduceFunction, ThenArg } from '../types'; /** * Operators used by Sequence */ export declare function filter(fnFilter: (t: T) => boolean): ChainFunction; export declare function skip(n: number): ChainFunction; export declare function take(n: number): ChainFunction; /** * Concat two iterables together */ export declare function concat(j: IterableLike): ChainFunction; export declare function concatMap(fn: (t: T) => IterableLike): ChainFunction; /** * Combine two iterables together using fnMap function. */ export declare function combine(fnMap: (t: T, u?: U) => V, j: IterableLike): ChainFunction; /** * apply a mapping function to an Iterable. */ export declare function map(fnMap: (t: T) => U): ChainFunction; export declare function scan(fnReduce: (prevValue: T, curValue: T, curIndex: number) => T): ChainFunction; export declare function scan(fnReduce: (prevValue: T, curValue: T, curIndex: number) => T, initValue: T): ChainFunction; export declare function scan(fnReduce: (prevValue: U, curValue: T, curIndex: number) => U, initValue: U): ChainFunction; export declare function all(fn: (t: T) => boolean): ReduceFunction; export declare function any(fn: (t: T) => boolean): ReduceFunction; export declare function count(): ReduceFunction; export declare function first(fn: (t: T) => boolean, defaultValue: T): ReduceFunction; export declare function first(fn?: (t: T) => boolean, defaultValue?: T): ReduceFunction>; export declare function forEach(fn: (t: T, index: number) => void): ReduceFunction; export declare function max(selector: (t: T) => U): ReduceFunction>; export declare function min(selector: (t: T) => U): ReduceFunction>; export declare function reduce(fnReduce: (prevValue: U, curValue: T, curIndex: number) => U, initialValue: U): ReduceFunction; export declare function reduce(fnReduce: (prevValue: T, curValue: T, curIndex: number) => T, initialValue: T): ReduceFunction; export declare function reduce(fnReduce: (prevValue: T, curValue: T, curIndex: number) => T, initialValue: Maybe): ReduceFunction>; export declare function reduceAsync(fnReduceAsync: (previousValue: ThenArg, currentValue: ThenArg, currentIndex: number) => ThenArg | Promise>, initialValue?: ThenArg): ReduceAsyncFunction>>; export declare function reduceAsync(fnReduceAsync: (previousValue: ThenArg, currentValue: ThenArg, currentIndex: number) => ThenArg | Promise>, initialValue?: ThenArg): ReduceAsyncFunction>>; export declare function reduceAsyncForAsyncIterator(fnReduceAsync: (previousValue: ThenArg, currentValue: ThenArg, currentIndex: number) => ThenArg | Promise>, initialValue?: ThenArg): ReduceAsyncFunctionForAsyncIterator>>; export declare function reduceAsyncForAsyncIterator(fnReduceAsync: (previousValue: ThenArg, currentValue: ThenArg, currentIndex: number) => ThenArg | Promise>, initialValue?: ThenArg): ReduceAsyncFunctionForAsyncIterator>>; export declare type PipeFunction = ChainFunction; export declare function pipe(): PipeFunction; export declare function pipe(fn0: PipeFunction): PipeFunction; export declare function pipe(fn0: PipeFunction, fn1: PipeFunction): PipeFunction; export declare function pipe(fn0: PipeFunction, fn1: PipeFunction, fn2: PipeFunction): PipeFunction; export declare function pipe(fn0: PipeFunction, fn1: PipeFunction, fn2: PipeFunction, fn3: PipeFunction): PipeFunction; export declare function pipe(fn0: PipeFunction, fn1: PipeFunction, fn2: PipeFunction, fn3: PipeFunction, fn4: PipeFunction): PipeFunction; export declare function pipe(fn0: PipeFunction, fn1: PipeFunction, fn2: PipeFunction, fn3: PipeFunction, fn4: PipeFunction, fn5: PipeFunction): PipeFunction; export declare function pipe(fn0: PipeFunction, fn1: PipeFunction, fn2: PipeFunction, fn3: PipeFunction, fn4: PipeFunction, fn5: PipeFunction, ...fnRest: PipeFunction[]): PipeFunction;