--- /dev/null
+/*! *****************************************************************************
+Copyright (c) Microsoft Corporation. All rights reserved.
+Licensed under the Apache License, Version 2.0 (the "License"); you may not use
+this file except in compliance with the License. You may obtain a copy of the
+License at http://www.apache.org/licenses/LICENSE-2.0
+
+THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
+WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
+MERCHANTABLITY OR NON-INFRINGEMENT.
+
+See the Apache Version 2.0 License for specific language governing permissions
+and limitations under the License.
+***************************************************************************** */
+
+
+
+/// <reference no-default-lib="true"/>\r
+
+
+interface ProxyHandler<T extends object> {\r
+ apply?(target: T, thisArg: any, argArray: any[]): any;\r
+ construct?(target: T, argArray: any[], newTarget: Function): object;\r
+ defineProperty?(target: T, p: string | symbol, attributes: PropertyDescriptor): boolean;\r
+ deleteProperty?(target: T, p: string | symbol): boolean;\r
+ get?(target: T, p: string | symbol, receiver: any): any;\r
+ getOwnPropertyDescriptor?(target: T, p: string | symbol): PropertyDescriptor | undefined;\r
+ getPrototypeOf?(target: T): object | null;\r
+ has?(target: T, p: string | symbol): boolean;\r
+ isExtensible?(target: T): boolean;\r
+ ownKeys?(target: T): ArrayLike<string | symbol>;\r
+ preventExtensions?(target: T): boolean;\r
+ set?(target: T, p: string | symbol, value: any, receiver: any): boolean;\r
+ setPrototypeOf?(target: T, v: object | null): boolean;\r
+}\r
+\r
+interface ProxyConstructor {\r
+ revocable<T extends object>(target: T, handler: ProxyHandler<T>): { proxy: T; revoke: () => void; };\r
+ new <T extends object>(target: T, handler: ProxyHandler<T>): T;\r
+}\r
+declare var Proxy: ProxyConstructor;\r