diff --git a/AfterEffects/10.5/package.json b/AfterEffects/10.5/package.json
new file mode 100644
index 00000000..2bd1c1d7
--- /dev/null
+++ b/AfterEffects/10.5/package.json
@@ -0,0 +1,6 @@
+{
+ "name": "types-for-adobe/AfterEffects/10.5",
+ "version": "1.0.0",
+ "main": "index.d.ts",
+ "types": "index.d.ts"
+}
diff --git a/AfterEffects/10.5/tsconfig.json b/AfterEffects/10.5/tsconfig.json
index 169c0222..28d68ad9 100644
--- a/AfterEffects/10.5/tsconfig.json
+++ b/AfterEffects/10.5/tsconfig.json
@@ -2,7 +2,8 @@
"compilerOptions": {
"module": "none",
"strict": true,
- "noLib": true,
+ "noLib": false,
+ "lib": ["ES5"],
"typeRoots": []
},
"exclude": ["node_modules"]
diff --git a/AfterEffects/11.0/package.json b/AfterEffects/11.0/package.json
new file mode 100644
index 00000000..1611f958
--- /dev/null
+++ b/AfterEffects/11.0/package.json
@@ -0,0 +1,6 @@
+{
+ "name": "types-for-adobe/AfterEffects/11.0",
+ "version": "1.0.0",
+ "main": "index.d.ts",
+ "types": "index.d.ts"
+}
diff --git a/AfterEffects/11.0/tsconfig.json b/AfterEffects/11.0/tsconfig.json
index 169c0222..28d68ad9 100644
--- a/AfterEffects/11.0/tsconfig.json
+++ b/AfterEffects/11.0/tsconfig.json
@@ -2,7 +2,8 @@
"compilerOptions": {
"module": "none",
"strict": true,
- "noLib": true,
+ "noLib": false,
+ "lib": ["ES5"],
"typeRoots": []
},
"exclude": ["node_modules"]
diff --git a/AfterEffects/12.0/package.json b/AfterEffects/12.0/package.json
new file mode 100644
index 00000000..f08bbb08
--- /dev/null
+++ b/AfterEffects/12.0/package.json
@@ -0,0 +1,6 @@
+{
+ "name": "types-for-adobe/AfterEffects/12.0",
+ "version": "1.0.0",
+ "main": "index.d.ts",
+ "types": "index.d.ts"
+}
diff --git a/AfterEffects/12.0/tsconfig.json b/AfterEffects/12.0/tsconfig.json
index 169c0222..28d68ad9 100644
--- a/AfterEffects/12.0/tsconfig.json
+++ b/AfterEffects/12.0/tsconfig.json
@@ -2,7 +2,8 @@
"compilerOptions": {
"module": "none",
"strict": true,
- "noLib": true,
+ "noLib": false,
+ "lib": ["ES5"],
"typeRoots": []
},
"exclude": ["node_modules"]
diff --git a/AfterEffects/13.0/package.json b/AfterEffects/13.0/package.json
new file mode 100644
index 00000000..3efe1bda
--- /dev/null
+++ b/AfterEffects/13.0/package.json
@@ -0,0 +1,6 @@
+{
+ "name": "types-for-adobe/AfterEffects/13.0",
+ "version": "1.0.0",
+ "main": "index.d.ts",
+ "types": "index.d.ts"
+}
diff --git a/AfterEffects/13.0/tsconfig.json b/AfterEffects/13.0/tsconfig.json
index 169c0222..28d68ad9 100644
--- a/AfterEffects/13.0/tsconfig.json
+++ b/AfterEffects/13.0/tsconfig.json
@@ -2,7 +2,8 @@
"compilerOptions": {
"module": "none",
"strict": true,
- "noLib": true,
+ "noLib": false,
+ "lib": ["ES5"],
"typeRoots": []
},
"exclude": ["node_modules"]
diff --git a/AfterEffects/13.1/package.json b/AfterEffects/13.1/package.json
new file mode 100644
index 00000000..dbf2d6cf
--- /dev/null
+++ b/AfterEffects/13.1/package.json
@@ -0,0 +1,6 @@
+{
+ "name": "types-for-adobe/AfterEffects/13.1",
+ "version": "1.0.0",
+ "main": "index.d.ts",
+ "types": "index.d.ts"
+}
diff --git a/AfterEffects/13.1/tsconfig.json b/AfterEffects/13.1/tsconfig.json
index 169c0222..28d68ad9 100644
--- a/AfterEffects/13.1/tsconfig.json
+++ b/AfterEffects/13.1/tsconfig.json
@@ -2,7 +2,8 @@
"compilerOptions": {
"module": "none",
"strict": true,
- "noLib": true,
+ "noLib": false,
+ "lib": ["ES5"],
"typeRoots": []
},
"exclude": ["node_modules"]
diff --git a/AfterEffects/13.2/package.json b/AfterEffects/13.2/package.json
new file mode 100644
index 00000000..44116a5c
--- /dev/null
+++ b/AfterEffects/13.2/package.json
@@ -0,0 +1,6 @@
+{
+ "name": "types-for-adobe/AfterEffects/13.2",
+ "version": "1.0.0",
+ "main": "index.d.ts",
+ "types": "index.d.ts"
+}
diff --git a/AfterEffects/13.2/tsconfig.json b/AfterEffects/13.2/tsconfig.json
index 169c0222..28d68ad9 100644
--- a/AfterEffects/13.2/tsconfig.json
+++ b/AfterEffects/13.2/tsconfig.json
@@ -2,7 +2,8 @@
"compilerOptions": {
"module": "none",
"strict": true,
- "noLib": true,
+ "noLib": false,
+ "lib": ["ES5"],
"typeRoots": []
},
"exclude": ["node_modules"]
diff --git a/AfterEffects/13.6/package.json b/AfterEffects/13.6/package.json
new file mode 100644
index 00000000..4cb7d68e
--- /dev/null
+++ b/AfterEffects/13.6/package.json
@@ -0,0 +1,6 @@
+{
+ "name": "types-for-adobe/AfterEffects/13.6",
+ "version": "1.0.0",
+ "main": "index.d.ts",
+ "types": "index.d.ts"
+}
diff --git a/AfterEffects/13.6/tsconfig.json b/AfterEffects/13.6/tsconfig.json
index 169c0222..28d68ad9 100644
--- a/AfterEffects/13.6/tsconfig.json
+++ b/AfterEffects/13.6/tsconfig.json
@@ -2,7 +2,8 @@
"compilerOptions": {
"module": "none",
"strict": true,
- "noLib": true,
+ "noLib": false,
+ "lib": ["ES5"],
"typeRoots": []
},
"exclude": ["node_modules"]
diff --git a/AfterEffects/13.8/package.json b/AfterEffects/13.8/package.json
new file mode 100644
index 00000000..02782549
--- /dev/null
+++ b/AfterEffects/13.8/package.json
@@ -0,0 +1,6 @@
+{
+ "name": "types-for-adobe/AfterEffects/13.8",
+ "version": "1.0.0",
+ "main": "index.d.ts",
+ "types": "index.d.ts"
+}
diff --git a/AfterEffects/13.8/tsconfig.json b/AfterEffects/13.8/tsconfig.json
index 169c0222..28d68ad9 100644
--- a/AfterEffects/13.8/tsconfig.json
+++ b/AfterEffects/13.8/tsconfig.json
@@ -2,7 +2,8 @@
"compilerOptions": {
"module": "none",
"strict": true,
- "noLib": true,
+ "noLib": false,
+ "lib": ["ES5"],
"typeRoots": []
},
"exclude": ["node_modules"]
diff --git a/AfterEffects/14.0/package.json b/AfterEffects/14.0/package.json
new file mode 100644
index 00000000..9ce41472
--- /dev/null
+++ b/AfterEffects/14.0/package.json
@@ -0,0 +1,6 @@
+{
+ "name": "types-for-adobe/AfterEffects/14.0",
+ "version": "1.0.0",
+ "main": "index.d.ts",
+ "types": "index.d.ts"
+}
diff --git a/AfterEffects/14.0/tsconfig.json b/AfterEffects/14.0/tsconfig.json
index 169c0222..28d68ad9 100644
--- a/AfterEffects/14.0/tsconfig.json
+++ b/AfterEffects/14.0/tsconfig.json
@@ -2,7 +2,8 @@
"compilerOptions": {
"module": "none",
"strict": true,
- "noLib": true,
+ "noLib": false,
+ "lib": ["ES5"],
"typeRoots": []
},
"exclude": ["node_modules"]
diff --git a/AfterEffects/14.2/package.json b/AfterEffects/14.2/package.json
new file mode 100644
index 00000000..d29abe69
--- /dev/null
+++ b/AfterEffects/14.2/package.json
@@ -0,0 +1,6 @@
+{
+ "name": "types-for-adobe/AfterEffects/14.2",
+ "version": "1.0.0",
+ "main": "index.d.ts",
+ "types": "index.d.ts"
+}
diff --git a/AfterEffects/14.2/tsconfig.json b/AfterEffects/14.2/tsconfig.json
index 169c0222..28d68ad9 100644
--- a/AfterEffects/14.2/tsconfig.json
+++ b/AfterEffects/14.2/tsconfig.json
@@ -2,7 +2,8 @@
"compilerOptions": {
"module": "none",
"strict": true,
- "noLib": true,
+ "noLib": false,
+ "lib": ["ES5"],
"typeRoots": []
},
"exclude": ["node_modules"]
diff --git a/AfterEffects/15.0/package.json b/AfterEffects/15.0/package.json
new file mode 100644
index 00000000..ccb59dd5
--- /dev/null
+++ b/AfterEffects/15.0/package.json
@@ -0,0 +1,6 @@
+{
+ "name": "types-for-adobe/AfterEffects/15.0",
+ "version": "1.0.0",
+ "main": "index.d.ts",
+ "types": "index.d.ts"
+}
diff --git a/AfterEffects/15.0/tsconfig.json b/AfterEffects/15.0/tsconfig.json
index 169c0222..28d68ad9 100644
--- a/AfterEffects/15.0/tsconfig.json
+++ b/AfterEffects/15.0/tsconfig.json
@@ -2,7 +2,8 @@
"compilerOptions": {
"module": "none",
"strict": true,
- "noLib": true,
+ "noLib": false,
+ "lib": ["ES5"],
"typeRoots": []
},
"exclude": ["node_modules"]
diff --git a/AfterEffects/16.0/package.json b/AfterEffects/16.0/package.json
new file mode 100644
index 00000000..885bbf3a
--- /dev/null
+++ b/AfterEffects/16.0/package.json
@@ -0,0 +1,6 @@
+{
+ "name": "types-for-adobe/AfterEffects/16.0",
+ "version": "1.0.0",
+ "main": "index.d.ts",
+ "types": "index.d.ts"
+}
diff --git a/AfterEffects/16.0/tsconfig.json b/AfterEffects/16.0/tsconfig.json
index 169c0222..28d68ad9 100644
--- a/AfterEffects/16.0/tsconfig.json
+++ b/AfterEffects/16.0/tsconfig.json
@@ -2,7 +2,8 @@
"compilerOptions": {
"module": "none",
"strict": true,
- "noLib": true,
+ "noLib": false,
+ "lib": ["ES5"],
"typeRoots": []
},
"exclude": ["node_modules"]
diff --git a/AfterEffects/16.1/package.json b/AfterEffects/16.1/package.json
new file mode 100644
index 00000000..cd396ebe
--- /dev/null
+++ b/AfterEffects/16.1/package.json
@@ -0,0 +1,6 @@
+{
+ "name": "types-for-adobe/AfterEffects/16.1",
+ "version": "1.0.0",
+ "main": "index.d.ts",
+ "types": "index.d.ts"
+}
diff --git a/AfterEffects/16.1/tsconfig.json b/AfterEffects/16.1/tsconfig.json
index 169c0222..28d68ad9 100644
--- a/AfterEffects/16.1/tsconfig.json
+++ b/AfterEffects/16.1/tsconfig.json
@@ -2,7 +2,8 @@
"compilerOptions": {
"module": "none",
"strict": true,
- "noLib": true,
+ "noLib": false,
+ "lib": ["ES5"],
"typeRoots": []
},
"exclude": ["node_modules"]
diff --git a/AfterEffects/17.0/package.json b/AfterEffects/17.0/package.json
new file mode 100644
index 00000000..7daca547
--- /dev/null
+++ b/AfterEffects/17.0/package.json
@@ -0,0 +1,6 @@
+{
+ "name": "types-for-adobe/AfterEffects/17.0",
+ "version": "1.0.0",
+ "main": "index.d.ts",
+ "types": "index.d.ts"
+}
diff --git a/AfterEffects/17.0/tsconfig.json b/AfterEffects/17.0/tsconfig.json
index 169c0222..28d68ad9 100644
--- a/AfterEffects/17.0/tsconfig.json
+++ b/AfterEffects/17.0/tsconfig.json
@@ -2,7 +2,8 @@
"compilerOptions": {
"module": "none",
"strict": true,
- "noLib": true,
+ "noLib": false,
+ "lib": ["ES5"],
"typeRoots": []
},
"exclude": ["node_modules"]
diff --git a/AfterEffects/17.1/package.json b/AfterEffects/17.1/package.json
new file mode 100644
index 00000000..8c8cd00c
--- /dev/null
+++ b/AfterEffects/17.1/package.json
@@ -0,0 +1,6 @@
+{
+ "name": "types-for-adobe/AfterEffects/17.1",
+ "version": "1.0.0",
+ "main": "index.d.ts",
+ "types": "index.d.ts"
+}
diff --git a/AfterEffects/17.1/tsconfig.json b/AfterEffects/17.1/tsconfig.json
index 169c0222..28d68ad9 100644
--- a/AfterEffects/17.1/tsconfig.json
+++ b/AfterEffects/17.1/tsconfig.json
@@ -2,7 +2,8 @@
"compilerOptions": {
"module": "none",
"strict": true,
- "noLib": true,
+ "noLib": false,
+ "lib": ["ES5"],
"typeRoots": []
},
"exclude": ["node_modules"]
diff --git a/AfterEffects/18.0/package.json b/AfterEffects/18.0/package.json
new file mode 100644
index 00000000..41854509
--- /dev/null
+++ b/AfterEffects/18.0/package.json
@@ -0,0 +1,6 @@
+{
+ "name": "types-for-adobe/AfterEffects/18.0",
+ "version": "1.0.0",
+ "main": "index.d.ts",
+ "types": "index.d.ts"
+}
diff --git a/AfterEffects/18.0/tsconfig.json b/AfterEffects/18.0/tsconfig.json
index 169c0222..28d68ad9 100644
--- a/AfterEffects/18.0/tsconfig.json
+++ b/AfterEffects/18.0/tsconfig.json
@@ -2,7 +2,8 @@
"compilerOptions": {
"module": "none",
"strict": true,
- "noLib": true,
+ "noLib": false,
+ "lib": ["ES5"],
"typeRoots": []
},
"exclude": ["node_modules"]
diff --git a/AfterEffects/8.0/package.json b/AfterEffects/8.0/package.json
new file mode 100644
index 00000000..b7a4804f
--- /dev/null
+++ b/AfterEffects/8.0/package.json
@@ -0,0 +1,6 @@
+{
+ "name": "types-for-adobe/AfterEffects/8.0",
+ "version": "1.0.0",
+ "main": "index.d.ts",
+ "types": "index.d.ts"
+}
diff --git a/AfterEffects/8.0/tsconfig.json b/AfterEffects/8.0/tsconfig.json
index 169c0222..28d68ad9 100644
--- a/AfterEffects/8.0/tsconfig.json
+++ b/AfterEffects/8.0/tsconfig.json
@@ -2,7 +2,8 @@
"compilerOptions": {
"module": "none",
"strict": true,
- "noLib": true,
+ "noLib": false,
+ "lib": ["ES5"],
"typeRoots": []
},
"exclude": ["node_modules"]
diff --git a/AfterEffects/9.0/package.json b/AfterEffects/9.0/package.json
new file mode 100644
index 00000000..bb77331f
--- /dev/null
+++ b/AfterEffects/9.0/package.json
@@ -0,0 +1,6 @@
+{
+ "name": "types-for-adobe/AfterEffects/9.0",
+ "version": "1.0.0",
+ "main": "index.d.ts",
+ "types": "index.d.ts"
+}
diff --git a/AfterEffects/9.0/tsconfig.json b/AfterEffects/9.0/tsconfig.json
index 169c0222..28d68ad9 100644
--- a/AfterEffects/9.0/tsconfig.json
+++ b/AfterEffects/9.0/tsconfig.json
@@ -2,7 +2,8 @@
"compilerOptions": {
"module": "none",
"strict": true,
- "noLib": true,
+ "noLib": false,
+ "lib": ["ES5"],
"typeRoots": []
},
"exclude": ["node_modules"]
diff --git a/Animate/2013/package.json b/Animate/2013/package.json
new file mode 100644
index 00000000..6234b52b
--- /dev/null
+++ b/Animate/2013/package.json
@@ -0,0 +1,6 @@
+{
+ "name": "types-for-adobe/Animate/2013",
+ "version": "1.0.0",
+ "main": "index.d.ts",
+ "types": "index.d.ts"
+}
diff --git a/Animate/2013/tsconfig.json b/Animate/2013/tsconfig.json
index 169c0222..28d68ad9 100644
--- a/Animate/2013/tsconfig.json
+++ b/Animate/2013/tsconfig.json
@@ -2,7 +2,8 @@
"compilerOptions": {
"module": "none",
"strict": true,
- "noLib": true,
+ "noLib": false,
+ "lib": ["ES5"],
"typeRoots": []
},
"exclude": ["node_modules"]
diff --git a/Audition/2015.2/package.json b/Audition/2015.2/package.json
new file mode 100644
index 00000000..7a22eb67
--- /dev/null
+++ b/Audition/2015.2/package.json
@@ -0,0 +1,6 @@
+{
+ "name": "types-for-adobe/Audition/2015.2",
+ "version": "1.0.0",
+ "main": "index.d.ts",
+ "types": "index.d.ts"
+}
diff --git a/Audition/2015.2/tsconfig.json b/Audition/2015.2/tsconfig.json
index 169c0222..28d68ad9 100644
--- a/Audition/2015.2/tsconfig.json
+++ b/Audition/2015.2/tsconfig.json
@@ -2,7 +2,8 @@
"compilerOptions": {
"module": "none",
"strict": true,
- "noLib": true,
+ "noLib": false,
+ "lib": ["ES5"],
"typeRoots": []
},
"exclude": ["node_modules"]
diff --git a/Audition/2017/package.json b/Audition/2017/package.json
new file mode 100644
index 00000000..7b62dcf9
--- /dev/null
+++ b/Audition/2017/package.json
@@ -0,0 +1,6 @@
+{
+ "name": "types-for-adobe/Audition/2017",
+ "version": "1.0.0",
+ "main": "index.d.ts",
+ "types": "index.d.ts"
+}
diff --git a/Audition/2017/tsconfig.json b/Audition/2017/tsconfig.json
index 169c0222..28d68ad9 100644
--- a/Audition/2017/tsconfig.json
+++ b/Audition/2017/tsconfig.json
@@ -2,7 +2,8 @@
"compilerOptions": {
"module": "none",
"strict": true,
- "noLib": true,
+ "noLib": false,
+ "lib": ["ES5"],
"typeRoots": []
},
"exclude": ["node_modules"]
diff --git a/Audition/2018/package.json b/Audition/2018/package.json
new file mode 100644
index 00000000..f99cbc5d
--- /dev/null
+++ b/Audition/2018/package.json
@@ -0,0 +1,6 @@
+{
+ "name": "types-for-adobe/Audition/2018",
+ "version": "1.0.0",
+ "main": "index.d.ts",
+ "types": "index.d.ts"
+}
diff --git a/Audition/2018/tsconfig.json b/Audition/2018/tsconfig.json
index 169c0222..28d68ad9 100644
--- a/Audition/2018/tsconfig.json
+++ b/Audition/2018/tsconfig.json
@@ -2,7 +2,8 @@
"compilerOptions": {
"module": "none",
"strict": true,
- "noLib": true,
+ "noLib": false,
+ "lib": ["ES5"],
"typeRoots": []
},
"exclude": ["node_modules"]
diff --git a/Illustrator/2015.3/package.json b/Illustrator/2015.3/package.json
new file mode 100644
index 00000000..ae006fa1
--- /dev/null
+++ b/Illustrator/2015.3/package.json
@@ -0,0 +1,6 @@
+{
+ "name": "types-for-adobe/Illustrator/2015.3",
+ "version": "1.0.0",
+ "main": "index.d.ts",
+ "types": "index.d.ts"
+}
diff --git a/Illustrator/2015.3/tsconfig.json b/Illustrator/2015.3/tsconfig.json
index 169c0222..28d68ad9 100644
--- a/Illustrator/2015.3/tsconfig.json
+++ b/Illustrator/2015.3/tsconfig.json
@@ -2,7 +2,8 @@
"compilerOptions": {
"module": "none",
"strict": true,
- "noLib": true,
+ "noLib": false,
+ "lib": ["ES5"],
"typeRoots": []
},
"exclude": ["node_modules"]
diff --git a/InDesign/2015.3/package.json b/InDesign/2015.3/package.json
new file mode 100644
index 00000000..f3608174
--- /dev/null
+++ b/InDesign/2015.3/package.json
@@ -0,0 +1,6 @@
+{
+ "name": "types-for-adobe/InDesign/2015.3",
+ "version": "1.0.0",
+ "main": "index.d.ts",
+ "types": "index.d.ts"
+}
diff --git a/InDesign/2015.3/tsconfig.json b/InDesign/2015.3/tsconfig.json
index 33026c5d..82e568f1 100644
--- a/InDesign/2015.3/tsconfig.json
+++ b/InDesign/2015.3/tsconfig.json
@@ -2,7 +2,8 @@
"compilerOptions": {
"module": "none",
"strict": true,
- "noLib": true,
+ "noLib": false,
+ "lib": ["ES5"],
"typeRoots": []
},
"exclude": [
diff --git a/InDesign/2018/package.json b/InDesign/2018/package.json
new file mode 100644
index 00000000..999d6e90
--- /dev/null
+++ b/InDesign/2018/package.json
@@ -0,0 +1,6 @@
+{
+ "name": "types-for-adobe/InDesign/2018",
+ "version": "1.0.0",
+ "main": "index.d.ts",
+ "types": "index.d.ts"
+}
diff --git a/InDesign/2018/tsconfig.json b/InDesign/2018/tsconfig.json
index 33026c5d..82e568f1 100644
--- a/InDesign/2018/tsconfig.json
+++ b/InDesign/2018/tsconfig.json
@@ -2,7 +2,8 @@
"compilerOptions": {
"module": "none",
"strict": true,
- "noLib": true,
+ "noLib": false,
+ "lib": ["ES5"],
"typeRoots": []
},
"exclude": [
diff --git a/JavaScript/index.d.ts b/JavaScript/index.d.ts
new file mode 100644
index 00000000..4458eacc
--- /dev/null
+++ b/JavaScript/index.d.ts
@@ -0,0 +1,1307 @@
+///
+
+interface ObjectConstructor {
+ readonly prototype: Object
+
+ /**
+ * Creates and returns a new object of a given type.
+ * @param what The object type.
+ */
+ new(what: any): Object
+ (): any
+ (what: any): any
+
+ /**
+ * Reports whether an object is still valid.
+ * @param what The object to check.
+ */
+ isValid(what: Object): boolean
+}
+declare const Object: ObjectConstructor
+
+/**
+ * The base class of all JavaScript objects.
+ */
+interface Object {
+ /**
+ * Points to the constructor function that created this object.
+ * Note that this property is treated as an XML element in the XML class.
+ */
+ readonly constructor: Function
+
+ /**
+ * Points to the prototype object for this object.
+ * Note that this property is treated as an XML element in the XML class.
+ */
+ readonly prototype: Object
+
+ /**
+ * Retrieves and returns the Reflection object associated with this method or a property.
+ * Note that this property is treated as an XML element in the XML class.
+ */
+ readonly reflect: Reflection
+
+ /**
+ * Reports whether a given property is defined with an instance or within the prototype chain.
+ * @param name The name of the property to check.
+ */
+ hasOwnProperty(name: string): boolean
+
+ /**
+ * Checks whether the given object is a prototype of this object.
+ * @param what The object to check.
+ */
+ isPrototypeOf(what: Object): boolean
+
+ /**
+ * Reports whether a given property is enumerable.
+ * @param name The name of the property to check.
+ */
+ propertyIsEnumerable(name: string): boolean
+
+ /**
+ * Creates and returns a string representing this object, localized for the current locale. See toString().
+ */
+ toLocaleString(): string
+
+ /**
+ * Creates and returns a string representation of this object.
+ * This function serializes the object, so that it can, for example, be passed between engines. Pass the returned string back to eval() to recreate the object. Works only with built-in classes.
+ */
+ toSource(): string
+
+ /**
+ * Creates and returns a string representing this object.
+ * Many objects (such as Date) override this method in favor of their own implementation. If an object has no string value and no user-defined toString() method, the default method returns [object type], where type is the object type or the name of the constructor function that created the object.
+ */
+ toString(): string
+
+ /**
+ * Removes the watch function of a property.
+ * @param name The name of the property to unwatch.
+ */
+ unwatch(name: string): void
+
+ /**
+ * Retrieves and returns the primitive value of this object.
+ * If the object has no primitive value, returns the object itself.Note that you rarely need to call this method yourself.The JavaScript interpreter automatically invokes it when encountering an object where a primitive value is expected.
+ */
+ valueOf(): Object
+
+ /**
+ * Adds a watch function to a property, which is called when the value changes.
+ * This function can accept, modify, or reject a new value that the user, application, or a script has attempted to place in a property.
+ * @param name The name of the property to watch.
+ * @param func The function to be called when the value of this property changes. This function must three arguments, and return as its result the value to be stored in the property. The arguments are: name: the name of the property that changes. oldValue: The old property value. newValue: The new property value that was specified.
+ */
+ watch(name: string, func: Function): void
+}
+
+interface ArrayConstructor {
+ readonly prototype: Array
+
+ /**
+ * Creates and returns a new array.
+ * Takes any number of parameters, which become the elements of the array, or a single value which becomes the length of an empty array. Note that you cannot create a one-element array, as the single parameter value is interpreted as the length. Returns the new array.
+ * @param arrayLength If no other parameters are passed, the initial length of the empty array. Otherwise, the first element.
+ * @param values If there is more than one parameter, the array is initialized with the given parameters.
+ */
+ new(arrayLength?: number): any[]
+ new (arrayLength: number): T[]
+ new (...values: T[]): T[]
+ (arrayLength?: number): any[]
+ (arrayLength: number): T[]
+ (...values: T[]): T[]
+}
+declare const Array: ArrayConstructor
+
+/**
+ * An array with integer indexing and a length property.
+ */
+interface Array {
+ [n: number]: T
+
+ /**
+ * The length of the array
+ */
+ length: number
+
+ /**
+ * Returns a new array created by concatenating the given values to the end of the original array.
+ * The original array is unchanged.If an array is provided as a parameter to concat(), each of its elements are appended as separate array elements at the end of the new array.Returns a new array, the result of concatenation the given values to the end of the original array.
+ * @param values Any number of values to be added to the end of the array. Can also be arrays.
+ */
+ concat(...values: T[][]): T[]
+
+ /**
+ * Joins all elements of the array into a string; optionally, each element is separated by delimiter.
+ * Returns the string containing the joined elements and delimiters.
+ * @param delimiter A string used to separate each element of the array. If omitted, the array elements are separated with a comma.
+ */
+ join(delimiter?: string): string
+
+ /**
+ * Removes the last element from the array, decreases the length by 1, and returns the value of the element.
+ * Returns the value of the deleted array element.
+ */
+ pop(): T | undefined
+
+ /**
+ * Places one or more values onto the end of the array and increases length by n.
+ * Returns the new length of the array.
+ * @param values Any number of values to be pushed onto the end of the array.
+ */
+ push(...values: T[]): number
+
+ /**
+ * Reverses the order of the elements in the array.
+ * Returns the reversed array.
+ */
+ reverse(): T[]
+
+ /**
+ * Removes the first element from the array, decreases the length by 1, and returns the value of the element.
+ * Returns the value of the deleted array element.
+ */
+ shift(): T | undefined
+
+ /**
+ * Creates a new array, which contains a subset of the original array's elements.
+ * The slice begins with the index start, and continues up to, but not including the index, end.If start or end is a negative number, the indexed is resolved counting backwards from the end of the array resulting in the element array[array. length + negativeIndex]. Returns a new array containing elements array[start] through array[end-1].
+ */
+ slice(start?: number, end?: number): T[]
+
+ /**
+ * Sorts the elements of the array in place, using the given function to compare to elements.
+ * If no function is provided, the elements are sorted alphabetically.Returns no return value.
+ * @param userFunction A user-supplied function of the form userFunction(a, b) which returns less than 0 if a is greater than b, 0 if a and b are equal, and greater than 0 if b is greater than a.
+ */
+ sort(userFunction?: (a: T, b: T) => number): this
+
+ /**
+ * Removes num elements from the array beginning with index, start.
+ * Optionally insert new elements beginning at index start.To ensure contiguity, elements are moved up to fill in any gaps.Returns a new array containing any elements deleted from the original array.
+ * @param start The index of the first element to remove. Negative values are relative to the end of the array.
+ * @param deleteCount The number of array elements to remove, including start. If omitted, all elements from array index start to the end of the array are removed.
+ * @param values A list of one or more values to be added to the array starting at index start. Must specify a value for num, to use this argument.
+ */
+ splice(start: number, deleteCount?: number, ...values: T[]): T[]
+
+ /**
+ * Converts an array to a string and returns the string (localized).
+ */
+ toLocaleString(): string
+
+ /**
+ * Creates a string representation of this object that can be fed back to eval() to re-create an object. Works only with built-in classes.
+ */
+ toSource(): string
+
+ /**
+ * Converts an array to a string and returns the string.
+ * Yields the same result as array. join() when called without a parameter.Returns a comma-separated list of all the elements of the array.
+ */
+ toString(): string
+
+ /**
+ * Adds one or more elements to the beginning of the array.
+ * Returns the new array length.
+ * @param values The values of one or more elements to be added to the beginning of the array.
+ */
+ unshift(...values: T[]): number
+}
+
+/**
+ * A global object containing a set of math functions and constants.
+ */
+interface Math {
+ /**
+ * Euler's constant and the base of natural logarithms.
+ */
+ readonly E: number
+
+ /**
+ * The natural logarithm of 10.
+ */
+ readonly LN10: number
+
+ /**
+ * The natural logarithm of 2.
+ */
+ readonly LN2: number
+
+ /**
+ * The base 10 logarithm of e.
+ */
+ readonly LOG10E: number
+
+ /**
+ * The base 2 logarithm of e.
+ */
+ readonly LOG2E: number
+
+ /**
+ * The ratio of the circumference of a circle to its diameter.
+ */
+ readonly PI: number
+
+ /**
+ * The reciprocal of the square root of 1/2.
+ */
+ readonly SQRT1_2: number
+
+ /**
+ * The square root of 2.
+ */
+ readonly SQRT2: number
+
+ /**
+ * Returns the absolute value of a number.
+ * @param x A number.
+ */
+ abs(x: number): number
+
+ /**
+ * Returns the arc cosine(in radians) of a number.
+ * @param x A number.
+ */
+ acos(x: number): number
+
+ /**
+ * Returns the arc sin(in radians) of a number.
+ * @param x A number.
+ */
+ asin(x: number): number
+
+ /**
+ * Returns the arc tangent(in radians) of a number.
+ * @param x A number.
+ */
+ atan(x: number): number
+
+ /**
+ * Returns the arc tangent of the quotient of its arguments (y/x).
+ * @param y A number.
+ * @param x A number.
+ */
+ atan2(y: number, x: number): number
+
+ /**
+ * Rounds the number up to the nearest integer.
+ * @param x A number.
+ */
+ ceil(x: number): number
+
+ /**
+ * Returns the cosine of an angle provided in radians.
+ * @param x An angle, in radians.
+ */
+ cos(x: number): number
+
+ /**
+ * Returns Math.E raised to the power of a number.
+ * @param x A number.
+ */
+ exp(x: number): number
+
+ /**
+ * Rounds a number down to the nearest integer.
+ * @param x A number.
+ */
+ floor(x: number): number
+
+ /**
+ * Returns the natural logarithm of a number.
+ * @param x A number.
+ */
+ log(x: number): number
+
+ /**
+ * Returns the largest of zero or more numbers.
+ * @param rest Numbers.
+ */
+ max(...rest: number[]): number
+
+ /**
+ * Returns the smallest of zero or more numbers.
+ * @param rest Numbers.
+ */
+ min(...rest: number[]): number
+
+ /**
+ * Returns x raised to the power of y.
+ * @param x Numbers.
+ * @param y
+ */
+ pow(x: number, y: number): number
+
+ /**
+ * Returns a pseudo-random number from 0.0 up to but not including 1.0.
+ */
+ random(): number
+
+ /**
+ * Rounds a number to the nearest integer.
+ * @param x A number.
+ */
+ round(x: number): number
+
+ /**
+ * Returns the sine of an angle provided in radians.
+ * @param x An angle, in radians.
+ */
+ sin(x: number): number
+
+ /**
+ * Returns the square root of a number.
+ * @param x A number.
+ */
+ sqrt(x: number): number
+
+ /**
+ * Returns the tangent of an angle provided in radians.
+ * @param x An angle, in radians.
+ */
+ tan(x: number): number
+}
+declare const Math: Math
+
+interface DateConstructor {
+ readonly prototype: Date
+
+ /**
+ * Returns a new Date object holding the current date and time.
+ * If parameters are supplied, returns a new Date object holding the supplied date and time.
+ * @param year The year expressed in four digits.
+ * @param month An integer value from 0 (Jan) to 11 (Dec).
+ * @param day An integer value from 1 to 31, If this argument is not supplied, its value is set to 0.
+ * @param hours An integer value from 0 (midnight) to 23 (11 PM). If this argument is not supplied, its value is set to 0.
+ * @param min An integer value from 0 to 59. If this argument is not supplied, its value is set to 0.
+ * @param sec An Integer value from 0 to 59. If this argument is not supplied, its value is set to 0.
+ * @param ms An integer value from 0 to 999. If this argument is not supplied, its value is set to 0.
+ */
+ new(): Date
+ new(value: number): Date
+ new(value: string): Date
+ new(
+ year: number,
+ month: number,
+ day?: number,
+ hours?: number,
+ min?: number,
+ sec?: number,
+ ms?: number,
+ ): Date
+
+ /**
+ * Parses a string, returning a new Date object. The string should be similar to the string returned bt toString().
+ * @param text The string to parse.
+ */
+ parse(text: string): Date
+
+ /**
+ * Returns the number of milliseconds between midnight January 1, 1970, UTC, and the specified time.
+ * @param year The year expressed in four digits, for example, 2001. To indicate for a year from 1900 to 1999, you can specify a value from 0 to 99.
+ * @param month An integer value from 0 (Jan) to 11 (Dec).
+ * @param day An integer value from 1 to 31, If this argument is not supplied, its value is set to 0.
+ * @param hours An integer value from 0 (midnight) to 23 (11 PM). If this argument is not supplied, its value is set to 0.
+ * @param min An integer value from 0 to 59. If this argument is not supplied, its value is set to 0.
+ * @param sec An Integer value from 0 to 59. If this argument is not supplied, its value is set to 0.
+ * @param ms An integer value from 0 to 999. If this argument is not supplied, its value is set to 0.
+ */
+ UTC(
+ year: number,
+ month?: number,
+ day?: number,
+ hours?: number,
+ min?: number,
+ sec?: number,
+ ms?: number,
+ ): Date
+}
+declare const Date: DateConstructor
+
+/**
+ * A date/time object.
+ */
+interface Date {
+ /**
+ * Returns the day of the month of the specified Date object in local time.
+ */
+ getDate(): number
+
+ /**
+ * Returns the day of the week for the specified Date object in local time.
+ * This is an integer from 0 (Sunday) to 6 (Saturday).Returns the day of the week for date.
+ */
+ getDay(): number
+
+ /**
+ * Returns the four digit year of the specified Date object in local time.
+ */
+ getFullYear(): number
+
+ /**
+ * Returns the hour of the specified Date object in local time.
+ */
+ getHours(): number
+
+ /**
+ * Returns the milliseconds of the specified Date object in local time.
+ */
+ getMilliseconds(): number
+
+ /**
+ * Returns the minutes of the specified Date object in local time.
+ */
+ getMinutes(): number
+
+ /**
+ * Returns the month of the specified Date object in local time.
+ */
+ getMonth(): number
+
+ /**
+ * Returns the seconds of the specified Date object in local time.
+ */
+ getSeconds(): number
+
+ /**
+ * Returns the number of milliseconds since midnight January 1,1970 UTC for the specified Date object.
+ */
+ getTime(): number
+
+ /**
+ * Returns the difference in minutes between the computer's local time and UTC.
+ */
+ getTimezoneOffset(): number
+
+ /**
+ * Returns the day of the month of the specified Date object according to UTC.
+ */
+ getUTCDate(): number
+
+ /**
+ * Returns the day of the week for the specified Date object according to UTC.
+ */
+ getUTCDay(): number
+
+ /**
+ * Returns the four digit year of the specified Date object according to UTC.
+ */
+ getUTCFullYear(): number
+
+ /**
+ * Returns the hour of the specified Date object according to UTC.
+ */
+ getUTCHours(): number
+
+ /**
+ * Returns the milliseconds of the specified Date object according to UTC.
+ */
+ getUTCMilliseconds(): number
+
+ /**
+ * Returns the minutes of the specified Date object according to UTC.
+ */
+ getUTCMinutes(): number
+
+ /**
+ * Returns the month of the specified Date object according to UTC.
+ */
+ getUTCMonth(): number
+
+ /**
+ * Returns the seconds of the specified Date object according to UTC.
+ */
+ getUTCSeconds(): number
+
+ /**
+ * Returns the year of the specified Date object, as a difference from 1900, in local time.
+ */
+ getYear(): number
+
+ /**
+ * Sets the day of the month of a specified Date object according to local time.
+ * Returns the number of milliseconds between the new date and midnight, January 1, 1970.
+ * @param date An integer from 1 to 31 indicating the day of the month.
+ */
+ setDate(date: number): number
+
+ /**
+ * Sets the year of a specified Date object according to local time.
+ * This method can also set month and date if those arguments are specified. Returns the number of milliseconds between the new date and midnight, January 1, 1970.
+ * @param year A four-digit integer value indicating the year to set.
+ */
+ setFullYear(year: number): number
+
+ /**
+ * Sets the hours of a specified Date object according to local time.
+ * Returns the number of milliseconds between the new date and midnight, January 1, 1970.
+ * @param hour An integer value from 0 (midnight) to 23 (11 PM).
+ */
+ setHours(hour: number): number
+
+ /**
+ * Sets the milliseconds of a specified Date object according to local time.
+ * Returns the number of milliseconds between the new date and midnight, January 1, 1970.
+ * @param ms An integer value from 0 to 999.
+ */
+ setMilliseconds(ms: number): number
+
+ /**
+ * Sets the minutes of a specified Date object according to local time.
+ * Returns the number of milliseconds between the new date and midnight, January 1, 1970.
+ * @param minutes An integer value from 0 to 59.
+ */
+ setMinutes(minutes: number): number
+
+ /**
+ * Sets the month of a specified Date object according to local time.
+ * Returns the number of milliseconds between the new date and midnight, January 1, 1970.
+ * @param month An integer value from 0 (Jan) to 11 (Dec).
+ */
+ setMonth(month: number): number
+
+ /**
+ * Sets the seconds of a specified Date object according to local time.
+ * Returns the number of milliseconds between the new date and midnight, January 1, 1970.
+ * @param seconds An integer value from 0 to 59.
+ */
+ setSeconds(seconds: number): number
+
+ /**
+ * Sets the date of a specified Date object in milliseconds since midnight, January 1, 1970.
+ * Returns the value of ms.
+ * @param ms An integer indicating the number of milliseconds between the date set and midnight, January 1, 1970.
+ */
+ setTime(ms: number): number
+
+ /**
+ * Sets the date of a specified Date object according to universal time.
+ * Returns the number of milliseconds between the new date and midnight, January 1, 1970 in UTC time.
+ * @param date An integer from 1 to 31 indicating the day of the month.
+ */
+ setUTCDate(date: number): number
+
+ /**
+ * Sets the year of a specified Date object according to UTC, can also set the month and date.
+ * Returns the number of milliseconds between the date set and midnight, January 1, 1970, in UTC.
+ * @param year The year expressed in four digits.
+ */
+ setUTCFullYear(year: number): number
+
+ /**
+ * Sets the hours of a specified Date object according to UTC.
+ * Returns the number of milliseconds between the date set and midnight, January 1, 1970, in UTC.
+ * @param hours An integer value from 0 (midnight) to 23 (11 PM) indicating the hour to be set.
+ */
+ setUTCHours(hours: number): number
+
+ /**
+ * Sets the milliseconds of a specified Date object according to UTC.
+ * Returns the number of milliseconds between the date set and midnight, January 1, 1970, in UTC.
+ * @param ms An integer value in the range of 0 to 999 indicating the number of milliseconds to set.
+ */
+ setUTCMilliseconds(ms: number): number
+
+ /**
+ * Sets the minutes of a specified Date object according to UTC.
+ * Returns the number of milliseconds between the date set and midnight, January 1, 1970, in UTC.
+ * @param min An integer value in the range 0 to 59 indicating the number of minutes to be set.
+ */
+ setUTCMinutes(min: number): number
+
+ /**
+ * Sets the month of a specified Date object according to UTC.
+ * Returns the number of milliseconds between the date set and midnight, January 1, 1970, in UTC.
+ * @param month An integer value in the range 0 (Jan.) to 11 (Dec.) indicating the month to set.
+ */
+ setUTCMonth(month: number): number
+
+ /**
+ * Sets the seconds of a specified Date object according to UTC.
+ * Returns the number of milliseconds between the date set and midnight, January 1, 1970, in UTC.
+ * @param sec An integer value in the range 0 to 59 indicating the number of seconds to set.
+ */
+ setUTCSeconds(sec: number): number
+
+ /**
+ * Sets the year of a specified Date object according to local time, as a difference between the current year and 1900.
+ * Returns the number of milliseconds between the date set and midnight, January 1, 1970.
+ * @param year An integer value indicating the year to set. The method interprets a 1- or 2- digit value to mean the 1900s; for example, 13 is interpreted to mean 1913.
+ */
+ setYear(year: number): number
+
+ /**
+ * Returns the date as a string.
+ */
+ toDateString(): string
+
+ /**
+ * Returns the date and time adjusted to GMT (UTC) as a string.
+ */
+ toGMTString(): string
+
+ /**
+ * Returns the date as a localized string.
+ */
+ toLocaleDateString(): string
+
+ /**
+ * Returns a string value representing the date and time stored in the Date object in human readable format (localized).
+ */
+ toLocaleString(): string
+
+ /**
+ * Returns the time as a localized string.
+ */
+ toLocaleTimeString(): string
+
+ /**
+ * Creates a string representation of this object that can be fed back to eval() to re-create an object. Works only with built-in classes.
+ */
+ toSource(): string
+
+ /**
+ * Returns a string value representing the date and time stored in the Date object in human readable format.
+ * Returns the following string is an example of the format returned by this method: Mon Aug 13, 10:54:21 GMT-0700 2001.
+ */
+ toString(): string
+
+ /**
+ * Returns the time as a string.
+ */
+ toTimeString(): string
+
+ /**
+ * Returns the date and time adjusted to UTC as a string.
+ */
+ toUTCString(): string
+
+ /**
+ * The valueOf() method returns the number of milliseconds that have passed since midnight, Returns an integer.
+ */
+ valueOf(): number
+}
+
+interface FunctionConstructor {
+ readonly prototype: Function
+
+ /**
+ * The Function constructor parses the argument list and creates a Function object.
+ * @param arguments The list of formal arguments, separated by commas. The formal arguments can also be supplied one by one; in this case, the last argument to the Function constructor is considered to be the function body.
+ * @param body The body of the function to create.
+ */
+ new(arguments: string, body: string): Function
+ (arguments: string, body: string): Function
+}
+declare const Function: FunctionConstructor
+
+/**
+ * Wraps a built-in or JavaScript function.
+ */
+interface Function {
+ /**
+ * The function arguments, packed into an array.
+ * This property is deprecated; use the arguments property within the function body.
+ */
+ arguments: object
+
+ /**
+ * The number of formal arguments.
+ * This property is deprecated; use the length property instead.
+ */
+ readonly arity: number
+
+ /**
+ * The number of formal arguments.
+ */
+ readonly length: number
+
+ /**
+ * The function name.
+ */
+ readonly name: string
+
+ /**
+ * Apply a this object and an argument list to a function.
+ * This function is different from call(); here, the arguments are suppliedas an Array object.
+ * @param thisObj The object to be used as this.
+ * @param args An array of arguments.
+ */
+ apply(thisObj: object, args: any): any
+
+ /**
+ * Apply a this object and arguments to a function.
+ * This function is different from apply(); here, the arguments are supplied one by one.
+ * @param thisObj The object to be used as this.
+ * @param arguments The first agument to the function. Add as many as needed.
+ */
+ call(thisObj: object, ...arguments: any[]): any
+
+ /**
+ * Creates a string representation of this object that can be fed back to eval() to re-create an object. Works only with JavaScript functions.
+ */
+ toSource(): string
+
+ /**
+ * Returns the function definition as a string.
+ */
+ toString(): string
+}
+
+interface StringConstructor {
+ readonly prototype: String
+
+ /**
+ * Returns a string representation of the value given as an argument.
+ * @param value A number, variable, or object to convert to a string.
+ */
+ new(value?: any): String
+ (value: any): string
+
+ /**
+ * Returns a string created by concatenation one or more characters specified as ASCII values.
+ * @param value1 One or more ASCII values.
+ */
+ fromCharCode(value1: number): string
+}
+declare const String: StringConstructor
+
+/**
+ * A character string. Each character is adressable by index.
+ */
+interface String {
+ /**
+ * The length of the string.
+ */
+ readonly length: number
+
+ /**
+ * Get character at index.
+ */
+ readonly [index: number]: string
+
+ /**
+ * Returns a string consisting of this string enclosed in a tag.
+ * @param name The text to be stored in the anchors' name attribute.
+ */
+ anchor(name: string): string
+
+ /**
+ * Returns a string consisting of this string enclosed in a tag.
+ */
+ big(): string
+
+ /**
+ * Returns a string consisting of this string enclosed in a