import { MetricsProvider } from '../core/infra/metrics/provider'; import { MCDNProvider } from '../core/servant/mcdn/provider'; import { NodeLauncher } from '../service/client/peer/launcher/node/launcher'; import { SwarmProvider } from '../service/client/swarm/provider'; import { TrackerLauncher } from '../service/client/tracker/launcher/launcher'; import { FilerProvider } from '../service/filer/provider'; import { AbstractComponent, AbstractComponentAgent, ComponentConstructor } from './base/component'; declare class SystemComponent extends AbstractComponent { constructor(); protected _initialize(): void; protected _create(): Promise; protected _destroy(): Promise; } declare class MetricsComponent extends AbstractComponent { protected _provider: MetricsProvider; constructor(); protected _initialize(): void; protected _create(): Promise; protected _destroy(): Promise; } declare class FilerComponent extends AbstractComponent { protected _provider: FilerProvider; constructor(); protected _initialize(): void; protected _create(): Promise; protected _destroy(): Promise; } declare class MCDNComponent extends AbstractComponent { protected _provider: MCDNProvider; constructor(); protected _initialize(): void; protected _create(): Promise; protected _destroy(): Promise; } declare class TrackerComponent extends AbstractComponent { protected _launcher: TrackerLauncher; constructor(); protected _initialize(): void; protected _create(): Promise; protected _destroy(): Promise; } declare class NodeComponent extends AbstractComponent { protected _launcher: NodeLauncher; constructor(); protected _initialize(): void; protected _create(): Promise; protected _destroy(): Promise; } declare class SwarmComponent extends AbstractComponent { constructor(); protected _provider: SwarmProvider; protected _initialize(): void; protected _create(): Promise; protected _destroy(): Promise; } type ComponentMeta = { constructor: ComponentConstructor; dependencies: string[]; }; declare class ComponentAgent extends AbstractComponentAgent { static readonly METAS: Map; static readonly MODE_BUNDLE: Map; protected get _metas(): Map; protected get _modeBundles(): Map; } export { SystemComponent, MetricsComponent, FilerComponent, MCDNComponent, TrackerComponent, NodeComponent, SwarmComponent, ComponentAgent };