// eslint-disable-next-line @definitelytyped/no-self-import import EmberObject from "@ember/object"; // eslint-disable-next-line @definitelytyped/no-self-import import { UnwrapComputedPropertyGetter, UnwrapComputedPropertyGetters, UnwrapComputedPropertySetters, } from "@ember/object/-private/types"; /** * `Ember.ObjectProxy` forwards all properties not defined by the proxy itself * to a proxied `content` object. */ export default class ObjectProxy extends EmberObject { /** * The object whose properties will be forwarded. */ content: T | undefined; get(key: K): UnwrapComputedPropertyGetter; get(key: K): UnwrapComputedPropertyGetter | undefined; getProperties( list: K[], ): Pick, K>; getProperties( ...list: K[] ): Pick, K>; getProperties( list: K[], ): Pick>, K>; getProperties( ...list: K[] ): Pick>, K>; set( key: K, value: UnwrapComputedPropertySetters[K], ): UnwrapComputedPropertySetters[K]; set(key: K, value: UnwrapComputedPropertySetters[K]): UnwrapComputedPropertySetters[K]; setProperties( hash: Pick, K>, ): Pick, K>; }