diff --git a/aws-serverless-express/aws-serverless-express-tests.ts b/aws-serverless-express/aws-serverless-express-tests.ts
new file mode 100644
index 0000000000..6a0d7694d9
--- /dev/null
+++ b/aws-serverless-express/aws-serverless-express-tests.ts
@@ -0,0 +1,29 @@
+///
+///
+
+import * as awsServerlessExpress from 'aws-serverless-express';
+import * as express from 'express';
+
+const app = express();
+const server = awsServerlessExpress.createServer(app, () => {});
+
+const mockEvent = {
+ key: 'value'
+};
+
+const mockContext = {
+ callbackWaitsForEmptyEventLoop: true,
+ functionName: 'testFunction',
+ functionVersion: '1',
+ invokedFunctionArn: 'arn',
+ memoryLimitInMB: 128,
+ awsRequestId: 'id',
+ logGroupName: 'group',
+ logStreamName: 'stream',
+ getRemainingTimeInMillis: () => 2000,
+ done: () => false,
+ fail: (error: any) => false,
+ succeed: (message: string) => false
+};
+
+awsServerlessExpress.proxy(server, mockEvent, mockContext);
diff --git a/aws-serverless-express/aws-serverless-express.d.ts b/aws-serverless-express/aws-serverless-express.d.ts
new file mode 100644
index 0000000000..50aa0e1a0b
--- /dev/null
+++ b/aws-serverless-express/aws-serverless-express.d.ts
@@ -0,0 +1,24 @@
+// Type definitions for aws-serverless-express
+// Project: https://github.com/awslabs/aws-serverless-express
+// Definitions by: Ben Speakman
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+
+///
+///
+
+declare module 'aws-serverless-express' {
+
+ import * as http from 'http';
+ import * as lambda from 'aws-lambda';
+
+ export function createServer(
+ requestListener: (request: http.IncomingMessage, response: http.ServerResponse) => http.Server,
+ serverListenCallback?: () => any
+ ): http.Server;
+
+ export function proxy(
+ server: http.Server,
+ event: any,
+ context: lambda.Context
+ ): void;
+}