// Type definitions for harmony-proxy 1.0.0 // Project: https://www.npmjs.com/package/harmony-proxy // Definitions by: Remo Jansen // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped declare namespace harmonyProxy { type PropertyKey = string | number | symbol; interface ProxyHandler { getPrototypeOf? (target: T): any; setPrototypeOf? (target: T, v: any): boolean; isExtensible? (target: T): boolean; preventExtensions? (target: T): boolean; getOwnPropertyDescriptor? (target: T, p: PropertyKey): PropertyDescriptor; has? (target: T, p: PropertyKey): boolean; get? (target: T, p: PropertyKey, receiver: any): any; set? (target: T, p: PropertyKey, value: any, receiver: any): boolean; deleteProperty? (target: T, p: PropertyKey): boolean; defineProperty? (target: T, p: PropertyKey, attributes: PropertyDescriptor): boolean; enumerate? (target: T): PropertyKey[]; ownKeys? (target: T): PropertyKey[]; apply? (target: T, thisArg: any, argArray?: any): any; construct? (target: T, thisArg: any, argArray?: any): any; } interface ProxyConstructor { revocable(target: T, handler: ProxyHandler): { proxy: T; revoke: () => void; }; new (target: T, handler: ProxyHandler): T } } declare var _Proxy: harmonyProxy.ProxyConstructor; export = _Proxy;