import { StorageRef } from '../storage/StorageRef'; import { SystemNodeInfo } from '../../entities/SystemNodeInfo'; import { NodeRuntimeInfo } from './NodeRuntimeInfo'; import { SystemInfoRequestEvent } from './SystemInfoRequestEvent'; import { Invoker } from '../../base/Invoker'; import { ILoggerApi } from '../logging/ILoggerApi'; import { IEntityController } from '../storage/IEntityController'; export declare class System { static NAME: string; static enabled: boolean; invoker: Invoker; storageRef: StorageRef; semaphore: import("@allgemein/base").Semaphore; /** * Use entity controller to handle values */ controller: IEntityController; updateTimer: any; /** * Information about this runtime enviroment */ info: NodeRuntimeInfo; /** * Information about this node */ node: SystemNodeInfo; /** * Information about other runtime enviroments */ nodes: SystemNodeInfo[]; /** * */ _registered: boolean; /** * Logger instance for this class */ logger: ILoggerApi; static isDistributionEnabled(): boolean; static enableDistribution(b?: boolean): void; constructor(); initialize(hostname: string, nodeId: string, instNr?: number): Promise; getNodeId(): string; onNodeInfo(nodeInfo: SystemNodeInfo): Promise; getNodesWith(context: string): SystemNodeInfo[]; getAllNodes(): SystemNodeInfo[]; getRemoteNodes(): SystemNodeInfo[]; gatherCurrentNodeInfos(): Promise; getNodeInfos(nodeIds?: string[]): Promise; updateNodeRuntimeInfo(): void; /** * Act on info request event and send the * system runtime informations back * * @param event */ onInfoRequest(event: SystemInfoRequestEvent): Promise; /** * Register this system node */ register(): Promise; /** * Method for unregister blocking objects on system onShutdown */ unregister(): Promise; idle(): Promise; offline(): Promise; private save; }