import { Eval } from '@fp4ts/core';
import { Monoid, Ord } from '@fp4ts/cats-kernel';
import { Option } from '../../option';
export declare const toArray: (iter: Iterator) => A[];
export declare const filter: (f: (a: A) => boolean) => (it: Iterator) => Iterator;
export declare const collect: (f: (a: A) => Option) => (it: Iterator) => Iterator;
export declare const collectWhile: (f: (a: A) => Option) => (it: Iterator) => Iterator;
export declare const map: (f: (a: A) => B) => (it: Iterator) => Iterator;
export declare const flatMap: (f: (a: A) => Iterator) => (it: Iterator) => Iterator;
export declare const fold: (z: B, f: (b: B, a: A) => B) => (it: Iterator) => B;
export declare const scan: (z: B, f: (b: B, a: A) => B) => (it: Iterator) => Iterator;
export declare const concat: (rhs: Iterator) => (lhs: Iterator) => Iterator;
export declare const zipWithIndex: (it: Iterator) => Iterator<[A, number], any, undefined>;
export declare const elem_: (it: Iterator, idx: number) => A | undefined;
export declare const all_: (it: Iterator, p: (a: A) => boolean) => boolean;
export declare const any_: (it: Iterator, p: (a: A) => boolean) => boolean;
export declare const count_: (it: Iterator, p: (a: A) => boolean) => number;
export declare const take_: (it: Iterator, n: number) => Iterator;
export declare const drop_: (it: Iterator, n: number) => Iterator;
export declare const filter_: (it: Iterator, f: (a: A) => boolean) => Iterator;
export declare const collect_: (it: Iterator, f: (a: A) => Option) => Iterator;
export declare const collectWhile_: (it: Iterator, f: (a: A) => Option) => Iterator;
export declare const map_: (it: Iterator, f: (a: A) => B) => Iterator;
export declare const flatMap_: (source: Iterator, f: (a: A) => Iterator) => Iterator;
export declare const foldLeft_: (it: Iterator, z: B, f: (b: B, a: A) => B) => B;
export declare const foldRight_: (it: Iterator, ez: Eval, f: (a: A, eb: Eval) => Eval) => Eval;
export declare const foldMap_: (M: Monoid, it: Iterator, f: (a: A) => M) => M;
export declare const foldMapLeft_: (M: Monoid, it: Iterator, f: (a: A) => M) => M;
export declare const forEach_: (it: Iterator, f: (a: A) => void) => void;
export declare const scan_: (it: Iterator, z: B, f: (b: B, a: A) => B) => Iterator;
export declare const concat_: (lhs: Iterator, rhs: Iterator) => Iterator;
export declare const zip_: (lhs: Iterator, rhs: Iterator) => Iterator<[A, B], any, undefined>;
export declare const zipWith_: (lhs: Iterator, rhs: Iterator) => (f: (a: A, b: B) => C) => Iterator;
export declare const zipAll_: (lhs: Iterator, rhs: Iterator, defaultL: () => A, defaultR: () => B) => Iterator<[A, B], any, undefined>;
export declare const zipAllWith_: (lhs: Iterator, rhs: Iterator, defaultL: () => A, defaultR: () => B) => (f: (a: A, b: B) => C) => Iterator;
export declare const distinctBy_: (it: Iterator, f: (a: A) => B) => Iterator;
export declare const distinctByOrd_: (it: Iterator, f: (a: A) => B, O: Ord) => Iterator;
//# sourceMappingURL=operators.d.ts.map