## 概要 以下の型定義があったとき。 `types.d.ts` ```ts export type Mimizou = { name: string; }; ``` 以下のコードはエラーになる。 `index.ts` ```ts // Cannot find name 'Mimizou'. (tsserver 2304) function hello(mimizou: Mimizou) { console.log(mimizou.name); } ``` 以下のようにimportすればもちろん通るが... `index.ts` ```ts import { Mimizou } from "./types"; function hello(mimizou: Mimizou) { console.log(mimizou.name); } ``` importなしでも使えるようにしたい。 ## やり方 プロジェクトルート、または `types` ディレクトリ配下に型定義ファイルを作成し、[[declare]]で定義すればよい。 `types.d.ts` ```ts declare type Mimizou = { name: string; }; ``` > [!question] プロジェクトルートや`types`ディレクトリ配下でなくても `.d.ts` ファイルであれば認識する気がする... 🤔 ### 上記でうまくいかない場合 `declare global`をつけてやっと認識するケースもあった。違いは謎。。。 `types.d.ts` ```ts declare global { namespace tp { namespace user { const fryTempura: () => typeof tempura; } } } ```