1 | import { Container } from './container';
|
2 | import { GabliamConfig, GabliamPluginConstructor } from './interfaces';
|
3 | import { LoaderConfig, LoaderModule } from './loaders';
|
4 | import { PluginList } from './plugin-list';
|
5 | import { Registry } from './registry';
|
6 | /**
|
7 | * Gabliam
|
8 | */
|
9 | export declare class Gabliam {
|
10 | container: Container;
|
11 | config: object;
|
12 | /**
|
13 | * Registry
|
14 | */
|
15 | registry: Registry;
|
16 | /**
|
17 | * Module loader
|
18 | */
|
19 | loaderModule: LoaderModule;
|
20 | /**
|
21 | * Config loader
|
22 | */
|
23 | loaderConfig: LoaderConfig;
|
24 | /**
|
25 | * Plugin list
|
26 | */
|
27 | pluginList: PluginList;
|
28 | options: GabliamConfig;
|
29 | /**
|
30 | * Constructor
|
31 | * @param {GabliamConfig|string} options?
|
32 | */
|
33 | constructor(options?: Partial<GabliamConfig> | string);
|
34 | /**
|
35 | * Add a plugin
|
36 | * @param {GabliamPluginConstructor} plugin
|
37 | * Gabliam
|
38 | */
|
39 | addPlugin(plugin: GabliamPluginConstructor): Gabliam;
|
40 | /**
|
41 | * Add any plugins
|
42 | * @param {GabliamPluginConstructor[]} ...plugins
|
43 | * @returns Gabliam
|
44 | */
|
45 | addPlugins(...plugins: GabliamPluginConstructor[]): Gabliam;
|
46 | /**
|
47 | * Build gabliam
|
48 | * @returns Promise
|
49 | */
|
50 | build(): Promise<Gabliam>;
|
51 | /**
|
52 | * Build and start gabliam application
|
53 | * @returns Promise
|
54 | */
|
55 | buildAndStart(): Promise<Gabliam>;
|
56 | /**
|
57 | * Stop and destroy gabliam application
|
58 | * @returns Promise
|
59 | */
|
60 | stopAndDestroy(): Promise<Gabliam>;
|
61 | /**
|
62 | * Start gabliam application
|
63 | *
|
64 | * call all plugin.start
|
65 | * @returns Promise
|
66 | */
|
67 | start(): Promise<Gabliam>;
|
68 | /**
|
69 | * Stop gabliam application
|
70 | * call all plugin.stop
|
71 | *
|
72 | * @returns Promise
|
73 | */
|
74 | stop(): Promise<Gabliam>;
|
75 | /**
|
76 | * Destroy gabliam application
|
77 | * call all plugin.destroy
|
78 | *
|
79 | * @returns Promise
|
80 | */
|
81 | destroy(): Promise<Gabliam>;
|
82 | /**
|
83 | * Load config file and bind result in APP_CONFIG
|
84 | */
|
85 | private _initializeConfig;
|
86 | /**
|
87 | * Binding phase
|
88 | * Binding of config and service classes.
|
89 | * call all plugin.bind
|
90 | */
|
91 | private _bind;
|
92 | /**
|
93 | * Config phase
|
94 | */
|
95 | private _loadConfig;
|
96 | }
|