import { Type } from './types'; import { AsyncLoadOptions } from './LoadOptions'; /** * module loader interface for ioc. * * @export * @interface IModuleLoader */ export interface IModuleLoader { /** * load modules by patterns * * @param {AsyncLoadOptions} options * @returns {Promise<(Type | object)[]>} * @memberof IModuleLoader */ load(options: AsyncLoadOptions): Promise<(Type | object)[]>; /** * load module from file. * * @param {string} file * @returns {(Type | object | Promise | object>)} * @memberof IModuleLoader */ loadModule(file: string): Type | object | Promise | object>; }