export declare namespace AsyncIterUtils {
    function map<T0, T1>(iterable: AsyncIterable<T0>, mapItem: (item: T0) => T1): AsyncIterable<T1>;
    function mapWithReturn<T0, R0, N, T1, R1 = R0>(iterable: AsyncIterable<T0, R0, N>, mapItem: (item: T0) => T1, mapReturn: (ret: R0) => R1): AsyncGenerator<T1, R1, N>;
    function filter<T>(iterable: AsyncIterable<T>, filterItem: (item: T) => boolean): AsyncIterable<T>;
    function toArray<T>(iterable: AsyncIterable<T>): Promise<T[]>;
    function fromArray<T>(arr: T[]): AsyncIterable<T>;
    function fromArrayWithReturn<T, R>(arr: T[], returnValue: R): AsyncGenerator<T, R>;
    function toArrayWithReturn<T, R>(iterable: AsyncIterable<T, R>): Promise<[T[], ret: R]>;
    function drainUntilReturn<T, R>(iterable: AsyncIterable<T, R>): Promise<R>;
}
/**
 * Namespace for extensions to AsyncIterUtils that are not generally useful enough to be in the main namespace, but are still worth keeping around.
 */
export declare namespace AsyncIterUtilsExt {
    function splitLines(stream: AsyncIterable<string>): AsyncIterable<string>;
}
//# sourceMappingURL=asyncIterableUtils.d.ts.map