import 'reflect-metadata'; import { Container } from '@artus/injection'; import { ArtusStdError } from './exception'; import { HookFunction, LifecycleManager } from './lifecycle'; import { LoaderFactory, Manifest } from './loader'; import { Application, ApplicationInitOptions } from './types'; import ConfigurationHandler from './configuration'; import { LoggerType } from './logger'; export declare class ArtusApplication implements Application { manifest?: Manifest; container: Container; constructor(opts?: ApplicationInitOptions); get config(): Record; get configurationHandler(): ConfigurationHandler; get lifecycleManager(): LifecycleManager; get loaderFactory(): LoaderFactory; get logger(): LoggerType; loadDefaultClass(): void; load(manifest: Manifest, root?: string): Promise; run(): Promise; registerHook(hookName: string, hookFn: HookFunction): void; close(exit?: boolean): Promise; throwException(code: string): void; createException(code: string): ArtusStdError; protected addLoaderListener(): void; protected updateConfig(): void; }