UNPKG

1.3 kBTypeScriptView Raw
1import { Abstract } from '../abstract.interface';
2import { Type } from '../type.interface';
3import { DynamicModule } from './dynamic-module.interface';
4import { ForwardReference } from './forward-reference.interface';
5import { Provider } from './provider.interface';
6/**
7 * Interface defining the property object that describes the module.
8 *
9 * @see [Modules](https://docs.nestjs.com/modules)
10 *
11 * @publicApi
12 */
13export interface ModuleMetadata {
14 /**
15 * Optional list of imported modules that export the providers which are
16 * required in this module.
17 */
18 imports?: Array<Type<any> | DynamicModule | Promise<DynamicModule> | ForwardReference>;
19 /**
20 * Optional list of controllers defined in this module which have to be
21 * instantiated.
22 */
23 controllers?: Type<any>[];
24 /**
25 * Optional list of providers that will be instantiated by the Nest injector
26 * and that may be shared at least across this module.
27 */
28 providers?: Provider[];
29 /**
30 * Optional list of the subset of providers that are provided by this module
31 * and should be available in other modules which import this module.
32 */
33 exports?: Array<DynamicModule | Promise<DynamicModule> | string | symbol | Provider | ForwardReference | Abstract<any> | Function>;
34}