# Provider

**Kind:** Type

**Source:** [`packages/common/interfaces/modules/provider.interface.ts`](https://github.com/nestjs/nest/blob/master/packages/common/interfaces/modules/provider.interface.ts#L10)

**Part of:** [Common](subsystem-packages-common)

## Definition

```ts
| Type<any> | ClassProvider<T> | ValueProvider<T> | FactoryProvider<T> | ExistingProvider<T>
```

## Used by

16 references from 16 files. Each is a place in this repository where the symbol is actually used — go read one rather than trusting an example.

### Imported by (16)

- `requestProvider` — `packages/core/router/request/request-providers.ts`:5
- `HelloModule` — `integration/inspector/src/circular-hello/hello.module.ts`:6
- `HelloModule` — `integration/scopes/src/circular-hello/hello.module.ts`:6
- `HelloModule` — `integration/scopes/src/circular-transient/hello.module.ts`:7
- `HelloModule` — `integration/scopes/src/hello/hello.module.ts`:6
- `HelloModule` — `integration/scopes/src/msvc/hello.module.ts`:7
- `HelloModule` — `integration/scopes/src/transient/hello.module.ts`:7
- `ClientsModule` — `packages/microservices/module/clients.module.ts`:17

…and 8 more.
