/**
 * @description This should be the vue router type but it causes a lot of issues with mismatching versions so create
 * a separate interface for the route
 */
interface IRoute {
	path: string;
	name?: string;
	hash: string;
	query: { [key: string]: string };
	params: { [key: string]: string };
	fullPath: string;
	matched: Array<any>;
	redirectedFrom?: string;
	meta?: any;
}

export default IRoute;

type Dictionary<T> = { [key: string]: T };

/**
 * @description This should be the vue router type but it causes a lot of issues with mismatching versions so create
 * a separate interface for the route
 */
interface IRoute {
	path: string;
	name?: string;
	hash: string;
	query: Dictionary<string>;
	params: Dictionary<string>;
	fullPath: string;
	matched: Array<any>;
	redirectedFrom?: string;
	meta?: any;
}

export default IRoute;

--- 
+++ 
@@ -1,5 +1,3 @@
-type Dictionary<T> = { [key: string]: T };
-
 /**
  * @description This should be the vue router type but it causes a lot of issues with mismatching versions so create
  * a separate interface for the route
@@ -8,8 +6,8 @@
 	path: string;
 	name?: string;
 	hash: string;
-	query: Dictionary<string>;
-	params: Dictionary<string>;
+	query: { [key: string]: string };
+	params: { [key: string]: string };
 	fullPath: string;
 	matched: Array<any>;
 	redirectedFrom?: string;
Replace type dictionary with hardcoded type
