import { DeepAssign } from './types'; /** * set object values, shallow copy * * @example * * setObjectValues({ a: 1, b: '2' }, { a: 2 }); * * // => { a: 2, b: '2' } */ export declare function setObjectValues(target: T, values: Partial): T; /** * determines whether target object contain the sub object. * * @example * * hasSubset({ a: 1, b: 2 }, { a: 1 }) * * // => true */ export declare function hasSubset(target: T, sub: object): boolean; /** * assign recursively, shallow copy * * @example * * deepAssign({ a: { c: 2 }, b: 1 }, { a: { c: 3 } }) * * // => { a: { c: 3 }, b: 1 } */ export declare function deepAssign(source: A, target: B): DeepAssign; /** * Assign to source with predicate. * * @example * * ```ts * assignWithPredicate({}, [{ a: 1 }, () => true], [{ b: 2 }, () => false]) * * // => { a: 1 } * ``` */ export declare const assignWithPredicate: (source: T, ...dps: [T, () => unknown][]) => T;