diff --git a/types/index.d.ts b/types/index.d.ts index ba118e243..99a80bb6a 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -1,21 +1,17 @@ import "./vue"; -import * as R from "./router"; -// `VueRouter` in `export = VueRouter` must be a namespace -// All available types are exported via this namespace -declare namespace VueRouter { - export type RouterMode = R.RouterMode; - export type RawLocation = R.RawLocation; - export type RedirectOption = R.RedirectOption; - export type RouterOptions = R.RouterOptions; - export type RouteConfig = R.RouteConfig; - export type RouteRecord = R.RouteRecord; - export type Location = R.Location; - export type Route = R.Route; - export type NavigationGuard = R.NavigationGuard; -} +import { VueRouter } from "./router"; -// TS cannot merge imported class with namespace, declare a subclass to bypass -declare class VueRouter extends R.VueRouter {} +export default VueRouter -export = VueRouter; +export { + RouterMode, + RawLocation, + RedirectOption, + RouterOptions, + RouteConfig, + RouteRecord, + Location, + Route, + NavigationGuard +} from "./router"; diff --git a/types/router.d.ts b/types/router.d.ts index 60ad25e2c..15b5a82f4 100644 --- a/types/router.d.ts +++ b/types/router.d.ts @@ -1,4 +1,4 @@ -import Vue = require("vue"); +import Vue from "vue"; import { ComponentOptions, PluginFunction } from "vue"; type Component = ComponentOptions | typeof Vue; diff --git a/types/test/index.ts b/types/test/index.ts index 591181f67..2751de206 100644 --- a/types/test/index.ts +++ b/types/test/index.ts @@ -1,7 +1,7 @@ -import Vue = require("vue"); +import Vue from "vue"; import { ComponentOptions } from "vue"; -import VueRouter = require("../index"); +import VueRouter from "../index"; import { Route, RouteRecord, RedirectOption } from "../index"; Vue.use(VueRouter); diff --git a/types/vue.d.ts b/types/vue.d.ts index 37c3c44db..7c1d116d6 100644 --- a/types/vue.d.ts +++ b/types/vue.d.ts @@ -2,8 +2,8 @@ * Augment the typings of Vue.js */ -import Vue = require("vue"); -import VueRouter = require("./index"); +import Vue from "vue"; +import VueRouter from "./index"; import { Route, RawLocation, NavigationGuard } from "./index"; declare module "vue/types/vue" {