/** * {@link Object.defineProperty} where `get` is cached after first call. * @author warinternal 20161128 * @param proto Object on which to add or modify the property. * @param propertyName Key of the property. * @param get Function to compute the property value. * @param enumerable Is the property listed in {@link Object.keys}. (Optional: default to false) * @example defineCachedProperty(Creep.prototype, "bodyParts", (c) => _.countBy(c.body, part => part.type)) */ export declare function defineCachedProperty(proto: T, propertyName: PropertyKey, get: (it: T) => R, enumerable?: boolean): void;