diff --git a/axios/axios-tests.ts b/axios/axios-tests.ts
new file mode 100644
index 0000000000..a11421e19e
--- /dev/null
+++ b/axios/axios-tests.ts
@@ -0,0 +1,23 @@
+///
+
+interface InputBody {
+ random: number;
+}
+
+interface Repository {
+ id: number;
+ name: string;
+}
+
+function convenientGet () {
+ axios.get("https://api.github.com/repos/mzabriskie/axios")
+ .then(r => console.log(r.config.data.random));
+}
+
+function get() {
+ axios({
+ url: "https://api.github.com/repos/mzabriskie/axios",
+ method: Axios.HTTPMethod.GET,
+ headers: {},
+ }).then(r => console.log("ID:" + r.data.id + " Name: " + r.data.name));
+}
\ No newline at end of file
diff --git a/axios/axios.d.ts b/axios/axios.d.ts
new file mode 100644
index 0000000000..5455ba167d
--- /dev/null
+++ b/axios/axios.d.ts
@@ -0,0 +1,163 @@
+// Type definitions for axios 0.5.2
+// Project: https://github.com/mzabriskie/axios
+// Definitions by: Marcel Buesing
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+///
+
+declare module Axios {
+ export enum HTTPMethod { GET, PUT, POST, DELETE, CONNECT, HEAD, OPTIONS, TRACE, PATCH }
+ export enum ResponseType { arraybuffer, blob, document, json, text }
+
+ /**
+ * - request body data type
+ */
+ interface AxiosXHRConfigBase {
+
+ /**
+ * Change the request data before it is sent to the server.
+ * This is only applicable for request methods 'PUT', 'POST', and 'PATCH'
+ * The last function in the array must return a string or an ArrayBuffer
+ */
+ transformRequest?: (data:T) => U;
+
+ /**
+ * change the response data to be made before it is passed to then/catch
+ */
+ transformResponse?: (data:T) => U;
+
+ /**
+ * custom headers to be sent
+ */
+ headers?: Object;
+
+ /**
+ * URL parameters to be sent with the request
+ */
+ params?: Object;
+
+ /**
+ * indicates whether or not cross-site Access-Control requests
+ * should be made using credentials
+ */
+ withCredentials?: boolean;
+
+ /**
+ * indicates the type of data that the server will respond with
+ * options are 'arraybuffer', 'blob', 'document', 'json', 'text'
+ */
+ responseType?: Axios.ResponseType;
+
+ /**
+ * name of the cookie to use as a value for xsrf token
+ */
+ xsrfCookieName?: string;
+
+ /**
+ * name of the http header that carries the xsrf token value
+ */
+ xsrfHeaderName?: string;
+
+ }
+
+ /**
+ * - request body data type
+ */
+ interface AxiosXHRConfig extends AxiosXHRConfigBase {
+ /**
+ * server URL that will be used for the request
+ */
+ url: string;
+
+ /**
+ * request method to be used when making the request
+ */
+ method?: Axios.HTTPMethod;
+
+ /**
+ * data to be sent as the request body
+ * Only applicable for request methods 'PUT', 'POST', and 'PATCH'
+ * When no `transformRequest` is set, must be a string, an ArrayBuffer or a hash
+ */
+ data?: T;
+ }
+
+ /**
+ * - expected response type,
+ * - request body data type
+ */
+ interface AxiosXHR {
+ /**
+ * Response that was provided by the server
+ */
+ data: T;
+
+ /**
+ * HTTP status code from the server response
+ */
+ status: number;
+
+ /**
+ * HTTP status message from the server response
+ */
+ statusText: string;
+
+ /**
+ * headers that the server responded with
+ */
+ headers: Object;
+
+ /**
+ * config that was provided to `axios` for the request
+ */
+ config: AxiosXHRConfig;
+ }
+
+ /**
+ * - expected response type,
+ * - request body data type
+ */
+ interface AxiosStatic {
+
+ (config: AxiosXHRConfig): Promise>;
+
+ new (config: AxiosXHRConfig): Promise>;
+
+ /**
+ * convenience alias, method = GET
+ */
+ get(url: string, config?: AxiosXHRConfigBase): Promise>;
+
+
+ /**
+ * convenience alias, method = DELETE
+ */
+ delete(url: string, config?: AxiosXHRConfigBase): Promise>;
+
+ /**
+ * convenience alias, method = HEAD
+ */
+ head(url: string, config?: AxiosXHRConfigBase): Promise>;
+
+ /**
+ * convenience alias, method = POST
+ */
+ post(url: string, data?: any, config?: AxiosXHRConfigBase): Promise>;
+
+ /**
+ * convenience alias, method = PUT
+ */
+ put(url: string, data?: any, config?: AxiosXHRConfigBase): Promise>;
+
+ /**
+ * convenience alias, method = PATCH
+ */
+ patch(url: string, data?: any, config?: AxiosXHRConfigBase): Promise>;
+ }
+}
+
+declare var axios: Axios.AxiosStatic;
+
+declare module "axios" {
+ export = axios;
+}