Когда я использую файл объявления типа, он должен использовать ключевое слово declare перед, например:
declare var a: number
declare let a: number
declare const a: 1
declare function a(b: number): string
declare class A { b(): number }
declare namespace A {}
type A = number
interface A { b?: string }
Почему бы не использовать ключевое слово declare перед интерфейсом или типом?
цитата https://github.com/Microsoft/TypeScript/issues/1940