typescript - använd en @types på en anpassat deklarerad variabel


Jag använder CesiumJs i Angular och har installerat @types/cesium i min app.

CesiumJs hanterar inte import på det här sättet korrekt för tillfället och de rekommenderar inte att importera det på det här sättet, och jag vill inte heller importera Cesium i varje fil bara för att få korrekt typning av alla metoder =>

import * as Cesium from 'cesium';

Istället måste vi deklarera en typ på följande sätt =>

declare var Cesium;

Så att appen antar att paketet är här och kompilerar.

Problemet är att jag har laddat ner @types/cesium och jag skulle vilja tillämpa typen Cesium på min deklarerade variabel, så att appen vet att Cesium finns där men också vilken typ den har.

Typen tilldelas så här när jag importerar Cesium (med importen):

(alias) namnrymden Cesium importera Cesium

så jag skulle vilja tilldela namnutrymmet som min typ

declare var Cesium: typeof Cesium;

men jag får

'Cesium' refereras till direkt eller indirekt i sin egen typannotering.

Så jag försökte fixa med

type CesiumType = typeof Cesium;

declare var Cesium: CesiumType;

Men nu förstår jag

Typalias 'CesiumType' refererar cirkulärt till sig självt.

Problemet är att namnet MÅSTE vara Cesium annars kommer det inte att fungera.

Hur anger jag en typ på min variabel korrekt?