declare class PropertyCache<P> {
    private _getResultsByKey;
    private _setArgsByKey;
    private _dependency;
    constructor(dependency: Map<P, P[]>);
    isCachedProperty(method: string | symbol): boolean;
    getMethodType(method: string | symbol): 'get' | 'set';
    methodToPropertyKey(method: string | symbol): P | undefined;
    hasChanged(key: P, value: any): boolean;
    setOnArgsChange(key: P, set: (...args: any[]) => void, ...args: any[]): void;
    updateOnGet(key: P, get: () => any, ...args: any[]): any | undefined;
}
export default PropertyCache;
