type FilterFunc = (path: string, object: any) => boolean; type FilterSelector = string | string[] | FilterFunc; export interface DeepSyncOptions { /** * Accepts a list of JSONPath patterns. * Any objects that are set at those paths are directly stored as * references instead of being duplicated into an observable object. */ refs?: FilterSelector; /** * Accepts a list of JSONPath patterns. * Any objects that are set at those paths will not be included * in the duplicated object. */ exclude?: FilterSelector; } export declare function deep_sync_adv(target: any, obj: T, options?: DeepSyncOptions): T; export declare function deep_merge_adv(target: T, obj: T, options?: DeepSyncOptions): T; export declare function deep_duplicate_adv(obj: T, options?: DeepSyncOptions): T; export declare function deepSyncInternal(target: any, source: any, options: { refPaths: FilterFunc; excludePaths: FilterFunc; currentPath: string[]; delete_missing?: boolean; initializeMissingValue?: (v: any, recurse: (target: any) => any) => any; }): void; export declare function normalizeFilter(spec: FilterSelector, obj: any): FilterFunc; export {};