import { JSONObject, PropertyPath } from '@types'; /** * Parses a property path * foo.bar[4].xy['test prop'] -> ['foo', 'bar', 4, 'xy', 'test prop'] * @param str */ export declare const propertyPath: (str: string) => PropertyPath; /** * Checks if the given array contains another array, only works with primitives. * @param paths * @param target */ export declare const containsDeep: (paths: T[], target: T) => boolean; /** * Same as containsDeep but only the beginning of the array needs to match the given target * @param paths * @param target */ export declare const startsWithPattern: (paths: T[], target: T) => boolean; export interface Property { key: K; path: PropertyPath; } /** * Iterates over all properties (including nested ones) of an object * @param obj Target object * @param skipArrays Do not list array items (will still include objects in arrays) */ export declare function paths>(obj: T, skipArrays?: S): IterableIterator

;