import { MergedUpdate, UpdateReturnType } from './types'; export declare const omitted: (...args: any[]) => { __omitted: boolean; }; /** * Recursively update an object or array. * * Can update with values: * update({ foo: 3 }, { foo: 1, bar: 2 }); * // => { foo: 3, bar: 2 } * * Or with a function: * update({ foo: x => (x + 1) }, { foo: 2 }); * // => { foo: 3 } * */ export declare function update(updates: U extends object ? never : U, object: any): U; export declare function update(updates: U, object: O extends object ? never : O): UpdateReturnType; export declare function update(updates: U, object: O, ...args: any[]): MergedUpdate; interface CurriedUpdate1 { (object: O extends object ? never : O): UpdateReturnType; (object: O, ...args: any[]): MergedUpdate; } interface CurriedUpdate { (updates: U extends object ? never : U, object: any): U; (updates: U, object: O extends object ? never : O): UpdateReturnType; (updates: U, object: O, ...args: any[]): MergedUpdate; (updates: U extends object ? never : U): (object: any) => U; (updates: U): CurriedUpdate1; } declare const _default: CurriedUpdate; export default _default;