import type { MappingRecord } from '../mapping/mappingRecord'; /** * returns the indicated property of an object, if it exists. * * @param object - The object to query * @param path - The property name or path to the property * @returns The value at `obj[p]`. * @example * ``` * getProp({x: 100}, 'x'); //=> 100 * getProp({}, 'x'); //=> undefined * ``` */ export declare function getProp(object: Record, path: string): any; /** * assigns the value provided to the key in targetObject. * @param path - keys separated by a delimiter. * @param obj - object to which value will be assigned * @param val - value to be assigned * * @example * ``` * targetObject = {}; * assignToProp('x.y.z', targetObject, 'foo'); * console.log(targetObject); => {x:{y:{z:'foo'}}} * ``` */ export declare function assignToProp(path: string, obj: Record, val: any): void; export declare function deleteProp(path: string, obj: Record): void; /** * @param obj - source object * @param mapping - key mappings from source to target object structure * @example * ``` * let mapping={ 'a.b': 'x.y.z'} * let obj = {x: {y: {z: 'foo'}}} * formatObject(obj, mapping) => {a:{b:'foo'}} * ``` */ export declare const formatObject: , Target extends Record>(obj: Source, mapping: Partial>) => Target; /** * @param obj - source object * @param mapping - key mappings from target to source object structure * @example * ``` * let mapping={ 'a.b': 'x.y.z'} * let obj = {x: {y: {z: 'foo'}}} * formatObject(obj, mapping) => {a:{b:'foo'}} * ``` */ export declare const mapWith: , Target extends Record>(obj: Source, mapping: MappingRecord) => Target;