UNPKG

polyv-live-cli

Version:

CLI tool for managing PolyV live streaming services.

36 lines 1.29 kB
import { EventEmitter } from 'events'; import { BaseComponent } from './base.component'; import { ComponentConfig, ComponentState } from '../types/monitoring'; export interface ComponentFactory { type: string; create(config: ComponentConfig, eventBus: EventEmitter): BaseComponent; } export declare class ComponentRegistry { private factories; private components; private eventBus; constructor(eventBus: EventEmitter); private setupEventListeners; registerFactory(factory: ComponentFactory): void; unregisterFactory(type: string): void; getRegisteredTypes(): string[]; hasFactory(type: string): boolean; createComponent(config: ComponentConfig): BaseComponent; getComponent(componentId: string): BaseComponent | undefined; getAllComponents(): BaseComponent[]; getComponentsByType(type: string): BaseComponent[]; getComponentStates(): ComponentState[]; removeComponent(componentId: string): boolean; removeAllComponents(): void; getComponentCount(): number; getHealthStatus(): { total: number; running: number; error: number; initializing: number; paused: number; destroyed: number; }; destroy(): void; } //# sourceMappingURL=component-registry.d.ts.map