diff --git a/flat/flat-tests.ts b/flat/flat-tests.ts
new file mode 100644
index 0000000000..b6909cdb1a
--- /dev/null
+++ b/flat/flat-tests.ts
@@ -0,0 +1,57 @@
+///
+
+import {flatten, unflatten} from "flat";
+
+module TestFlatten {
+ let options: {
+ delimiter?: string;
+ safe?: boolean;
+ maxDepth?: number;
+ };
+
+ type Target = {
+ a: {
+ b: number;
+ },
+ c: boolean[][];
+ };
+
+ let target: Target;
+
+ type Result = {
+ 'a.b': number;
+ 'c.0.0': boolean;
+ };
+
+ let result: Result;
+
+ result = flatten(target);
+ result = flatten(target, options);
+}
+
+module TestUnflatten {
+ let options: {
+ delimiter?: string;
+ object?: boolean;
+ overwrite?: boolean;
+ };
+
+ type Target = {
+ 'a.b': number;
+ 'c.0.0': boolean;
+ };
+
+ let target: Target;
+
+ type Result = {
+ a: {
+ b: number;
+ },
+ c: boolean[][];
+ };
+
+ let result: Result;
+
+ result = unflatten(target);
+ result = unflatten(target, options);
+}