import type { IStream } from '../types.js'; /** * Accumulate results using a feedback loop that emits one value and feeds back * another to be used in the next iteration. */ export declare const aggregate: IAggregateCurry; export type AggregateFunction = (seed: S, value: I) => { seed: S; value: O; }; export interface IAggregateCurry { (f: AggregateFunction, initial: S, s: IStream): IStream; (f: AggregateFunction, initial: S): (s: IStream) => IStream; (f: AggregateFunction): (initial: S) => (s: IStream) => IStream; }