TSConfig の compilerOption に stripInternal という設定があります。 TSConfig Reference #Strip Internal この設定を有効にすると、JSDoc に @internal を指定したコード(クラス、メソッド、変数、関数)がコンパイル時に生成される .d.ts へ出力されなくなります。 これにより、C# や Kotlin の internal、Java の package private のようなアクセス修飾子相当の振る舞いを TypeScript で実現できます。 TypeScript では、export を使ってコンパイル後のモジュールを構成する必要がありますが、モジュール内部に閉じたアクセス制御を行うことはできません。stripInternal を設定することで、モジュール内でのみ公開するコードを明示的に指定できます。