import {none} from '../defs'; export = fold; /** * Folds values into an accumulator. Returns the accumulator when the source is exhausted. * @param fn function that takes an accumulator and a value and returns an accumulator * @param acc initial accumulator * @returns a function that takes a value and returns an accumulator or {@link none}. * @remarks It is modelled on the [reduce](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce) method. */ declare function fold( fn: (acc: A, value: T) => A, acc: A ): (value: T | typeof none) => A | typeof none; declare function fold( fn: (acc: A, value: T) => Promise, acc: A ): (value: T | typeof none) => Promise;