import { FilterFn, ForEachFn, MapFn, ReduceFn } from "../../operations/async"; import { InputOperationsArray, IterableEngineContext } from "../../engine/context"; export interface TC39AsyncIterableHelpersObject extends AsyncIterable { map?(mapperFn: MapFn): TC39AsyncIterableHelpersObject; filter?(filterFn: FilterFn): TC39AsyncIterableHelpersObject; take?(limit: number): TC39AsyncIterableHelpersObject; drop?(limit: number): TC39AsyncIterableHelpersObject; flatMap?(mapperFn: MapFn>): TC39AsyncIterableHelpersObject; reduce?(reduceFn: ReduceFn, initial: A): Promise; toArray?(): Promise; forEach?(callbackFn: ForEachFn): Promise; some?(filterFn: FilterFn): Promise; every?(filterFn: FilterFn): Promise; find?(filterFn: FilterFn): Promise; } export interface TC39AsyncIteratorHelpersFn { (...operations: O): Omit, "instance"> & { instance(input: AsyncIterable | Iterable): TC39AsyncIterableHelpersObject; }; } export interface AssertTC39AsyncIteratorHelpersFn { (test: unknown): asserts test is TC39AsyncIteratorHelpersFn; } export declare function assertTC39AsyncIteratorHelpersObject(input: unknown): Promise>;