diff --git a/bezier-easing/bezier-easing-tests.ts b/bezier-easing/bezier-easing-tests.ts
new file mode 100644
index 000000000..eab1fb4f1
--- /dev/null
+++ b/bezier-easing/bezier-easing-tests.ts
@@ -0,0 +1,21 @@
+///
+
+function test_create_from_array() {
+ let easing: BezierEasing = BezierEasing([0, 0, 1, 0.5]);
+}
+
+function test_create_from_params() {
+ let easing: BezierEasing = BezierEasing(0, 0, 1, 0.5);
+}
+
+function test_create_from_builtins() {
+ let easing: BezierEasing = BezierEasing.css['ease-in'];
+}
+
+function test_methods() {
+ let easing: BezierEasing = BezierEasing.css['ease-in'];
+ let easedRatio: number = easing.get(0.5);
+ let points: Array = easing.getPoints();
+ let stringified: string = easing.toString();
+ let asCSS: string = easing.toCSS();
+}
diff --git a/bezier-easing/bezier-easing.d.ts b/bezier-easing/bezier-easing.d.ts
new file mode 100644
index 000000000..695368e7a
--- /dev/null
+++ b/bezier-easing/bezier-easing.d.ts
@@ -0,0 +1,24 @@
+// Type definitions for bezier-easing
+// Project: https://github.com/gre/bezier-easing
+// Definitions by: brian ridley
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+
+declare interface BezierEasing {
+ get(ratio: number): number;
+ getPoints(): Array;
+ toString(): string;
+ toCSS(): string;
+}
+
+declare function BezierEasing(points: Array): BezierEasing;
+declare function BezierEasing(a: number, b: number, c: number, d: number): BezierEasing;
+
+declare namespace BezierEasing {
+ let css: {
+ 'ease': BezierEasing,
+ 'linear': BezierEasing,
+ 'ease-in': BezierEasing,
+ 'ease-out': BezierEasing,
+ 'ease-in-out': BezierEasing
+ };
+}