import type { AbortableMapper, AbortablePredicate } from '../types';
import { END } from '../types';
/**
 * Iterable2 is a wrapper around Iterable that implements "Iterator Helpers proposal":
 * https://github.com/tc39/proposal-iterator-helpers
 *
 * Iterable2 can be removed after the proposal is widely implemented in Node & browsers.
 *
 * @experimental
 */
export declare class Iterable2<T> implements Iterable<T> {
    private it;
    private constructor();
    static of<T>(it: Iterable<T>): Iterable2<T>;
    static empty<T>(): Iterable2<T>;
    [Symbol.iterator](): Iterator<T>;
    toArray(): T[];
    forEach(cb: (v: T, i: number) => any | typeof END): void;
    some(cb: AbortablePredicate<T>): boolean;
    every(cb: AbortablePredicate<T>): boolean;
    find(cb: AbortablePredicate<T>): T | undefined;
    filter(cb: AbortablePredicate<T>): Iterable2<T>;
    map<OUT>(mapper: AbortableMapper<T, OUT>): Iterable2<OUT>;
}
