# `NPM.TypesCompanion`
[🔗](https://github.com/elixir-volt/npm_ex/blob/v0.7.4/lib/npm/types_companion.ex#L1)

Suggests @types/* companion packages for dependencies that need TypeScript type definitions.

# `bundled`

```elixir
@spec bundled() :: [String.t()]
```

Returns bundled types packages.

# `has_own_types?`

```elixir
@spec has_own_types?(map()) :: boolean()
```

Checks if a package typically ships its own types.

# `orphaned_types`

```elixir
@spec orphaned_types(map()) :: [String.t()]
```

Returns packages that are @types/* but whose companion is not installed.

# `suggest`

```elixir
@spec suggest(map()) :: [%{package: String.t(), types_package: String.t()}]
```

Suggests @types/* packages for dependencies that likely need them.

# `types_package`

```elixir
@spec types_package(String.t()) :: String.t()
```

Returns the @types/* package name for a given package.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
