import { AnyWidget } from '../decorators/construct'; export declare type TypedMap = { [key: string]: T; }; export declare type Callback = () => void; export declare type PropertyCallback = (property: string) => void; export declare type WidgetClass = { new (...args: any[]): T; }; export declare const pathCallbacks: WeakMap>; export declare const getSubset: (keys: string[], obj: {}) => {}; export declare const isObject: (obj: any) => boolean; export declare const deepValue: (obj: {}, path?: string) => any; export declare const merge: (a: any, b: any) => any; export declare const ensure: (map: WeakMap<{}, T> | Map<{}, T>, obj: any, defaultValue: any) => T; export declare const propertyCallbacks: WeakMap>; export declare const addPropertyListener: (obj: object, property: string, callback: PropertyCallback) => void; export declare const createObjectPropertyListener: (obj: object, pathStr: string, callback: Callback) => void;