UNPKG

755 BTypeScriptView Raw
1import { IModule } from '@lskjs/module';
2export interface IModel {
3 __model: boolean;
4}
5export declare type IModelKeyValue = {
6 [name: string]: IModel;
7};
8export declare type IAsyncModel = IModel | Promise<IModel> | (() => IModel) | (() => Promise<IModel>);
9export declare type IAsyncModelKeyValue = {
10 [name: string]: IAsyncModel;
11};
12export interface IModelsModule extends IModule {
13 /**
14 * from constructor
15 */
16 __models?: IAsyncModelKeyValue;
17 /**
18 * overridable field
19 */
20 models?: IAsyncModelKeyValue;
21 /**
22 * overridable method
23 */
24 getModels(): IAsyncModelKeyValue | Promise<IAsyncModelKeyValue>;
25 model(nameOrNames: string | string[], ...args: any[]): Promise<IModel | IAsyncModelKeyValue>;
26}
27
\No newline at end of file