export declare namespace Iterable { function is(thing: any): thing is IterableIterator; function empty(): Iterable; function single(element: T): Iterable; function from(iterable: Iterable | undefined | null): Iterable; function isEmpty(iterable: Iterable | undefined | null): boolean; function first(iterable: Iterable): T | undefined; function some(iterable: Iterable, predicate: (t: T) => unknown): boolean; function find(iterable: Iterable, predicate: (t: T) => t is R): T | undefined; function find(iterable: Iterable, predicate: (t: T) => boolean): T | undefined; function filter(iterable: Iterable, predicate: (t: T) => t is R): Iterable; function filter(iterable: Iterable, predicate: (t: T) => boolean): Iterable; function map(iterable: Iterable, fn: (t: T, index: number) => R): Iterable; function concat(...iterables: Iterable[]): Iterable; function concatNested(iterables: Iterable>): Iterable; function reduce(iterable: Iterable, reducer: (previousValue: R, currentValue: T) => R, initialValue: R): R; /** * Returns an iterable slice of the array, with the same semantics as `array.slice()`. */ function slice(arr: ReadonlyArray, from: number, to?: number): Iterable; /** * Consumes `atMost` elements from iterable and returns the consumed elements, * and an iterable for the rest of the elements. */ function consume(iterable: Iterable, atMost?: number): [T[], Iterable]; /** * Returns whether the iterables are the same length and all items are * equal using the comparator function. */ function equals(a: Iterable, b: Iterable, comparator?: (at: T, bt: T) => boolean): boolean; } //# sourceMappingURL=iterator.d.ts.map