npmPackageType

	typeScriptDeclaration
		needs
			direct model deps
			transitive tsd deps
			all classes not covered by depended TSDs
			split to gmType/jsinterops


		my-tsd.d.ts
			/// <reference path="./gm-tsd.static.d.ts" />
			/// <reference path="./gm-tsd.jsinterop.d.ts" />
			/// <reference path="./gm-tsd.types.d.ts" />
			import "my-dep-model"
			import "my-dep-tsd"

		my-tsd.static.ts
			/// <reference path="./gm-tsd.d.ts" />

			type integer = number;...

		my-tsd.jsinteropd.ts
			/// <reference path="./gm-tsd.d.ts" />

			[static file content if possible] (relevant for gm-core-api)

			[TS declarations for all classes not covered by depended tsds]


		my-tsd.types.d.ts // only relevant for gm-core-api (other than models)
			/// <reference path="./gm-tsd.d.ts" />
			// declaredGmType - THESE ARE FORWARDED TO MODELS
			declare namespace $T...


		NOT NEEDED: my-tsd.js
			export const meta = {
				groupId: "my.groupId",
				artifactId: "my-tsd",
				version: "1.0.420",
			}

	model

		needs
			direct model/TSD deps
			declaredGmTypes
			allGmType // including forwarded

		writes model declarations for models declared in artefact (excluding forward types)
		writes model for models declared in artefact (excluding forward types)

		my-model.d.ts
			/// <reference path="./my-model.types.d.ts" />
			import "gm-core-api" // possible
			import "my-dependency-model"

			// allGmTypes - INCLUDING FORWARDED
			export import GenericEntity = $T.com.braintribe.model.generic.GenericEntity;

		my-model.js
			import "gm-core-api" // possible
			import "my-dependency-model"
			export const meta = {...}
			// allGmTypes - INCLUDING FORWARDED

		my-model.types.d.ts
			/// <reference path="./my-model.d.ts" />
			// declaredGmTypes - EXCLUDING FORWARDED, they are written in their declaring artifact (gm-core-api)
			declare namespace $T....


	gwtTerminal
		assert
			we assume no entity types are declared here

		needs
			direct model deps
			transitive TSD dependencies
			all classes not covered by depended TSDs

		hc-js.d.ts
			/// <reference path="./hc-js.jsinterop.d.ts" />
			import "gm-core-api"
			import "my-dts"
			import "my-model"

		hc-js.js
			generated by GWT compiler + our linker
		hc-js.jsinterop.d.ts
			/// <reference path="./hc-js.d.ts" />
			declare namespace....
