Are you experiencing the “cannot use namespace as a type” error in TypeScript?
This error can occur when you try to import types declared as a module. For example:
car.d.ts
declare module 'car' {
class Car {
color: string;
age: number;
maxSpeed: number;
}
}
index.ts
import Car from 'car';
// Cannot use namespace 'Car' as a type.
const user: Car = {
color: 'red',
age: 2,
maxSpeed: 120,
};
To fix this error, use an export assignment to specify a default export for the namespace, like this:
car.d.ts
declare module 'car' {
class Car {
color: string;
age: number;
maxSpeed: number;
}
export = Car;
}
Every Crazy Thing JavaScript Does
A captivating guide to the subtle caveats and lesser-known parts of JavaScript.
Sign up and receive a free copy immediately.