export default class CachedProperty { private value; private updateFn; private bound_properties; constructor(value: T, updateFn: (...args: any[]) => T); update(...args: any[]): void; get(): T; updateAndGet(): T; addBoundProperty(cached_property: CachedProperty): void; }