/** Signifies that the modified property descriptor can be reset to its original state */ interface ResettableDescriptor { /** * Restore the property descriptor on the given class instance or prototype and re-apply the lazy getter. * @param on The class instance or prototype */ reset(on: any): void; } /** A filter function that must return true for the value to cached */ declare type ResultSelectorFn = (v: any) => boolean; /** * Evaluate the getter function and cache the result * @param [setProto=false] Set the value on the class prototype as well. Only applies to non-static getters. * @param [makeNonConfigurable=false] Set to true to make the resolved property non-configurable * @param [resultSelector] A filter function that must return true for the value to cached * @return A decorator function */ declare function LazyGetter(setProto?: boolean, makeNonConfigurable?: boolean, resultSelector?: ResultSelectorFn): MethodDecorator & ResettableDescriptor; export { LazyGetter, ResultSelectorFn }; //# sourceMappingURL=lazy.d.ts.map