/** * Get a property out of a deeply nested object. Supports array indexing * and property matching. * * Examples: * ```js * getProp({a: [0, false, ""]}, "a[0]") => 0 * getProp({a: {b: {c: 1}}}, "a.b.c") => 1 * getProp({a: {b: {c: 1}}}, "a.b.d") => undefined * getProp({a: {b: {c: 1}}}, "a.b") => {c: 1} * getProp({a: {b: [1,2]}}, "a.b[0]") => 1 * getProp({a: {b: {c: 1}, b2: { $use: "a.b"}}, "a.b2") => {c: 1} * getProp({a: [{key: "x", val:1}, {key: "y", val:3}]}, "a[1]") => {key: "y", val:3} * getProp({a: [{key: "x", val:1}, {key: "y", val:3}]}, "a[1].val") => 3 * getProp({a: [{key: "x", val:1}, {key: "y", val:3}]}, "a[findBy(key,y)].val") => 3 * getProp({a: [{key: "x", val:1}, {key: "y", val:3}]}, "a[findBy(val,1)].key") => "x" * ``` */ export declare const getProp: (obj: { [index: string]: any; }, path: string) => any;