import type { Fn0, FnAny } from "@thi.ng/api"; import type { IReducible, Reducer, ReductionFn } from "./api.js"; export declare function reduce(rfn: Reducer, src: Iterable): B; export declare function reduce(rfn: Reducer, acc: B, src: Iterable): B; export declare function reduce(rfn: Reducer, src: IReducible): B; export declare function reduce(rfn: Reducer, acc: A, src: IReducible): B; export declare function reduceRight(rfn: Reducer, src: ArrayLike): B; export declare function reduceRight(rfn: Reducer, acc: B, src: ArrayLike): B; /** * Convenience helper for building a full {@link Reducer} using the identity * function (i.e. `(x) => x`) as completion step (true for 90% of all * bundled transducers). * * @param init - init step of reducer * @param rfn - reduction step of reducer */ export declare const reducer: (init: Fn0, rfn: ReductionFn) => Reducer; export declare const $$reduce: (rfn: FnAny>, args: any[]) => any; //# sourceMappingURL=reduce.d.ts.map