/** @module function/evolve.ts */ import { AnyObject, DeepPartial } from '../helper-types'; /** * Produces a new object from the result of applying function from an * object tree with functions which take corresponding values from an * incoming object * @param evolver * @param incoming */ export declare function evolveReducer = DeepPartial

>(evolver: E, previousState: P, incoming: I): P; export declare type StrictDeepPartial = { [K in keyof P]: K extends keyof O ? O[K] extends Array ? never : O[K] extends ReadonlyArray ? ReadonlyArray> : P[K] : never; };