UNPKG

polyv-live-cli

Version:

CLI tool for managing PolyV live streaming services.

51 lines 1.52 kB
import { EventEmitter } from 'events'; import { MonitoringConfig } from '../types/monitoring'; export interface ConfigManagerOptions { configDir?: string; autoSave?: boolean; backupConfig?: boolean; watchFiles?: boolean; } export interface ConfigBackup { timestamp: Date; version: string; config: MonitoringConfig; reason: string; } export interface ConfigValidationResult { valid: boolean; errors: string[]; warnings: string[]; } export interface ConfigWatcher { event: string; handler: (config: MonitoringConfig) => void; } export declare class ConfigManager extends EventEmitter { private config; private configDir; private configFile; private backupDir; private options; private fileWatcher?; private lastSaveTime; private saveDebounceTimer?; constructor(options?: ConfigManagerOptions); load(): Promise<MonitoringConfig>; save(config?: MonitoringConfig): Promise<void>; update(updates: Partial<MonitoringConfig>): Promise<void>; reset(selective?: string[]): Promise<void>; getConfig(): MonitoringConfig; validate(config: MonitoringConfig): ConfigValidationResult; private merge; private createBackup; private cleanupBackups; private ensureDirectories; private setupFileWatcher; private migrateIfNeeded; private mergeWithDefaults; private getDefaultConfig; destroy(): void; } export declare const configManager: ConfigManager; //# sourceMappingURL=config-manager.d.ts.map