diff --git a/random-seed/random-seed-tests.ts b/random-seed/random-seed-tests.ts
new file mode 100644
index 0000000000..9cbfda6766
--- /dev/null
+++ b/random-seed/random-seed-tests.ts
@@ -0,0 +1,20 @@
+///
+import * as gen from "random-seed";
+
+// these generators produce different numbers
+let rand1 = gen.create(); // method 1
+let rand2 = gen(); // method 3
+
+// these generators will produce
+// the same sequence of numbers
+let seed = 'My Secret String Value';
+let rand3 = gen.create(seed);
+let rand4 = gen(seed);
+
+// API
+rand1.addEntropy();
+rand1.random();
+rand1.range(100);
+rand1.intBetween(0, 10);
+rand1.floatBetween(0, 1);
+rand1.seed("new seed");
diff --git a/random-seed/random-seed.d.ts b/random-seed/random-seed.d.ts
new file mode 100644
index 0000000000..e459a89cf8
--- /dev/null
+++ b/random-seed/random-seed.d.ts
@@ -0,0 +1,33 @@
+// Type definitions for random-seed 0.3.0
+// Project: https://github.com/skratchdot/random-seed/
+// Definitions by: Endel Dreyer
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+
+declare module "random-seed" {
+
+ interface RandomSeed {
+ range (range: number): number;
+ random (): number;
+ floatBetween (min: number, max: number): number;
+ intBetween (min: number, max: number): number;
+
+ string (count: number): string;
+ seed (seed: string): void;
+
+ cleanString (inStr: string): string;
+ hashString (inStr: string): string;
+
+ addEntropy (...args: any[]): void;
+ initState (): void;
+
+ done (): void;
+ }
+
+ function create (seed?: string): RandomSeed;
+
+ namespace create {
+ function create(seed?: string): RandomSeed;
+ }
+
+ export = create;
+}