diff --git a/katex/katex-tests.ts b/katex/katex-tests.ts
new file mode 100644
index 0000000000..9829fcddf7
--- /dev/null
+++ b/katex/katex-tests.ts
@@ -0,0 +1,18 @@
+///
+
+import katexLib = require('katex');
+
+class KatexTest {
+ constructor() {
+ katexLib.render('My Latex String', document.createElement('div'));
+
+ try {
+ let options: katexLib.KatexOptions = { breakOnUnsupportedCmds: true };
+ let value: string = katexLib.renderToString('My Latex String', options);
+ } catch (error) {
+ if (error instanceof katexLib.ParseError) {
+ //do something with this error
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/katex/katex.d.ts b/katex/katex.d.ts
new file mode 100644
index 0000000000..6d139ded13
--- /dev/null
+++ b/katex/katex.d.ts
@@ -0,0 +1,33 @@
+// Type definitions for KaTeX v.0.5.0
+// Project: http://khan.github.io/KaTeX/
+// Definitions by: Michael Randolph
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+declare module "katex" {
+ interface KatexOptions {
+ displayMode?: boolean;
+ breakOnUnsupportedCmds?: boolean;
+ errorColor?: string;
+ }
+
+ class ParseError implements Error {
+ constructor(message: string, lexer: any, position: number);
+ name: string;
+ message: string;
+ position: number;
+ }
+
+ /**
+ * Renders a TeX expression into the specified DOM element
+ * @param tex A TeX expression
+ * @param element The DOM element to render into
+ * @param options KaTeX options
+ */
+ function render(tex: string, element: HTMLElement, options?:KatexOptions): void;
+ /**
+ * Renders a TeX expression into an HTML string
+ * @param tex A TeX expression
+ * @param options KaTeX options
+ */
+ function renderToString(tex: string, options?:KatexOptions): string;
+}
\ No newline at end of file