diff --git a/.eslintignore b/.eslintignore
index 44ccaa3..2cb6327 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -2,4 +2,5 @@
 test/integration/defaultValues/**/*.ts
 test/integration/entityTypes/**/*.ts
 test/integration/examples/**/*.ts
-test/integration/github-issues/**/*.ts
\ No newline at end of file
+test/integration/github-issues/**/*.ts
+dist/**/*.d.ts
diff --git a/package.json b/package.json
index 4ec7766..d8df90b 100644
--- a/package.json
+++ b/package.json
@@ -3,13 +3,15 @@
   "version": "0.3.5",
   "description": "Generates models for TypeORM from existing databases.",
   "bin": "bin/typeorm-model-generator",
+  "main": "./dist/src/library.js",
+  "types": "./dist/src/library.d.ts",
   "scripts": {
     "start": "ts-node ./src/index.ts",
     "build": "npm run clean && tsc && ncp src/templates/ dist/src/templates/ && ncp package.json dist/package.json",
     "prepare": "npm run build",
     "pretest": "tsc --noEmit",
     "test": "nyc --reporter=lcov ts-node ./node_modules/mocha/bin/_mocha test/**/*.test.ts  -- --bail",
-    "posttest": "eslint ./**/*.ts ./src/**/*.ts  ./test/**/*.ts",
+    "posttest": "eslint ./src/**/*.ts  ./test/**/*.ts",
     "clean": "rimraf coverage output dist",
     "prettier": "prettier --write ./src/*.ts ./src/**/*.ts"
   },
diff --git a/src/library.ts b/src/library.ts
new file mode 100644
index 0000000..a7d8584
--- /dev/null
+++ b/src/library.ts
@@ -0,0 +1,18 @@
+import * as Engine from "./Engine";
+import * as IConnectionOptions from "./IConnectionOptions";
+import * as IGenerationOptions from "./IGenerationOptions";
+import * as NamingStrategy from "./NamingStrategy";
+import * as Utils from "./Utils";
+
+export { Column } from "./models/Column";
+export { Entity } from "./models/Entity";
+export { Index } from "./models/Index";
+export { Relation } from "./models/Relation";
+export { RelationId } from "./models/RelationId";
+export {
+    Engine,
+    IConnectionOptions,
+    IGenerationOptions,
+    NamingStrategy,
+    Utils
+};
diff --git a/tsconfig.json b/tsconfig.json
index 3c6e9eb..2db14d9 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -6,7 +6,7 @@
     "emitDecoratorMetadata": true,
     "experimentalDecorators": true,
     "sourceMap": true,
-    "declaration": false,
+    "declaration": true,
     "noFallthroughCasesInSwitch": true,
     "noImplicitReturns": true,
     "stripInternal": true,