I have a d.ts file with a variable declaration, like this:
declare var $: () => SomeValue;
And it is works good, in other places i can use this variable without import.
But, when i add some import from another module, this variable is not visible from other code.
import { SomeValue } from "./SomeModule";
declare var $: () => SomeValue;
What the syntax for this need?
When .d.ts
files use export
or import
, they become treated as a module
instead of as ambient typings
.
However you can still add to the global namespace using declare global
. This allows you to augment global types, and even add new global types:
.d.ts
import { SomeValue } from "./SomeModule";
declare global {
interface Window {
$: () => SomeValue;
}
interface SomeGlobalInterface {
x: number;
}
}
.ts
// () => SomeValue
window.$
let value!: SomeGlobalInterface;
value.x;