diff --git a/devTools/FC.d.ts b/devTools/FC.ts
similarity index 96%
rename from devTools/FC.d.ts
rename to devTools/FC.ts
index bbaee44babb1af4a845284118b9112eaf7a0a492..fd4791e0d7b58a8b2ecc51650d17a8b97f477b11 100644
--- a/devTools/FC.d.ts
+++ b/devTools/FC.ts
@@ -1,4 +1,5 @@
-declare namespace App {
+/// <reference path="../js/002-config/fc-js-init.js" />
+namespace App {
 	namespace Art {}
 
 	namespace Corporate {}
@@ -262,7 +263,7 @@ declare namespace App {
 			labelTagsClear: boolean;
 		}
 
-		class Rule {
+		declare interface Rule {
 			ID: string;
 			name: string;
 			condition: RuleConditions;
@@ -277,12 +278,12 @@ declare namespace App {
 		namespace DOM {
 			namespace Widgets { }
 
-			function makeElement<K extends keyof HTMLElementTagNameMap>(tag: K, content: string | Node, classNames: string | string[]): HTMLElementTagNameMap[K];
-			function appendNewElement<K extends keyof HTMLElementTagNameMap>(tag: K, parent: ParentNode, content?: string | Node, classNames?: string | string[]): HTMLElementTagNameMap[K];
+			declare function makeElement<K extends keyof HTMLElementTagNameMap>(tag: K, content: string | Node, classNames: string | string[]): HTMLElementTagNameMap[K];
+			declare function appendNewElement<K extends keyof HTMLElementTagNameMap>(tag: K, parent: ParentNode, content?: string | Node, classNames?: string | string[]): HTMLElementTagNameMap[K];
 		}
 		namespace View { }
 		namespace SlaveSummary {
-			type AppendRenderer = (slave: App.Entity.SlaveState, parentNode: Node) => void;
+			type AppendRenderer = (slave: FC.SlaveState, parentNode: Node) => void;
 
 			class AbbreviationState {
 				clothes: number;
@@ -561,7 +562,7 @@ declare namespace FC {
 
 	enum NoObject {
 		Value = 0
-	};
+	}
 
 	type SlaveStateOrZero = SlaveState | NoObject;
 
@@ -570,4 +571,4 @@ declare namespace FC {
 	interface GameVariables extends DefaultGameStateVariables, ResetOnNGPVariables {}
 }
 
-const V: FC.GameVariables;
+declare const V: FC.GameVariables;