正解は「基本的にはどちらでも良いが、拡張性を持たせたい場合はinterfaceが推奨されることが多い」です。interfaceは宣言のマージが可能ですが、typeはより複雑な型(ユニオン型など)を表現できます。