import { IDatabaseConnection } from "@js-soft/docdb-access-abstractions"; import { ILokiJsDatabaseFactory, LokiJsConnection } from "@js-soft/docdb-access-loki"; import { ILoggerFactory } from "@js-soft/logging-abstractions"; import { EventBus, Result } from "@js-soft/ts-utils"; import { ICoreAddress } from "@nmshd/core-types"; import { ModuleConfiguration, Runtime, RuntimeHealth, RuntimeServices } from "@nmshd/runtime"; import { AppConfig, AppConfigOverwrite } from "./AppConfig"; import { AppStringProcessor } from "./AppStringProcessor"; import { IUIBridge } from "./extensibility"; import { IAppLanguageProvider, INotificationAccess } from "./infrastructure"; import { IAppRuntimeModuleConstructor } from "./modules"; import { AccountServices, LocalAccountSession, MultiAccountController } from "./multiAccount"; export declare class AppRuntime extends Runtime { readonly notificationAccess: INotificationAccess; readonly appLanguageProvider: IAppLanguageProvider; private readonly databaseFactory?; constructor(appConfig: AppConfig, loggerFactory: ILoggerFactory, notificationAccess: INotificationAccess, appLanguageProvider: IAppLanguageProvider, databaseFactory?: ILokiJsDatabaseFactory | undefined, eventBus?: EventBus); get config(): AppConfig; private _uiBridge; private _uiBridgeResolver?; uiBridge(): Promise | IUIBridge; registerUIBridge(uiBridge: IUIBridge): Result; protected readonly databaseConnection: LokiJsConnection; private _multiAccountController; get multiAccountController(): MultiAccountController; private _accountServices; get accountServices(): AccountServices; private readonly sessionStorage; getSessions(): LocalAccountSession[]; private readonly _stringProcessor; get stringProcessor(): AppStringProcessor; getServices(accountReference: string | ICoreAddress): Promise; selectAccount(accountReference: string): Promise; getOrCreateSession(accountReference: string): Promise; private currentSessionPromise; private createSession; private _createSession; getHealth(): Promise; protected initAccount(): Promise; static create(appConfig: (AppConfigOverwrite | AppConfig) | undefined, loggerFactory: ILoggerFactory, notificationAccess: INotificationAccess, appLanguageProvider: IAppLanguageProvider, eventBus?: EventBus, databaseFactory?: ILokiJsDatabaseFactory): Promise; protected createDatabaseConnection(): Promise; private static moduleRegistry; static registerModule(moduleName: string, ctor: IAppRuntimeModuleConstructor): void; protected loadModule(moduleConfiguration: ModuleConfiguration): Promise; start(): Promise; stop(): Promise; private startAccounts; } //# sourceMappingURL=AppRuntime.d.ts.map