import { Condition } from '@mlytics/core-ts/core/util/future'; import { AbstractComponent, AbstractComponentAgent } from './component'; declare abstract class AbstractSystemBooter { protected _condition: Condition; protected _componentPool: Map; protected _componentNames: string[]; protected _componentAgent: AbstractComponentAgent; get pool(): Map; set pool(value: Map); get names(): Array; set names(values: string[]); get isCrashed(): boolean; available(): Promise; protected abstract _initialize(): void; activate(): Promise; protected _activate(): Promise; protected _initializeSystem(): Promise; protected _buildComponentNames(): Promise; protected _makeComponentNames(): string[]; protected _sortComponentNames(names: string[]): void; protected _makeComponentWeights(names: string[]): Map; protected _countComponentWeights(names: string[], weights: Map): void; protected _buildComponentPool(): Promise; deactivate(): Promise; protected _deactivate(): Promise; protected _clearComponents(): Promise; protected _resetCondition(): void; } export { AbstractSystemBooter };