Microsoft/TypeScript

Strange "Cannot use namespace 'Foo' as a type" error with dummy `declare module "foo";` declaration

Open

#27,311 opened on Sep 24, 2018

View on GitHub
聽(12 comments)聽(18 reactions)聽(0 assignees)TypeScript聽(48,455 stars)聽(6,726 forks)batch import
BugDomain: Error MessagesHelp Wanted

Description

Maybe this is a question, but it has come up multiple times on Stack Overflow (most recently here) without a good answer, so I'm asking it here.

TypeScript Version: master (03af107)

Search Terms: "cannot use namespace" "as a type" TS2709 "declare module"

Code

declare module "foo";

declare module "bar" {
    import { Foo } from "foo";
    let x: Foo;
}

Expected behavior: An error that makes sense, or no error?

Actual behavior: error TS2709: Cannot use namespace 'Foo' as a type.

Playground Link: link

Related Issues: None found

Contributor guide

Strange "Cannot use namespace 'Foo' as a type" error with dummy `declare module "foo";` declaration 路 Microsoft/TypeScript#27311 | Good First Issue