import type { AnyIterable } from 'augmentative-iterable';
import type { AsyncReducer } from '../types';
import type { ToObjectChainIngredients } from './ingredients';
export declare function chainRecipeFactory(reduce: Function, ing: Omit<ToObjectChainIngredients, 'toObject'>, toDictFunc: Function): <T, R>(this: AnyIterable<any>, initial: () => R, reducer: AsyncReducer<T, R>, ...keys: string[]) => any;
export declare function toObjectChainReduceRecipe(ing: ToObjectChainIngredients): <T, R>(this: AnyIterable<any>, initial: () => R, reducer: AsyncReducer<T, R>, ...keys: string[]) => any;
