次のコード
interface Foo {
}
declare var Foo: {
new() : Foo;
}
module Bar {
export interface Baz {
}
export declare var Baz: {
new() : Baz;
}
}
function f(p:Foo) {
}
//function b(p:Bar.Baz) {
//}
正常にコンパイルされますが、最後の 2 行でコメントすると、tsc.exe は "Expected type"-Error を生成します。スコープ内で var を宣言すると、インターフェイス宣言が隠されているようです。
何か案は?