TypeScript {}について

{}という型は一見すると空のオブジェクトを指すように見えますが、これはnull以外のすべての型を意味します。

Object型も同様です。

これは非常に誤解を生みやすく、落とし穴であるため、使用しないことが強く勧められています。

このコメントがわかりやすいです。

もし、空のオブジェクトという型を表現したいのであれば、Recort<string, never>を使用すると良いとされています。