diff --git a/lestate/lestate-tests.ts b/lestate/lestate-tests.ts
new file mode 100644
index 000000000..9a007c68d
--- /dev/null
+++ b/lestate/lestate-tests.ts
@@ -0,0 +1,20 @@
+///
+
+let State = LeState.createState()
+
+State.set({
+ test : {}
+})
+
+let currentState = State.get()
+
+State.insert({
+ test : {}
+})
+
+let currentDescription = State.getDescription()
+
+State.createListener({
+ id : 0,
+ selector : state => ({ test : state.test })
+})
diff --git a/lestate/lestate.d.ts b/lestate/lestate.d.ts
new file mode 100644
index 000000000..d36a137eb
--- /dev/null
+++ b/lestate/lestate.d.ts
@@ -0,0 +1,27 @@
+// Type definitions for LeState v0.1.3
+// Project: https://github.com/LeTools/LeState
+// Definitions by: Hadrian Oliveira
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+declare let LeState : {
+ createState: (props?: {
+ initialState: {};
+ }) => {
+ set(newValue: {}): [{
+ id: number;
+ state: {};
+ }];
+ get(): any;
+ insert(newValue: {}): void;
+ getDescription(): {};
+ createListener({ id, selector, force }: {
+ id: number;
+ selector: (state :any) => {};
+ force?: boolean;
+ }): void;
+ };
+};
+
+declare module "lestate" {
+ export default LeState;
+}