1 | import { IModule } from '@lskjs/module';
|
2 | export interface IModel {
|
3 | __model: boolean;
|
4 | }
|
5 | export declare type IModelKeyValue = {
|
6 | [name: string]: IModel;
|
7 | };
|
8 | export declare type IAsyncModel = IModel | Promise<IModel> | (() => IModel) | (() => Promise<IModel>);
|
9 | export declare type IAsyncModelKeyValue = {
|
10 | [name: string]: IAsyncModel;
|
11 | };
|
12 | export 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 |