import { LazyMultiIterable } from './make-lazy-iterator'; export type NestedIterable = IterableIterator<[T, NestedIterable]>; export declare function unnestNestedIterable(generator: NestedIterable): IterableIterator; export declare function flattenResult(generator: NestedIterable): IterableIterator; export declare function flattenResults(generator: NestedIterable): IterableIterator; export declare function resultsOfLength(generator: NestedIterable, length: number): NestedIterable; export declare function resultsOfTotalLength(generator: NestedIterable, length: number): NestedIterable; export type NestedLazyMultiIterable = LazyMultiIterable<[T, NestedLazyMultiIterable]>; export declare function convertToMultiIterator(generator: NestedIterable): NestedLazyMultiIterable; export declare function convertToDeepNested(generator: NestedIterable): NestedIterable;