declare type SyncMapper = (value: T) => V; declare type AsyncMapper = (value: T) => Promise; declare type Mapper = AsyncMapper | SyncMapper; declare type SyncPredicate = (value: T) => boolean; declare type AsyncPredicate = (value: T) => Promise; declare type Predicate = AsyncPredicate | SyncPredicate; export declare function asyncStream(values: ReadonlyArray): AsyncArrayStream; declare type AsyncProvider = () => Promise>; export declare class AsyncArrayStream { private provider; constructor(provider: AsyncProvider); map(mapper: Mapper): AsyncArrayStream; filter(predicate: Predicate): AsyncArrayStream; present(): AsyncArrayStream>; collect(): Promise>; } export {};