import * as Frames from "../definitions/FrameDirectory";
import {Attributes, RequestContext} from "./SkillContext";

export class Frame {
    constructor(id: string, entry: ReturnsResponseContext, unhandled: ReturnsFrame, FrameMap: ActionMap) {
        this.id = id;
        this.entry = entry;
        this.actions = FrameMap;
        this.unhandled = unhandled;

        Frames[id] = this;
    }

    id: string;

    entry: ReturnsResponseContext;

    unhandled: ReturnsFrame;

    actions: ActionMap;
}

export class ResponseContext {
    constructor(model: ResponseModel) {
        this.model = model;
    }

    model: ResponseModel;
}

export class ResponseModel {
    speech: string;
    reprompt: string;
}

export interface ReturnsResponseContext {
    (Attributes: Attributes, Context?: RequestContext): ResponseContext | Promise<ResponseContext>;
}

export interface ActionMap {
    [key: string]: ReturnsFrame | undefined;
}

export interface ReturnsFrame {
    (Attributes: Attributes, Context?: RequestContext): Frame | Promise<Frame>;
}
import {Context} from "./SkillContext";
let Frames = require("../definitions/FrameDirectory");

namespace Handlers {

    export class Frame {
        constructor(id: string, entry: ReturnsResponseContext, unhandled: ReturnsFrame, FrameMap: ActionMap) {
            this.id = id;
            this.entry = entry;
            this.actions = FrameMap;
            this.unhandled = unhandled;

            Frames[id] = this;
        }

        id: string;

        entry: ReturnsResponseContext;

        unhandled: ReturnsFrame;

        actions: ActionMap;
    }

    export class ResponseContext {
        constructor(model: ResponseModel) {
            this.model = model;
        }

        model: ResponseModel;
    }

    export class ResponseModel {
        speech: string;
        reprompt: string;
    }

    export interface ReturnsResponseContext {
        (Context: Context): ResponseContext | Promise<ResponseContext>;
    }

    export interface ActionMap {
        [key: string]: ReturnsFrame | undefined;
    }

    export interface ReturnsFrame {
        (Context: Context): Frame | Promise<Frame>;
    }
}

export = Handlers;
--- 
+++ 
@@ -1,51 +1,46 @@
-import {Context} from "./SkillContext";
-let Frames = require("../definitions/FrameDirectory");
+import * as Frames from "../definitions/FrameDirectory";
+import {Attributes, RequestContext} from "./SkillContext";
 
-namespace Handlers {
+export class Frame {
+    constructor(id: string, entry: ReturnsResponseContext, unhandled: ReturnsFrame, FrameMap: ActionMap) {
+        this.id = id;
+        this.entry = entry;
+        this.actions = FrameMap;
+        this.unhandled = unhandled;
 
-    export class Frame {
-        constructor(id: string, entry: ReturnsResponseContext, unhandled: ReturnsFrame, FrameMap: ActionMap) {
-            this.id = id;
-            this.entry = entry;
-            this.actions = FrameMap;
-            this.unhandled = unhandled;
-
-            Frames[id] = this;
-        }
-
-        id: string;
-
-        entry: ReturnsResponseContext;
-
-        unhandled: ReturnsFrame;
-
-        actions: ActionMap;
+        Frames[id] = this;
     }
 
-    export class ResponseContext {
-        constructor(model: ResponseModel) {
-            this.model = model;
-        }
+    id: string;
 
-        model: ResponseModel;
+    entry: ReturnsResponseContext;
+
+    unhandled: ReturnsFrame;
+
+    actions: ActionMap;
+}
+
+export class ResponseContext {
+    constructor(model: ResponseModel) {
+        this.model = model;
     }
 
-    export class ResponseModel {
-        speech: string;
-        reprompt: string;
-    }
-
-    export interface ReturnsResponseContext {
-        (Context: Context): ResponseContext | Promise<ResponseContext>;
-    }
-
-    export interface ActionMap {
-        [key: string]: ReturnsFrame | undefined;
-    }
-
-    export interface ReturnsFrame {
-        (Context: Context): Frame | Promise<Frame>;
-    }
+    model: ResponseModel;
 }
 
-export = Handlers;
+export class ResponseModel {
+    speech: string;
+    reprompt: string;
+}
+
+export interface ReturnsResponseContext {
+    (Attributes: Attributes, Context?: RequestContext): ResponseContext | Promise<ResponseContext>;
+}
+
+export interface ActionMap {
+    [key: string]: ReturnsFrame | undefined;
+}
+
+export interface ReturnsFrame {
+    (Attributes: Attributes, Context?: RequestContext): Frame | Promise<Frame>;
+}
Use imports instead of require. Remove unnecessary namespace.
