请教一个 类型声明的的问题

我想为现有项目添加类型声明,遇到 一个全局变量的属性添加了不起作用
// wechat.js

var metaclass = cc.Class({
    // ....
});
//  tt 是一个全局变量
tt.Wechat = new metaclass(); // 这句注释掉,能正常提示

// tt.d.ts

class TtWeChat {
    // ...
}

declare namespace tt {
    export var WeChat: TtWeChat;
}

// 在代码中使用 tt.Wechat 还是 any。
// 把 tt.Wechat = new metaclass(); 注释掉 倒是可以

declare var tt: {
    WeChat: TtWeChat;
};

或者

declare interface Window {
    // 全局变量
}

或者,在 wechat.ts 文件中,使用:

declare global {
    // 全局变量
}

实验了很久搞定了

tsconfig.json 中

"types": [
"./tt",     // OK
"./declarations/tt"   // 有问题
]

只要是把 d.ts 文件放入其他目录中就不行