polyv-live-cli
Version:
CLI tool for managing PolyV live streaming services.
51 lines • 1.52 kB
TypeScript
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