import { InputOperationsArray, IterableEngineContext } from "../../engine/context"; import { FilterFn, ForEachFn, MapFn, ReduceFn } from "../../operations/sync"; export interface TC39IterableHelpersObject extends Iterable { map?(mapperFn: MapFn): TC39IterableHelpersObject; filter?(filterFn: FilterFn): TC39IterableHelpersObject; take?(limit: number): TC39IterableHelpersObject; drop?(limit: number): TC39IterableHelpersObject; flatMap?(mapperFn: MapFn>): TC39IterableHelpersObject; reduce?(reduceFn: ReduceFn, initial: A): A; toArray?(): T[]; forEach?(callbackFn: ForEachFn): void; some?(filterFn: FilterFn): boolean; every?(filterFn: FilterFn): boolean; find?(filterFn: FilterFn): T | undefined; } export declare function assertTC39IteratorHelpersObject(input: unknown): asserts input is (...operations: O) => Omit, "instance"> & { instance(): TC39IterableHelpersObject; };